• # Dommage ...

    Posté par (site web personnel) . En réponse à la dépêche Langages et performances : les Français à l'honneur !. Évalué à 10.

    Salut,

    Je suis un peu déçu par la rédaction de la news. En effet, elle insiste beaucoup sur l'aspect benchmark lui-même, sans ouvrir le débat plus large sur l'utilisation de langages de haut-niveau. Du coup, le débat tient plus du troll mon langage est mieux que le tien, non, c'est le mien qu'il est le mieux, etc... (trolls qu'on a déjà dans la news sur OpenOffice et Java).

    Ce qui est intéressant, c'est de voir que les langages de haut niveau ne sont plus sous-performants par rapport à des langages comme le C de base. L'important, ce n'est pas de savoir si Ocaml s'exécute 0.5% plus vite que du Java ou du C++ dans tel cas précis, mais bien de voir que les performances globales des langages de haut niveau sont tout à fait honnêtes.

    À partir de là, on pourrait se demander si il ne serait pas judicieux d'arrêter de développer tous les logiciels avec des langages préhistoriques comme le C. Je ne dis pas ça parce que je ne sais pas programmer en C (je bosse sur de la programmation système, donc que du C), mais parce que pour moi coder gkrellm, thunderbird ou grisbi en C, c'est une perte de temps. Des langages de haut niveau existent, ils rendent le code plus lisible, plus abordable pour des contributeurs et ils permettent d'éviter les bugs foireux de débordement de buffers, de mémoire pas libérée et autres. Pour moi, ces langages de haut niveau, c'est vraiment un atout pour le programmeur. Pourquoi ne pas les utiliser plus massivement pour toutes les applications de bureau ?

    La performance ne me semble pas être la bonne raison : la plupart des logiciels "de bureau" ne font pas du calcul scientifique qui nécessite d'être optimisés aux petits oignons.

    En fait, j'ai l'impression que pour l'instant, le langage C est pris parce que c'est le seul suffisamment répandu. Aucun langage de haut niveau n'a vraiment réussi à s'imposer : ni Ocaml, ni Eiffel, ni Java, ni C#.

    Quand je vois Novell qui essaie d'utiliser C# et Mono dans ses nouveaux outils et logiciels, je trouve que c'est plutôt une bonne idée. Une bonne idée dans le principe d'utiliser un langage de haut niveau, mais on sait tous que C# et Mono peuvent peut-être poser des problèmes (pouvoir de Microsoft ? brevets ?).

    Qu'en pensez-vous ? Pourquoi les applications sont-elles toutes développées en C ?