IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #81
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par Fayoul Voir le message
    (.../...)
    Aujourd'hui le coup du temps machine est moindre que le coup du temps d'un développeur...
    réponse d'ingénieur : ça dépend.

    Parceque par exemple sur de l'embarqué, spécialement à piles, toute action CPU bouffe de l'energie et donc de l'autonomie. Ce que tu dis est souvent vrai, mais il existe des cas ou décidément, il vaut mieux prendre du temps à optimiser.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  2. #82
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Points : 21
    Points
    21
    Par défaut
    Tout dépend de comment la matière avait été abordée !

    Langage de programmation de haut niveau = "..." dans la tête de leur professeur ?

  3. #83
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 49
    Points
    49
    Par défaut
    Je ne suis pas d' accord, il faut prendre en compte le développement et la qualité du langage:

    -faire un programme en C est plus difficile qu' en Java (c' est un exemple et c' est en général), un développeur peut plus facilement et plus rapidement faire un code "propre" en Java, celui-ce sera donc peut être plus rapide.
    plus le langage est bas niveau, plus il est proche de la machine. D' UNE machine. faire de l' asm sera peut être plus rapide pour 1 machine, mais quelques années plus tard, les machines auront évoluées . . . (cf real mode en 286 et 386)

    -cela dépend beaucoup du compilateur: pour avoir fait des tests brutes de tri par tas entre C et Java, j' ai été assez surpris de voir que le C n' est 'que' 30% plus rapide que le Java (environ)

  4. #84
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 28
    Points : 68
    Points
    68
    Par défaut
    Personnellement, je pense surtout que l'étudiant a du restituer tel quel ce qu'il a entendu en cours...

    Et après ça, avis personnel : à moins d'avoir un algorithme trivial, ou d'être le dieu des dieux comme programmeur, on a presque toujours un résultat plus rapide avec un langage de haut niveau de nos jours, car non seulement les compilateurs sont plus intelligents que la plupart des programmeurs (capables d'éliminer d'eux-même des parties redondantes ou inutiles dans un programme par exemple), mais surtout c'est essentiellement avec des langages de haut niveau qu'on arrive à s'y repérer une fois le programme fait, pour analyser où passe le temps (et la mémoire aussi d'ailleurs...). Et en général, on est bien surpris de voir où ça passe... et on ne l'aurait jamais trouvé de soi-même en programmant ex nihilo avec un langage bas niveau.

    Par contre, je ne dis pas qu'éventuellement, une fois qu'on a écrit un programme dans un langage haut niveau, qu'on l'a correctement analysé et totalement compris ce qui impacte les performances (donc a priori, on parle là d'un fragment de logiciel relativement restreint), il n'est alors pas impossible d'arriver peut-être à un résultat un peu plus rapide en le reprogrammant dans un langage bas niveau. Mais c'est bien rare que le jeu en vaille la chandelle... Personnellement je développe du logiciel scientifique en Java depuis près de 10 ans, je n'ai jamais eu le cas d'une situation où on aurait eu besoin d'aller voir ailleurs pour des questions de performances.

  5. #85
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 28
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    réponse d'ingénieur : ça dépend.

    Parceque par exemple sur de l'embarqué, spécialement à piles, toute action CPU bouffe de l'energie et donc de l'autonomie. Ce que tu dis est souvent vrai, mais il existe des cas ou décidément, il vaut mieux prendre du temps à optimiser.
    Ce à quoi j'ajouterais qu'on optimise nettement plus facilement dans un langage haut niveau que dans un langage bas niveau...

    Et questions performances, un langage haut niveau après une optimisation raisonnée et correctement conduite, ça bat n'importe quel langage bas niveau programmé "au pif".

  6. #86
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Sa réponse n'est pas stupide, et suit même une certaine logique. Je n'aurais pas mis 0 à cette réponse, même si elle ne répond pas à la question.

  7. #87
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 11
    Points
    11
    Par défaut La vitesse n'est pas tout
    Assurément, d'une manière générale, il a raison. Quoique d'aucuns prétendent que des programmes en langage de haut niveau puissent être plus rapide?!
    Peut-être en effet qu'un mauvais programme en langage de bas niveau est parfois, à ce point de vue, moins bon qu'un programme en langage de haut niveau.

    Je ne suis pas informaticien de métier mais je crois connaître Java et C++ pour avoir réalisé quelques extensions de logiciels importants. J'ai aussi dans ma jeunesse été automaticien et j'ai dû écrire des programmes pour animer des machines (mécaniques) très rapides. A l'époque (il y a trente ans), il fallait avoir balayé le programme (lu les nombreuses entrées, fait les traitements logiques et rafraîchi les sorties ) en moins de 20 ms. De plus certaines parties étaient traitées en interruption de cette tâche de fond. Nous programmions alors en assembleur ASM86 ou au plus en PLM directement sur la couche matérielle et il était inconcevable de faire autrement. Je doute un peu que les choses aient changé depuis.

    Néanmoins, l'aspect vitesse n'est qu'un aspect du problème qui sépare ces différents langage. Les langages de haut niveau permettent une abstraction de plus en plus grande et décuplent les possibilités du programmeur de manière parfois vertigineuse.
    Je ne suis pas très fort en dissertation donc je n'irai pas plus loin.

    Mais zéro c'est un peu sévère car la réponse est sensée même si elle reste très limitée.

  8. #88
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 214
    Points
    1 214
    Par défaut
    Citation Envoyé par falcon700 Voir le message
    l'assembleur, bas niveau est toujours le plus rapide, et les langages conviviaux de haut niveau sont forcément plus lents,
    Non, l'assembleur n'est qu'un langage qui présente la particularité de générer très peu d'instructions annexes une fois compilé, le programme résultant n'est pas "forcémment" plus rapide qu'un langage au niveau => ce n'est pas le langage qui fait la rapidité, ou plutôt la concision d'un programme...

    @Meaulnes :
    Ce que tu dit est vrai, aujourd'hui pour ces tâches, on utilise encore l'assembleur, mais parceque celui-ci permet une programmation très fine, alors que les compilations des langages de haut niveau appliquent en général des modèles génériques pour sortir des instructions, qui ne sont pas forcemment les plus adaptées pour la situation...

    The magic of Opera, La magie de l'Opera
    The mysteries of Space Opera, Les mystères de l'Opera Spatial
    Mr. Know-it-all, M. Je-Sais-Tout
    Prelude in C sharp minor, the most beautiful piano song and the best C sharp prelude ever, Prélude en do dièse mineur, le plus beau morceau de piano et le meilleur prélude au C#
    The Mesmerizing Saphir Division for Nerds, L'Hypnotisante Division Saphire pour les Nerds (HDSN)

  9. #89
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    @cs_ntd
    Bon ça me rassure. Je ne suis pas tout à fait à coté de mes chaussures malgré mon âge avancé.
    Je crois que tu as bien mis le point sur la chose essentielle. Le choix du langage dépend plutôt de la capacité à s'adapter à certaine spécificités du besoin. Ce n'est pas une question de performance temporelle.
    Et, comme tu le dis implicitement, sans les langages de haut niveau on ne pourrait pas s"élever très haut dans l'abstraction et aborder les choses sous leur aspect générique par exemple.

  10. #90
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Points : 16
    Points
    16
    Par défaut Bien résumer
    La réponse me fait rire mais il a pas tord .

    Langage bas niveau -> assembleur = bonheur de la machine = cauchemar du programmeur;

    Langage haut niveau -> java = effet contraire à assembleur

    Le prof n'est pas du tout philosophe !
    Allez ma note 8/10

  11. #91
    Membre confirmé
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Points : 534
    Points
    534
    Par défaut
    Double zéro au prof pour son prosélytisme rétrograde.
    Double zéro à l'élève pour son goût de l'aphorisme vulgaire.
    Et même une grande baffe à chacun pour les faire atterrir dans le monde réel !

    'Google' ou 'Skype' ont été développés en Delphi.
    Mais il n'a jamais été question, malgrè le succès de ces applications et les moyens financiers qu'elles ont engendrés, de les ré-écrire en asm pour obtenir de meilleures perf'.
    'faudrait p'têt se demander pourquoi avant de vouloir hiérarchiser les langages actuels avec des dogmes qui puent la vieille fripe !

  12. #92
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 90
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut réponse à ce problème de niveau de langage
    Il faut en effet mettre un zéro ... pour le professeur dont on cherche où est sa faculté d'analyse et d'interprétation.
    Il est certain que les programmes au plus bas niveau, donc en assembleur, sont les plus performants, et de très loin.
    Le problème est que l'incroyable complexité des CPU actuels ne permet plus cet usage, du moins si on doit être rentable.
    Dommage, mais irrémédiable.

  13. #93
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut
    Je donnerai la moitié des points, car il y a une réponse, mais complètement non argumentée. Ça fait que je donnerai la moitié des points pour cette réponse, car il manque la moitié de la réponse (l'argumentation).

  14. #94
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 29
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Caribensila Voir le message
    'Google' ou 'Skype' ont été développés en Delphi.
    Skype est développé en C++ ...
    T'entend quoi par "Google" ?

  15. #95
    Invité
    Invité(e)
    Par défaut
    Sa réponse est réductrice et caricaturale, ça manque de discernement, j'estime que le zéro est mérité. Chaque langage a ses forces et ses faiblesses mais on peut tout à fait concilier performance et lisibilité.

  16. #96
    Membre confirmé
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Points : 534
    Points
    534
    Par défaut
    L'interface utilisateur Windows a été développé en Pascal Object avec Delphi Win32, la version Linux en C++ avec Qt et celle de Mac OS X en Objective-C avec Cocoa.
    http://fr.wikipedia.org/wiki/Skype

  17. #97
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Citation Envoyé par Chauve souris Voir le message
    A ma gauche le C/C++ (bas niveau) on peut [...] même y mettre des bouts d'assembleur. On contrôle (ce qui ralentit) les paramètres comme on veut. Idéal pour les applis rapides techniques, lme graphisme et les jeux. Par contre, pour la gestion, c'est s'embêter pour rien car la vitesse dépend des petits doigts des utilisateurs et des accès BDD.

    A ma droite le Basic (Visual et autres).[...]Avec quelques détails de programmation ne serait-ce pas une bonne réponse ?
    Pourquoi introduire 4 comparses. Deux suffisent.
    Asm vs C++. Bas only vs multi-niveaux & directions dont assez haut mine de rien.
    A niveau de compétence médians, le binaire issu du C++ a toute les chances d'avoir de meilleures perf. Pourquoi ? Parce que les compilos savent exploiter pour nous pipeline (i.e. les déroulages de boucles) & cie, ou même remplacer une multiplication par 247 par les décalages de bits et autres additions qui sont plus les efficaces sur la plateforme cible.

    L'étudiant a pondu une approximation qui était vraie il y a 10 ans (et encore) avec la masse de développeurs. (Et je ne parle même pas des recompilations à la volée que permettent certains environnements)
    Sous-entendu : un développement asm qui cible la plateforme exacte sera bien évidemment plus rapide. Mais le boulot exigé est titanesque, non maintenable (nouvelle génération du proc, maintenant c'est mul qui est plus rapide que les shift + add, que fait-on ? On change toutes les multiplications dans le code, on indique au compilo C/C++ qu'elle est la nouvelle cible?), et pas vraiment portable.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  18. #98
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Chacun son rôle
    Comme je le suggérais plus haut dans la discussion. Il n'y a pas antagonisme entre les différents langages. Le langage de bas niveau peut-être nécessaire quand on est très près de la couche matérielle et que l'on veut régler des problèmes très ciblés et très spécifiques.
    Par contre, dès qu'on s"éloigne de ce niveau matériel, les langages évolués deviennent rapidement plus performants car mieux optimisés après compilation et surtout plus aptes à manipuler des niveaux d'abstraction de plus en plus élevés.
    Donc chacun sont rôle, en toute complémentarité.

  19. #99
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Ce serait intéressant d'avoir des propositions de réponse à la question posée (d'ailleurs sans avoir aucune information sur la teneur du cours).
    Libre à d'autres membres de noter ces réponses.
    Par ailleurs, quelles sont les opinions de professeurs (cad des confrères de celui qui a donné le cours, posé la question et mis 0 à la réponse).

  20. #100
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Ce que l'on ne vous dit pas, c'est que l'élève est un étudiant de philosophie qui a pris le pari d'avoir une bonne note à un devoir de langage informatique.

    Visiblement, il a perdu...

Discussions similaires

  1. Langages haut et bas niveau
    Par Ade14 dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 02/10/2014, 18h01
  2. Réponses: 67
    Dernier message: 16/12/2007, 13h41
  3. Quelles différences entre TDBGrid et TJvDBGrid ?
    Par bds2006 dans le forum Delphi
    Réponses: 2
    Dernier message: 12/06/2006, 14h35
  4. [Type Sql] Quelles différences entre ces bases ?
    Par wonderboy dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 16/03/2006, 09h38
  5. Quelle différence entre "réel simple" et "déc
    Par pyxosledisciple dans le forum Access
    Réponses: 2
    Dernier message: 11/01/2006, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo