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. #61
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ymajoros Voir le message
    Beaucoup de gens ont l'air de dire que ce qu'il dit est vrai. Ce n'est pas le cas !

    Un langage "de haut niveau" peut être quasiment aussi rapide, voire théoriquement/occasionnellement *plus rapide* que du code bas niveau. Eh oui, même si ça parait impossible : un compilateur de langage haut niveau peut faire du code optimisé qu'on peut difficilement battre à la main (certainement si on prend en compte le temps que ça prendrait). Avec des informations précises sur l'algorithme exécuté (typage, ...), il est possible de faire des optimisations spécifiques à la compilation et à l'exécution.
    Si on prend l'exemple de l'assembleur et du C le même problème amènera à un codage TRES diffèrent et non a une traduction du genre C vers assembleur.
    Qui gagnera? L'assembleur!
    Le meilleur compilateur du monde ne peut pas comprendre ce que l'on veut faire mais seulement appliquer les optimisations qu'il est programmé à faire.
    Bien sur comme il le fait automatiquement on a (en moyenne, hein) un code bien optimisé voir plus rapide...
    Donc je trouve qu'il a raison, l'étudiant il a très bien compris que le code de haut niveau est "facile" et que derrière c'est le compilateur qui optimise bien et que ça donne du code pas mal( avec des perfs acceptables financièrement c'est le but ) .

  2. #62
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ce n'est pas ce que le prof attendait comme réponse à mon avis, pas assez détaillée. J'aurais mis 1.

  3. #63
    Membre averti Avatar de ogaby
    Inscrit en
    Août 2008
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 167
    Points : 319
    Points
    319
    Par défaut
    Il n'a même pas cité les niveaux de langages. En lisant, on peut deviner qu'il parle du bas et du haut niveau... ouais mais en devinant.

  4. #64
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Il a pas tord, je partage son avis.

    Cependant :

    L'étudiant y répond à la question qui demande de décrire la hiérarchie des langages de programmation et l'usage de chaque niveau.
    Il n'a donc pas répondu à la question. Donc zéro. C'est un peu vache, mais justifié, je trouve.

    Une bonne réponse aurait certainement plutôt ressemblée à :

    Haut niveau => souvent facile / rapide à programmer => utilisé pour des besoins urgent ou par des non-informaticiens (macros, tout ça...) => peu rapide car beaucoup de travail laissé à l'ordinateur

    ....
    ....

    Bas niveau => souvent complexe/lent à programmer => utilisé pour des programmes dont le temps d’exécution est "critique" car très souvent rapide à exécuter
    Ce qui revient au même, mais répond à la question.

    Pour ce qui est de la lenteur d'un programme, le programmeur est au moins autant en cause que le langage.

  5. #65
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    599
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 599
    Points : 2 024
    Points
    2 024
    Par défaut
    Citation Envoyé par valkirys Voir le message
    La question est stupide (...)
    C'est cette deuxième solution qui était demandé mais bon "à question idiote, réponse idiote".
    Je suis désolé, mais je ne suis pas d'accord.
    La question serait stupide posé dans un autre contexte.

    Là il s'agit, pour un prof, de déterminer si l'élève à compris (ou connait) les différentes formes de langage et leurs champs d'applications.

    Qu'un élève soit capable d'expliquer les différences entre des langages de type C/C++ et ceux de type Java/.Net ou encore PHP tout en indiquant, dans les grandes lignes les avantages/inconvénients de chacun, ne me parait pas débile.

    Si en plus, il est capable de le faire sans tomber dans le dogmatisme, alors là, c'est un très bon.

    De toute façon tout le monde sait que le meilleur langage sur le meilleur OS, c'est Objective C sur Mac.
    --
    vanquish

  6. #66
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    599
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 599
    Points : 2 024
    Points
    2 024
    Par défaut
    Moi j'aurais mis l'élève devant un deal :
    L'assembleur est le plus rapide et il n'y a plus a discuter (c'est le fond de sa réponse) ?
    Intègre moi une animation au sein d'une page Web, compatible avec tous les navigateurs et écrite en assembleur !
    Si tu y arrive, je te met 20, sinon le 0 que tu as bien mérité.
    --
    vanquish

  7. #67
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    C'est un peu comme la réponse à la question "Qu'est ce que l'audace?". Effectivement la réponse "L'audace, c'est ça" est très perspicace mais lors d'un examen on demande surtout une explication.

    Je n'ai jamais fait de cours d'info, mais vu l'espace blanc qu'il y a je pense qu'un minimum d'argumentation était attendu.

    C'est un peu comme en math, arriver juste à un résultat c'est bien savoir y arriver est à mon sens encore mieux.

    Je pense qu'il a surtout voulu être joueur, il a joué et à ça le % de réussite est assez simple... c'est 50%. Malheureusement pour lui, il est pas tombé sur le bon 50%.

    Ce qui est malgré tout assez dommage c'est qu'il vient de griller 1/3 de la note total du paragraphe. J'espère pour lui que l'exam était pas sur 20 ^^.
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  8. #68
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par vanquish Voir le message
    Qu'un élève soit capable d'expliquer les différences entre des langages de type C/C++ et ceux de type Java/.Net ou encore PHP tout en indiquant, dans les grandes lignes les avantages/inconvénients de chacun, ne me parait pas débile.

    Si en plus, il est capable de le faire sans tomber dans le dogmatisme, alors là, c'est un très bon.
    Qu'il soit capable serait super mais un bon blabla justifie souvent une note ou une embauche (c'est de la com non?).
    Citation Envoyé par vanquish Voir le message
    De toute façon tout le monde sait que le meilleur langage sur le meilleur OS, c'est Objective C sur Mac.
    Pourquoi pas?
    Citation Envoyé par vanquish Voir le message
    Moi j'aurais mis l'élève devant un deal :
    L'assembleur est le plus rapide et il n'y a plus a discuter (c'est le fond de sa réponse) ?
    Intègre moi une animation au sein d'une page Web, compatible avec tous les navigateurs et écrite en assembleur !
    Si tu y arrive, je te met 20, sinon le 0 que tu as bien mérité.
    On le met prof, non?
    Citation Envoyé par Jiyuu Voir le message
    C'est un peu comme en math, arriver juste à un résultat c'est bien savoir y arriver est à mon sens encore mieux.
    La comparaisons est juste en gros faut être agrégé avec bac+5 pour comprendre un cours de math sup (comprendre en vrai pas seulement faire 3 démos et exercises).
    L'informatique c'est pareil on utilise 10% de ce l'on connait, le reste c'est pour connaitre les limites/cas d'utilisation des technos.
    (Pour les maths faut oublier c'est pour la sélection pas pour s'en servir, dans 95% des cas).

  9. #69
    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
    Que l'on prenne la rapidité de l'exe comme critère de hiérarchisation ou que l'on prenne la rapidité du développement, les réponses seront juste contraires.

    On sent donc bien que l'on est ici sur un site de développeurs et non pas sur un site d'apprentis comptables.

    Au fond, rien ne nous dit que c'est un étudiant en info dont on parle.
    Comme disait Einstein, tout est relatif.

  10. #70
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 125
    Points : 175
    Points
    175
    Par défaut
    Citation Envoyé par valkirys Voir le message
    Si on prend l'exemple de l'assembleur et du C

    [...]

    Donc je trouve qu'il a raison, l'étudiant il a très bien compris que le code de haut niveau est "facile" et que derrière c'est le compilateur qui optimise bien et que ça donne du code pas mal( avec des perfs acceptables financièrement c'est le but ) .
    Euh, sauf qu'il n'y a pas que l'assembleur et le C, il suppose alors qu'il y a 2 niveaux, "haut" et "bas" et rien d'autre. Je ne trouve vraiment pas qu'il a "très bien compris" ;-)

  11. #71
    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 spidermario Voir le message
    « Instructions d’interprétation » ? La JVM de Sun compile à la volée vers du code natif depuis un certain temps, déjà…
    Je voulais parler des instructions de la machine virtuel quand elle traduit le bitcode en code natif...

  12. #72
    Membre actif Avatar de lukeni2
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 92
    Points : 203
    Points
    203
    Par défaut
    ça réponse est tout a fait pertinente mais pas la réponse à question posée.

  13. #73
    Membre expert
    Avatar de Chauve souris
    Homme Profil pro
    amateur (éclairé ?)
    Inscrit en
    Novembre 2005
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Paraguay

    Informations professionnelles :
    Activité : amateur (éclairé ?)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 186
    Points : 3 086
    Points
    3 086
    Par défaut Rudimentaire mais juste réponse
    A ma gauche le C/C++ (bas niveau) on peut tout faire avec, même des con**ries, on peut (pouvait, je crois que c'est interdit dans Windows) 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). Pratiquement impossible de faire du graphisme avec ou alors des figures simples. Faut pas trop lui demander des appels système même s'il arrive à utiliser des fonctions qui ressemblent furieusement à des fonctions C. Idéal par contre pour la gestion, les formulaires, les tableaux.

    Avec quelques détails de programmation ne serait-ce pas une bonne réponse ?
    "Toute l'histoire de l'informatique n'a été que l'histoire des systèmes d'exploitations" (Le Manifeste du PC)

  14. #74
    Invité
    Invité(e)
    Par défaut
    Voila l'expérience qui parle! La même chose qu'un étudiant mais moins elliptique : 20/20

    expérience : habitude et ménagement de la susceptibilité de son entourage

  15. #75
    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
    Pour moi, la seule note acceptable pour cette réponse est 0

    En effet, cette réponse prouve notament que :
    1) L'elève n'a rien compris à ce qu'est un language de programation
    2) N'a rien compris au fonctinonnement d'un executable

    Et au risque de paraphraser certaines personnes ici, je vais argumenter ce que j'ai dit :

    La sémantique du language est totalement INDEPENDANTE de la rapidité du programme. Donc, sa réponse n'est pas trop courte, n'est pas "assez juste", ni rien, cette réponse montre juste qu'il n'a pas compris la question .


    En gros :
    - la facilité avec laquelle j'écris un programme (user-friendly) n'a tout simplement rien a voir avec la rapidité du programme généré d'après le code (pour le même algo).
    - un langage facile a comprendre pour un ordinateur (computer friendly)? Yen a pas ! Il n'existe que des jeu d'instruction binaires qu'un proc peut comprendre (et cela ne respecte aucune syntaxe, et ya pas de compilation ni rien).
    - donc bien sûr, tous les programmes seront aussi rapide sur le même processeur !!!! Même ceux écris en Java ! en assembleur ! (au final, tous les programmes, générés a partir de n'importe quel langage, finiront par être des instructions binaires !!!)

    En fait tout cela vient d'une confusion quand on parle de "rapidité d'un langage". Nous devrions dire : "temps necessaire pour arriver a un certain résultat pour un ensemble d'instructions écrites dans un langage donné, qui aura été préalablement compilé par un compilateur donné". Mais bien sûr cest plus long
    Ca traduit ce que certains ont dit : "En C++, déclarer une variable prendra tant d'instructions, en assembleur tant d'autre".
    Cette "rapidité" du langage, vient en fait de la traduction instruction binaire qui a été faites, de l'optimisation effectuée par le compilateur. Pas du langage !



    Tout ça pour dire que : La facilité d'écriture d'un fichier texte avec certaines règles (C++, Java, assembleur (oui ce n'est qu'un fichier texte qui ne fait rien l'assembleur), ...), et sa concision, sa proximité syntaxique avec le jeu d'instruction binaire,
    c'est différent, cela n'a rien a voir, avec les instruction binaires qui auront été générée.

    Donc on pourrait par faitement imaginer (et peut-être qu'il existe) un langage dit "haut niveau", c'est à dire avec beaucoup d'abstraction par rapport au jeu d'instruction du proc, qui donne de meilleurs résultats (une fois compilé) qu'un langage plus proche du jeu d'instructions du proc (plus bas niveau).



    (et soit dit en passant, les langages interprétés (javascript, perl), ou "semi interprété" comme Java, C#..., il faut prendre aussi la qualité de la vm, de l'interpreteur (jvm pour java, wscript.exe pour javascript sur Windows...), et son optimisation par le compilateur du langage dans lequel il/elle aura été généré...).


    Voici pourquoi j'ai dit que l'élève n'avait rien compris à la question, et que ça réponse n'avait aucun sens



    Quand à la question, elle est assez ambigüe... Hiérarchie pourrait aussi désigner une hiérarchie par héritage du passé... euh en fait non peut-être pas
    Mais pour répondre à la question des "langages haut niveau/bas niveau", ma réponse aurait été en quelques mots :

    "Les langages haut niveau sont des langages qui possèdent le plus d'abstractions par rapport au jeu d'instruction binaire d'un processur, voir en devienne même indépendant via le compilateur (C++), puis même indépendant de la plateforme (Java).

    Les langages bas niveau sont au contraire des langages qui sont plus proche du jeu d'instruction d'un processeur, voir même sont quasi-identique, juste plus "human-readable", et dépendant entièrement de la plateforme.


    Le but d'un langage de haut niveau serait justement de "s'abstraire" du modèle du processeur, et de la plateforme et de se concentrer sur la conception du programme, son "coeur de métier".

    Le but d'un langage bas niveau serait justement de se rapprocher le plus possible de la plateforme pour optimiser de manière très précise le comportement d'un programme en fonction de la plateforme et du processeur."


    Bonsoir à tous

    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)

  16. #76
    Membre habitué
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2006
    Messages : 87
    Points : 144
    Points
    144
    Par défaut Ni l'un ni l'autre
    Je n'aurais peut-être pas mis zéro, mais pas plus de 5/20 : non seulement sa réponse est trop courte et non argumentée, mais encore et surtout elle fait abstraction de la qualité du code produit par le programmeur. Un programme écrit en assembleur par un goret sera moins rapide que le même écrit par un surdoué du Java... euh, non mauvais exemple, pour qu'il ait une chance d'être rapide j'aurais du écrire C, pas Java

    Ce qui est certain c'est que ce troll est aussi vieux que les premiers langages évolués !

  17. #77
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Assembleur = bas niveau = plus rapide
    Son prof est un nul et l'étudiant avait raison puisque c'est ce qui est enseigné depuis toujours, et ce que tous les développeurs savent : l'assembleur, bas niveau est toujours le plus rapide, et les langages conviviaux de haut niveau sont forcément plus lents, sans parler des interpréteurs, puisque le code est automatiquement transformé en assembleur par le compilateur ; de moins bonne qualité que s'il était généré par un bon programmeur dans ce dernier langage.

  18. #78
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut la note est méritée
    on demandait une synthèse des langages avec leur utilité voire si l'étudiant veut de lui-même aller plus loin les avantages et les inconvénients..

    Après que certains préfèrent les langages de plus bas niveau pour bien souvent maitriser la rapidité d'exécution, la gestion mémoire, etc.., que d'autres utilisent des langages de plus haut niveau pour permettre une plus grande lisibilité, maintenabilité, ne pas avoir à gérer certains aspect bas niveau pour se concentrer sur un développement plus fonctionnel pourquoi pas aussi mais c'est alors affaire de choix personnle

    Mais là tel n'est le but : on voulait une synthèse pour vérifier que l'étudiant avait une vision globale de ce qui se faisait et vérifier qu'il ait bien compris le but de chacun des langages
    Le candidat n'a pas répondu à la question pourtant claire -> la note est pleinement justifiée.

  19. #79
    Membre averti Avatar de ogaby
    Inscrit en
    Août 2008
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 167
    Points : 319
    Points
    319
    Par défaut
    Citation Envoyé par falcon700 Voir le message
    Son prof est un nul et l'étudiant avait raison puisque c'est ce qui est enseigné depuis toujours, et ce que tous les développeurs savent : l'assembleur, bas niveau est toujours le plus rapide, et les langages conviviaux de haut niveau sont forcément plus lents, sans parler des interpréteurs, puisque le code est automatiquement transformé en assembleur par le compilateur ; de moins bonne qualité que s'il était généré par un bon programmeur dans ce dernier langage.
    L'étudiant n'a pourtant pas parler d'assembleur ni d'autre langage. Il n'a pas parler non plus de langage bas niveau et de haut niveau.

  20. #80
    Nouveau membre du Club

    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Plutôt bien vue
    Aujourd'hui le coup du temps machine est moindre que le coup du temps d'un développeur...

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