[gull] langages et type systems

Philippe Strauss philou at philou.ch
Tue Aug 5 18:40:47 CEST 2008


On Aug 5, 2008, at 1:52 PM, Daniel Cordey wrote:

> Je suis toujours favorable a examiner d'autres langages et cela fait  
> longtemps
> que je veux jeter un coup d'oeil a OCAML. Malheureusement, je n'ai  
> plus le temps
> de m'octroyer ce luxe depuis plusieurs annees. Je me contente  
> d'investiguer des
> technologies immediatement utilisables ou ne necessitant que 15 a 30  
> minutes de
> lecture (et encore la je me montre asez selectif). Je deplore cet  
> etat de fait
> et je ne reve que de pouvoir investiguer quelques langages qui me  
> semblent
> interessants.

...

> Bon, c'est l'eternel compromis entre objets et procedures :-) J'en  
> suis arriver
> a la conclusion que la verite ne se trouve ni dans l'un, ni dans  
> l'autre, mais
> entre les deux. J'ai beaucoup "objectise"

...

> Oui, mais cela reste des langages academiques. S'il est vrais que  
> l'on peut
> conceptualiser une partie de chaque probleme, on en arrive tres vite  
> a la partie
> "camboui" qui necessite une approche beaucoup plus technologie- 
> informatique. On
> a beau isoler un maximum de ces besoins dans des librairies/modules  
> confines, on
> en est toujours reduit a devoir manipuler des accents, acceder a une  
> base de
> donnee, packer des donnees, lire des fichiers de configurations,  
> etc. Bien sur,
> avec du temps on peut tres bien envisager de tout conceptualiser ...


Hello,

A propos du temps et de l'énergie dispo pour apprendre un nouveau  
langage: aaarf, j'en ai
sans doute un peu plus que toi mais on peut pas dire que je sois  
satisfais de mon SLOCcount
d'ocaml par semaine/mois, ce même dans un simple cadre de projets de  
temps libre ;-)
Dure dure, à 30 et quelque, plus comme à 20-25 ans.. Merde suis déjà  
un vieux crouton.

Objets et procédures: le fonctionnel apporte une troisième corde à ton  
arc pour organiser, construire,
composer, factoriser ton code, notamment par les higher order function  
mais pas que ça, surtout par
des habitudes de travail propre à la prog fonctionnelle, qui  
d'ailleurs apporte bcp pour organiser son
code quand tu reprend un langage impératif.
(en tout cas avec ocaml qui supporte le fonctionnel, l'impératif et  
l'objet, haskell n'ayant pas d'impératif,
langage réservé aux hardcores fanatique de la prog fonctionelle - NB:  
je ne me verrais pas personnellement
utiliser haskell pour cette raison).

Langages académiques: je crois pas, en tout cas pas en lisant les les  
sources de soft ou librairie ocaml,
genre spamoracle est assez magnifique. Oh tu peux eventuellement te  
dire que du code propre comme
cela, l'auteur avait peut-être pas trop la pression des deadlines etc.

Perso c'est vraiment une démarche pragmatique: je m'intéresse au  
traitement du signal audio, C, j'ai plus
envie de me tapper du malloc et de la GUI en C, C++ jamais accroché,  
python et perl j'ai bcp apprécié l'expressivité,
mais c'est très lent pour du traitement du signal.
Ocaml génère du code, grosso-modo entre 10 et 25% plus lent que C,  
alors voilà un compromis qui me convient:
langage avec forte expressivité mais économe en CPU.

Tu retrouves, dans les structures de données d'ocaml, le même plaisir  
qu'avec Python, et l'apport du pattern matching
pour traiter des types de données "custom", notamment en arbre ou  
graph, ben c'est difficile de faire sans après y avoir touché.

A déconseiller fortement donc ;-) (c'est peut être pour qu'il se se  
démocratise pas des masses: bcp de personnes se
disent "merde, si j'y touche j'y reste crocher, faisons comme si cela  
n'existait pas". Je me souviens m'être dit cela un jour).

aplus

--
Philippe Strauss
philou at philou.ch







More information about the gull mailing list