[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