[gull] Commentaires avisés au sujet de Rust

Philippe Strauss phil at gnou.ch
Mon Dec 5 20:46:56 CET 2022


Personnellement j'ai fait Pascal -> C -> Python -> OCaml -> Rust, 
toujours pour faire des petites choses en audionumérique. Je parle de 
numcomp, mais c'est le domaine encore plus restraint de l'audionumérique 
qui a toujours été le seul vrai truc m'attirant vers la progr.

Borland pascal était lent sur un petit modulateur sigma-delta logiciel, 
j'avais essayé Borland C et c'était beaucoup mieux. Pour faire un 
pc-speaker. Sur un 486. Ensuite je suis passé à linux et X11, j'ai aussi 
taté du X Toolkit. Gcc c'est quand même vachement bien par rapport à 
Borland C 3.11 :)
Un peu de perl, puis je découvre python, nickel pour du scripting, mais 
j'estime qu'au delà de 300 - 500 lignes de python, t'as meilleurs temps 
de passer à autre chose.

Typique du typage "loose" de python ou javascript: l'autre jour je fais 
un script, et me suis arraché 3h les cheveux sur un truc que j'avais pas 
vu, dans une structure de donnée un peu imbriquée, j'avais mélangé des 
niveau d'imbrication entre liste de liste et tuples. La notation d'accès 
aux tableau en paranthèses carrées, ben l'interpréteur python ne pouvait 
pas détecter mon erreur, et je ne voyais pas pourquoi j'avais une Key 
error. Oui voilà, il y avais une liste de dict avec des tuples dedans. 
Génial pour ce genre de merde. Et très courant.

Javascript j'en ai fais que 3jours de ma vie, j'ai fuit pour les mêmes 
raisons, si ce n'est que c'est pire que python, la couche typescript par 
dessus est sans doute très bien venue.

OCaml j'ai été attiré par sa notion de fonction toute simple et plus 
généralement son bon niveau de perf. à l'époque les 2 threads 
d'execution étaient à peine sur le marché, donc le manque de multicore 
de caml n'était pas un problème. M'était dit tiens je peux peut-être en 
tiré qqchose pour mes sujets?
Pas si évident, pas pour le traitement online, ou difficilement, le GC 
de caml est très performant, qui plus est par rapport à Java, mais pas 
au point de faire du temps réél avec, c'est limite disons.

Au début, le typage statique super fort de Caml est ch..., mais au bout 
d'un moment c'est génial, tout ce que le compilo d'un de ces langages 
fonctionnel fortement typé laisse passer comme bug, ce ne sont plus que 
des erreur de raisonnement sur ton algos, mais plus les erreurs de 
raisonnement sur tes structures de données, allocations mémoire ou typos.

Avec Rust je cherche ceci avec les perfs et la soupless de C. Un entre C 
et OCaml, et le dév. de Rust est un type ayant bien cherché ceci, les 
premières version de Rust étaient écrit en OCaml.

Côté taille de la communauté, j'ai jamais eut le prob. de trouver des 
dév. pour mes langages de choix, pour le moment c'est que tu temps 
libre, ma programmation, dans mes divers boulot, j'ai du faire 500 
lignes de C, 350 de perl et 1200 de python, et c'est tout, rien d'autre.

Mon optique côté progr. c'est la petite entreprise de 1 à 3 personnes 
dans l'audionumérique, donc je forme le gars que j'engage à Rust et 
OCaml si cela était nécessaire. Faut pas choisir un bourrin, c'est 
claire, mais une entreprise de cette taille là de toute façon tu peux 
pas te permettre d'engager que lorsque tu tombes sur un bon. Qui plus 
est pour du traitement du signal, il y a une chiée de gars du traitement 
du signal qui ne savent pas programmer mais seulement faire un peu de 
scripting matlab. L'intersection des deux mondes, c'est plus rare, tu 
tomber moins facilement sur un pisseur de lignes de Java à mon avis.

A jauger de la qualité, diversité et vitesse des librairie Ocaml, 
Haskell, Rust, Agda, ATS, ben Haskell et OCaml ont de petite communauté 
de gens très doué, mais c'est pas l'adjectif confidentiel que 
j'utiliserai. Rien qu'au Gull on a eut été 3 chameaux, c'est pas rien. :)
Non mais ce sont des langages ou tu formes ton jeune employé, un type 
qui fait du C.
ATS et Agda sont confidentiel, à mon sens.
Rust à mon sens la communauté est bonne, au sens internet du terme, les 
forum reddit, les librairies, cela avance vite, je dis pas concernant 
l'embauche par contre.

Daniel, faut comme second projet informatique que tu nous dépoussières 
et pousses sur github ou gitlab ta lib. d'allocation en C, ça 
m'intéresse, même si je vais moins en faire avec Rust et le livre "a 
tour of C++", cela a l'air pô mal comme dirait titeuf.

Voilà pour les échanges d'emails tartines 4 fois l'an sur la liste 
pendant que tout le monde roupille ou se fait chier à courrir derièrre 
la dernière urgence au boulot. Heureusement qu'il y a les jeunes 
retraité et les lavages de cerveau de la fedpol pour animer ce forum :)

merci pour cette échange Danièl, bon carlage et a une prochaine.



More information about the gull mailing list