• [^] # Re: L'avenir des langages compilés pour les gros projets

    Posté par (site web personnel) . En réponse au journal De la difficulté de contribuer à des gros projets. Évalué à 4.

    Le programme est plus donc facile à lire et à comprendre pour un néophyte.
    Parfois il faut savoir être verbeux pour faciliter la compréhension. On a l'impression que t'as jamais eu à décrypter un script Perl toi :)

    La puissance des ordinateurs ne cessant d'augmenter, la lenteur des langages interpretés devient un mythe (*)
    Même si t'as une machine rapide, ton programme qui allait 20x plus vite ira toujours 20x plus vite. Vu que les programmes se complexifient, leur nombre de ligne de code augmente, bref t'aura toujours le problème.

    Les traitements devant être rapides peuvent être implémentés dans un langage de bas niveau.
    Pour la maintenance mélanger les langages c'est vraiment pas top.

    De plus, les langages interprétés modernes tendent à être de plus en plus efficaces, ruby, perl, python, etc...
    Gni ? Plus efficace que quoi ?

    La majeure partie de temps, une application moderne affiche des IHM. Ce qui se code très bien en langage interprété.
    Genre ca se code pas bien avec un langage non interprété. Et j'ose espérer que ton appli fait autre chose que d'afficher des fenêtres. La plupart des applications "modernes" comme tu dis ne doivent plus se contenter d'en foutre "plein la vue", elles doivent apporter de la valeure ajoutée, et donc des fonctionnalités, bref, faut les coder.

    Pas de problème de compilation, d'édition de liens, etc...
    Ah bah oui comme ca c'est plus simple : on évite de vérifier la syntaxe, on évite d'optimiser, mais ca ne t'assure d'aucune facon que ton programme est meilleur. Tes problèmes tu ne les recontreras peut être pas à la compilation, mais à l'exécution. En espérant que ca n'explose pas chez l'utilisateur.

    transtypage, gestion de mémoire, structures de données complexes, portabilité, etc...
    Quel est le rapport avec langage interprété/compilé ? Java ou C# sont compilés et ont les mêmes avantages.

    Tout ceci évite une grosse partie des bugs
    C'est vrai, mais dans la même idée un programme compilé est "vérifié", notamment au niveau du typage. Et c'est également une grosse partie de bugs en moins. Bref, en compilé c'est pareil, mais avec encore plus de vérifications, et en amont (donc pas pendant l'utilisation, qui est désastreux).

    En mode développeur, cliquer sur un bouton affichera le code associé, avec la possibilité de le modifier.
    Ainsi, chacun aura des applications ultra personalisées sur son Ordinateur.

    N'importe quoi. On a l'impression que tu oublies un point crucial : un programme doit une bonne partie de ses qualités à sa fiabilité, sa stabilité, etc. Les développeurs passent une bonne partie de leur temps à "valider" leur code grâce à des tests divers, aboutissant à des phases dites "betas" jusqu'à stabilité. Proposer à madame michu de taper du code juste en cliquant sur "mode développeur" c'est la porte ouverte à toutes les conneries, c'est l'impossibilité d'assurer la maintenance du programme (mise à jour) ou d'assurer un quelconque support technique.

    La programmation est l'expression de concept dynamique de manière statique. Chercher à modifier du code à l'exécution c'est d'abord la meilleure façon de s'assurer que la trace d'exécution est impossible à reproduire.

    Visiblement tu n'as pas bien saisie à quoi sert à un compilateur, et pourquoi il fait ce qu'il fait. Tu n'as également pas bien saisie pourquoi tous les "gros" projets choisissent de préférence un langage compilé. Faire un front-end graphique en Ruby ne pose pas de problème, réaliser un framework complet ou une application d'entreprise c'est autre chose : il faut des garanties en matière de qualité et de performances.