Je ressens une certaine aversion pour les "langages universitaires" (comprendre tout sauf le C ou les langages OO à classe "traditionnels"). Une expérience difficile à la fac ?
>C'est d'ailleurs pour ça que l'OS sur lequel vous écrivez ce message
>est écris en C et pas en erlang/caml/machin-tout-pourrave
Manque de bol, tu compares des langages qui n'ont pas grand chose à voir... Erlang (au contraire de Caml) est un langage spécialisé. Il n'a jamais été sa vocation de faire du bas niveau (nécessaire à un OS).
>de même que le navigateur, le moteur de rendu html
Ben merde, mon navigateur est un peu en vrai C++ et beaucoup en XML + Javascript.
>les OS des différents routeurs/servers par lesquels passent les
>messages HTTP, la lib qui encode ce-même http en https, et j'en
>passe.
Tu ne crois pas si bien dire. Erlang a été mis en oeuvre avec succès dans le routeur AXD301 d'Ericsson. Le résultat a été documenté, je pense que le pdf suivant est très explicite http://www.erlang.se/publications/Ulf_Wiger.pdf
Sinon il y a un serveur web en Erlang qui monte mieux en charge qu'Apache : Yaws (Yet another web server).
>A propos de jeux vidéos, c'est aussi pour ça que 99% des jeux
>vidéos sont écris en C et/ou en C++ (et quand je vois des
>bouquins sérieux comme les Game Programming Gems, ce n'est
>généralement pas du 'vrai' C++ mais plutôt du C avec des classes
>parce qu'il ne faut pas déconner), et surement leurs serveurs
>avec. Je sais bien qu'il y a des gens qui pensent que 80% de la
>lourdeur d'un jv vient des accès gc, mais bon...
Bah moi j'aurais dit que dans la plupart des jeux vidéos, le "core" nécessitant les grosses performances est codé en C/C++, et le reste en un langage de plus haut niveau ("UnrealScript" dans l'UnrealEngine, Python dans Civ4 et EVE Online...).
>Je pense que certains théoriciens qu ne pensent qu'à refaire le
>monde de la programmation à leur sauce parce qu'avant tout le
>monde il était crétin et que eux on la solution feraient mieux de
>revenir sur terre.
Et moi je pense que certaines personnes oublient rapidement que si l'informatique est là ou elle en est actuellement, et comment elle avance, c'est grâce à ces mêmes théoriciens, qui par définition réinventent souvent moins la roue que certains libristes.
Par ailleurs, tu compares beaucoup deux langages qui n'ont vraiment pas grand chose en commun : (O)Caml et Erlang. Clarifions les choses : Erlang est un langage fonctionnel spécialisé disposant de peu de traits impératifs (pas de boucles, etc), alors qu'OCaml se flatte d'être multi-paradigme et généraliste.
Contrairement à ce que tu sembles sous-entendre, Erlang n'est pas un délire théorique sorti de l'imagination embrumée d'un théoricien. C'est un projet conçu par Ericsson, utilisé dans l'industrie, avec une large gamme d'outils fournis. Il est vraiment conçu pour le dev. concurrent, et n'a jamais affirmé faire du bas niveau ou rivaliser avec le C concernant les performances pures. Beaucoup d'experts Erlang pensent qu'au contraire son futur passe par une entrée dans les moeurs académique, pour sortir un peu de l'industrie : en cela, il est l'exact inverse d'OCaml.
>Je suis de bonne fois, si quelqu'un me sort un OS en erlang/caml
>avec ses drivers, ses programmes (où un VRAI jeu vidéo), qui soit
>aussi rapide qu'un OS en C/asm, je ne dis pas que je commencerai
>à réfléchir un peu, mais en attendant, laissez moi le privilège du
>doute.
Du doute de quoi ? Qu'Erlang et Caml ne sont pas adaptés à l'écriture de code bas niveau extrèmement optimisé ? Bah alors je pense qu'on est d'accord. Mais ça n'a jamais été le sujet.
Sinon, je suppose que tu vas adorer House : http://www.cse.ogi.edu/~hallgren/House/
Un OS codé en Haskell, langage fonctionnel pur (on peut difficilement trouver meilleur "délire de théoricien" ;-)).
[^] # Re: Eheh
Posté par agmk . En réponse à la dépêche Erlang/OTP R11B supporte les architectures multiprocesseur. Évalué à 9.
>C'est d'ailleurs pour ça que l'OS sur lequel vous écrivez ce message
>est écris en C et pas en erlang/caml/machin-tout-pourrave
Manque de bol, tu compares des langages qui n'ont pas grand chose à voir... Erlang (au contraire de Caml) est un langage spécialisé. Il n'a jamais été sa vocation de faire du bas niveau (nécessaire à un OS).
>de même que le navigateur, le moteur de rendu html
Ben merde, mon navigateur est un peu en vrai C++ et beaucoup en XML + Javascript.
>les OS des différents routeurs/servers par lesquels passent les
>messages HTTP, la lib qui encode ce-même http en https, et j'en
>passe.
Tu ne crois pas si bien dire. Erlang a été mis en oeuvre avec succès dans le routeur AXD301 d'Ericsson. Le résultat a été documenté, je pense que le pdf suivant est très explicite http://www.erlang.se/publications/Ulf_Wiger.pdf
Sinon il y a un serveur web en Erlang qui monte mieux en charge qu'Apache : Yaws (Yet another web server).
>A propos de jeux vidéos, c'est aussi pour ça que 99% des jeux
>vidéos sont écris en C et/ou en C++ (et quand je vois des
>bouquins sérieux comme les Game Programming Gems, ce n'est
>généralement pas du 'vrai' C++ mais plutôt du C avec des classes
>parce qu'il ne faut pas déconner), et surement leurs serveurs
>avec. Je sais bien qu'il y a des gens qui pensent que 80% de la
>lourdeur d'un jv vient des accès gc, mais bon...
Bah moi j'aurais dit que dans la plupart des jeux vidéos, le "core" nécessitant les grosses performances est codé en C/C++, et le reste en un langage de plus haut niveau ("UnrealScript" dans l'UnrealEngine, Python dans Civ4 et EVE Online...).
>Je pense que certains théoriciens qu ne pensent qu'à refaire le
>monde de la programmation à leur sauce parce qu'avant tout le
>monde il était crétin et que eux on la solution feraient mieux de
>revenir sur terre.
Et moi je pense que certaines personnes oublient rapidement que si l'informatique est là ou elle en est actuellement, et comment elle avance, c'est grâce à ces mêmes théoriciens, qui par définition réinventent souvent moins la roue que certains libristes.
Par ailleurs, tu compares beaucoup deux langages qui n'ont vraiment pas grand chose en commun : (O)Caml et Erlang. Clarifions les choses : Erlang est un langage fonctionnel spécialisé disposant de peu de traits impératifs (pas de boucles, etc), alors qu'OCaml se flatte d'être multi-paradigme et généraliste.
Contrairement à ce que tu sembles sous-entendre, Erlang n'est pas un délire théorique sorti de l'imagination embrumée d'un théoricien. C'est un projet conçu par Ericsson, utilisé dans l'industrie, avec une large gamme d'outils fournis. Il est vraiment conçu pour le dev. concurrent, et n'a jamais affirmé faire du bas niveau ou rivaliser avec le C concernant les performances pures. Beaucoup d'experts Erlang pensent qu'au contraire son futur passe par une entrée dans les moeurs académique, pour sortir un peu de l'industrie : en cela, il est l'exact inverse d'OCaml.
>Je suis de bonne fois, si quelqu'un me sort un OS en erlang/caml
>avec ses drivers, ses programmes (où un VRAI jeu vidéo), qui soit
>aussi rapide qu'un OS en C/asm, je ne dis pas que je commencerai
>à réfléchir un peu, mais en attendant, laissez moi le privilège du
>doute.
Du doute de quoi ? Qu'Erlang et Caml ne sont pas adaptés à l'écriture de code bas niveau extrèmement optimisé ? Bah alors je pense qu'on est d'accord. Mais ça n'a jamais été le sujet.
Sinon, je suppose que tu vas adorer House :
http://www.cse.ogi.edu/~hallgren/House/
Un OS codé en Haskell, langage fonctionnel pur (on peut difficilement trouver meilleur "délire de théoricien" ;-)).