Re: [HS] Choix d'un langage interprété
>>>>> "Georges" == Georges Mariano <georges.mariano@inrets.fr> writes:
Serait-ce un troll que je vois poindre ?
Georges> "Stéphane Del Pino" wrote:
>> >>>>> "Georges" == Georges Mariano <georges.mariano@inrets.fr> writes:
>>
Georges> Que faut-il de plus pour s'y mettre ??
>> Deux réponses à deux questions :
>> - Efficacité des compilateurs ?
Georges> :-) 0) nous parlions initialement des langages interprétés ! mais
Georges> bon, je considère toutefois la remarque comme judicieuse parce
Georges> que ... Ocaml soutient la comparaison à la fois au niveau
Georges> interpréteur mais également au niveau compilateur !!
Oui, mais la liste non exhaustive des qualités que tu donnais à ocaml m'a fait
réagir, et puis puisqu'on est totalement hors sujet ...
Georges> 1) d'autre part, cette même remarque n'a pas de sens (!!)
Dis-donc ! :-)
[snip]
Georges> - efficacité du compilateur ?? vitesse à l'exécution, taille
Georges> du code obtenu ?? comment répondre... comparons bison/flex et
Georges> ocamllex/ocamlyacc, qui réalisent des traitements semblables ?
Georges> bison 75ko ocamlyacc 46ko flex 133ko ocamllex 86ko mais bof, ça
Georges> veut pas dire grand chose...
*A priori* de très loin, ça voudrait dire que ces codes ocaml sont moins
efficaces que leur équivalents C : un exécutable plus court c'est moins
d'inlining, de déroulement de boucles, ... (Je répète : *à priori*
[compilation avec les symboles debug, ...] ).
Georges> Pour quelqu'un travaillant dans un laboratoire d'analyse
Georges> numérique ;-), voici quelques pointeurs intéressants :
Georges> http://www.azstarnet.com/~dmcclain/LanguageStudy.html
Ben c'est vraiment dommage de comparer ces langages en oubliant de parler des
C++ template ... Surtout si on compare ensuite les performances des différents
exécutables.
Georges> http://www.cis.upenn.edu/~sumii/icfp/
Impressionnant, mais je pense que c'est avant tout la qualité des développeurs
et leur maîtrise du sujet qui permet d'atteindre un tel niveau.
>> - Qu'en est-il de la Meta-programmation ?
Georges> euh, c'est quoi la méta-programmation ?? quel genre de problème
Georges> ??
C'est écrire des programmes génériques comme ce qui est fait dans la Standard
C++ Library par exemple. Tu peux programmer un algorithme de tri sans te
préoccuper du type des objets triés. En C++, ceci est mis en oeuvre par
l'utilisation de template.
L'association template/objet conduit à des techniques très puissantes qui
permettent d'obtenir des performances équivalentes à du Fortran 77 en ayant
une expressivité équivalente à celle d'un matlab ! (Chose que ne permet pas
Fortran 9x).
voir http://www.extreme.indiana.edu/~tveldhui/papers/techniques/
[ attention c'est pas du C++ pour les grand-mères ;-) ]
Georges> PS : Je ne suis pas un gourou OCaml, loin de là, je dis juste que
Georges> C/Perl/Python/Java ne traduisent qu'une culture <<minimale(au
Georges> sens dénominateur commun)/immédiate>> et donc loin d'être
Georges> exhaustive...
Oui, mais comme tu l'as souligné je suis numéricien et étant membre d'une
communauté assez restreinte, les choix en matière de langage à l'heure
actuelle ne sont pas très nombreux :
- Fortran77/90/95
- C/C++
L'*un* des arguments en faveur du C++ est que c'est un langage *très* utilisé
en dehors du calcul scientifique => compilateurs libres, plus optimisés[1],
corrections de bugs plus rapides, ...
Voilà donc pourquoi je te posais ces questions ...
Stef.
Footnotes:
[1] on bénéficie des améliorations apportés à une grande part de la
communauté informatique. Ce qui n'est vraiment pas le cas pour les
langages comme fortran9x.
--
Laboratoire d'Analyse Numérique - Université Pierre et Marie Curie
Tel: (33)144277170, Fax: (33)144277200, Mobile: (33)662004924.
-+-
http://www.freefem.org
Reply to: