Re: [gull] Commentaires avisés au sujet de Rust

2022-12-05 Par sujet Philippe Strauss via gull
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.

___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Re: [gull] Commentaires avisés au sujet de Rust

2022-12-05 Par sujet Daniel Cordey via gull


Le 02.12.22 à 22:14, Philippe Strauss via gull a écrit :
es goûts, les couleurs, les opinions sur les langages de
programmation, c'est pas x-files, c'est pas inexplicable, c'est comme 
tellement de chose une histoire de mémoire, d'expériences, dans tous les 
sens de ces deux termes.


je dirais... en partie. Il y a quand même des langages qui sont plus 
adaptés à traiter certains sujets que d'autres. Par exemple, R est un 
langage conçu pour les statistiques... On peut faire les mêmes 
opérations en Python mais il se peut que l'on doive écrire plus de code, 
mais R n'est pas un langage d'usage général. C'est donc un peu de goût, 
et un peu de "fait pour". Je dirais que ta remarque est juste pour un 
usage général. Dans ce cas, ma préférence va toujours à la simplicité et 
à la rapidité. Moins il y a de code à écrire, plus petite est la 
probabilité d'erreurs; le nombre de bugs pouvant être directement lié au 
nombre de lignes de code !


- quels langages étaient disponible entre tes 20 et 35 piges, pour 
résoudre aux mieux les problèmes informatiques qui te titillaient, te 
fascinaient, la doc que tu as trouvé dans ces moments cruciaux, les 
conseils, entourages, prof. si cursus scolaire dans le domaine??


Cursus scolaire assez lunaire dans le domaine... Un prof de math disant 
"Je suis chargé de vous enseigner l'informatique. Sachez que je suis 
contre !". Un autre n'y comprenant strictement rien et d'autres ma 
taxant parce que j'utilisais des commandes pas encore enseignées 
(FORTRAN IV). Et donc, tout seul et contre l'avis des profs : FORTRAN, 
ALGOL, PASCAL, PL/Z, BASIC (HP), Assembleur. Par la suite, ça n'a pas 
changé... j'ai appris tout seul tous les autres.


J'ai bien essayé de faire comprendre que l'informatique pourrait être 
très utile pour dessiner les graphiques et acquérir les données au labo, 
mais je me suis vu rétorqué : "Contentez-vous de respecter les 
protocoles du laboratoire !"


De plus, à l'époque, l'électronique digitale était "mal vue", c'était 
tout analogique (ce qui est quand même sympa).
Donc les langages qui parlent aux gens du "numerical computing", un peu 
matheux sur les bords, ça me parle vraiment, le reste, l'informatique de 
gestion, bof, circulez il n'y a rien à voir pour moi.


L’étymologie du mot "informatique" contient "information". C'est donc 
une approche très différente de "Computer Science" ! Or, je rigole car 
aujourd'hui, le monde de l'informatique manipule massivement de 
"l'information" et la partie calcul est largement minimisée. Ce qui fait 
que ce que tu appelles "informatique de gestion" est en fait ce qui 
constitue 99% de l'informatique aujourd'hui (IA, SQL, Web, etc.). Tous 
les langages dont on parle aujourd'hui, sont adaptés à ces types de 
traitement et pas vraiment aux calcul pure (seul Fortran et R à mon avis).


Mais chacun son truc, en fait chacun son expérience personnelle, ce qui 
a imprimé sa mémoire à soit.


Oui, et surtout les besoins avant tout. Certains langages sont des 
langages conçus de manière théorique et soit tentativement imposés 
(ADA), ou quasi (Java).



Et ça m'a fait adorer C/OCaml/Rust et python aussi.


Je ne vais pas contester ton choix et ça se défend dans plein de situation.

Et vous, quels sont vos intérêts premiers en progr., 


Simplicité, efficacité, concision, performance, souplesse, robustesse, 
cohérence. Ça élimine pas mal de langages... :-)



les sujets qui vous ont titillé, passioné?


La découverte du C, de Xlib (https://en.wikipedia.org/wiki/Xlib) et 
l'implémentation de Xtoolkit 
(https://en.wikipedia.org/wiki/X_Toolkit_Intrinsics) . Ayant besoin 
d'écrire un widget PEX (https://en.wikipedia.org/wiki/PHIGS) pour Motif 
et n'ayant pas accès aux code source, j'ai dû faire du reverse 
engineering uniquement avec les fichiers *.h, ce qui m'a permit de 
comprendre les bases de l'implémentation de la programmation objet en C 
(découverte de gros bricolage avec les calculs des pointeurs dans les 
structures avec sizeof() !!!). nsuite, j'ai découvert la manière dont 
C++ était implémenté en C en regardant le code C généré par le 
cross-compilateur C++ des années 80.


Et quel langages et livres ont répondu au mieux à 
vos questionnements et désirs de créer, même si de manière immatérielle, 
dans le monde numérique?


Maurice Bach (The design of the UNIX operating System)
Brian Kernighan (The C programming language)
Denis Ritchie (The C programming language)
Bjarne Stroustrup (data structure, C++)
David Baezley (Python Essential reference)

dc
___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Re: [gull] Commentaires avisés au sujet de Rust

2022-12-03 Par sujet Marc SCHAEFER via gull
Bonjour,

On Sat, Dec 03, 2022 at 03:57:00PM +0100, Philippe Strauss via gull wrote:
> elle est morte cette liste...

Un peu en sommeil.
[ 14 lignes de citations inutiles et mal placées, supprimées ]

Sur le thème des langages "memory-safe" et l'amélioration de sécurité,
au moins pour les applications de haut niveau:
   
https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html

Apparemment, les bonnes pratiques et les outils de tests des langages
"peu sûrs" ne suffisent pas. Ce qui a semble-t-il modifié complètement
la répartition des problèmes de sécurité c'est la diminution de l'usage
de ces langages.
___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Re: [gull] Commentaires avisés au sujet de Rust

2022-12-03 Par sujet Philippe Strauss via gull

"A Tour of C++" de Bjarne Stroustrup, désolé pour les deux typos:

https://stroustrup.com/tour3.html

on trouve l'édition précédente en pdf, qualité vectorielle sortant de 
chez l'éditeur librement sur le net.


bon livre.


elle est morte cette liste...


Le 03.12.22 à 14:33, Philippe Strauss via gull a écrit :
Ah encore une chose, après tant d'année à pester contre C++, je suis 
enfin tomber sur LE bouquin qu'il me fallait afin de m'y mettre un 
jour: "a tout of C++" de Strousup.


Pour rust, on m'a recommandé "Rust for rustaceans", comme livre pour 
personne sachant programmer, ayant quelque base en fonctionnel.

___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Re: [gull] Commentaires avisés au sujet de Rust

2022-12-03 Par sujet Philippe Strauss via gull
Ce blogueur semble expérimenté, beaucoup plus que moi, en progr., je 
vais pas le contrer, surtout pas à l'aveugle surtout que j'ai fais mes 
premières 100 lignes de rust récemment, et c'est tout, j'ai beaucoup de 
temps libre mais

des prises de choux chronophages dans ma vie...

Ses arguments tiennent la route. Il y a beaucoup d'une opposition entre 
comme il écrit "what it was designed for", la progr. système et un 
domaine dans lequel il a utilisé Rust plus destiné à des langages d'un 
peu plus haut niveau, soit la progr. web.


De mon côté, si j'ai pondu 25'000 lignes de C et 20'000 d'OCaml *de 
toute ma vie*, c'est le bout du monde, faut pas me prendre pour une 
référence. Dans mon mail d'il y a qques temps au sujet de Rust, je 
voulais juste transmettre l'idée "ça sent bon, regardez ce truc.."


Par contre, ceci:

""" With Rust, though, one needs to learn entirely new ideas — things 
like lifetimes, ownership, and the borrow checker. These are not 
familiar concepts to most people working in other common languages, and 
there is a pretty steep learning curve, even for experienced 
programmers. """


ça excuse, mais cela me fait hocher la tête de gauche à droite en lisant 
et en pensant "gros bourrin de développeur moyen...". Je transcrit ma 
pensée, je vais passer pour une brute as usual, mais là j'assume..


On lit que 70% des bugs, des CVE sont dues à des erreurs de mémoire, hé, 
gros bourrin de développeur moyen, tu peux pas faire l'effort de 
regarder comment fonctionnent les langages "memory safe" et en tirer 
parti, apprendre de leur démarche, prendre le temps de s'ouvrir un peu 
l'esprit sur autre chose, sur du neuf?


""" Basically, the problems that Rust is designed to avoid can be solved 
in other ways — by good testing, good linting, good code review, and 
good monitoring. Of course, not all software projects have this luxury, 
so I can imagine that Rust may be a good choice in those other 
situations. """


Ce second point, il faut en avoir le temps, les resources, c'est pas 
donné aux petits teams. Je préfère choisir un langage qui intègre les 
85% d'un bon analyseur statique dans son compilo, dans sa sémantique 
même, que d'avoir à recourir à des outils externes. Aussi, les units 
tests "large coverage", cela prend un de ces temps à pondre.


Pour ce que j'ai regardé, la doc de Rust me semble bonne, peut-être 
qu'il y pourrait y avoir plus d'exemples dans chaque librairie pour 
démarrer facilement, mais c'est un reproche qu'on peut faire à tout le 
logiciel libre, pas qu'à rust.


Par contre les tutos pour démarrer, il y a tout ce qu'il faut.

Les projets que je fetch en source et compile ne merde qui si il y a des 
bindings rust qui ont une dépendance sur une librairie C d'une version 
supérieur à ce que j'ai sur mon ordi. Autrement c'est super fiable, je 
perds rien ce côté par rapport à OCaml.


Sa critique sur l'aspect manque de "type inference" et le prototypage 
rapide est très vrai par contre, j'espère que Rust intégrera un jour une 
inférence de type automatique.


Pour ceux qui ont envie d'être dégouté par rust : https://www.cheat.rs

Pour ceux qui ont envie de tomber en amour avec rust : 
https://fasterthanli.me/articles/a-half-hour-to-learn-rust


Ah mon infiltration, c'était humm plus singulier que juste le trou dans 
le wifi linux, c.f. mon site web.


Voilà, tu m'attendais au tournant Daniel??!.. 

--
Philippe Strauss
https://www.strauss-engineering.ch/

Le 02.12.22 à 19:23, Daniel Cordey via gull a écrit :

Bonjour à tous,

Il y a quelques temps, Philipe Strauss posa une question d'opinion au 
sujet du langage Rust. Dans cette optique, voici un petit article de 
quelqu'un qui semble bien connaître Rust, et il m'apparaît utile de le 
lire pour connaître son avis et bénéficier de son expérience :


https://scribe.rip/using-rust-at-a-startup-a-cautionary-tale-42ab823d9454

Bonne lecture

dc
___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Re: [gull] Commentaires avisés au sujet de Rust

2022-12-03 Par sujet Philippe Strauss via gull
Ah encore une chose, après tant d'année à pester contre C++, je suis 
enfin tomber sur LE bouquin qu'il me fallait afin de m'y mettre un jour: 
"a tout of C++" de Strousup.


Pour rust, on m'a recommandé "Rust for rustaceans", comme livre pour 
personne sachant programmer, ayant quelque base en fonctionnel.


Je vais les demander au père noël..

Le 02.12.22 à 19:23, Daniel Cordey via gull a écrit :

Bonjour à tous,

Il y a quelques temps

...
___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

Re: [gull] Commentaires avisés au sujet de Rust

2022-12-02 Par sujet Philippe Strauss via gull

J'ai pas le temps de répondre ce soir, juste ceci, la suite durant le W.E.:

- les goûts, les couleurs, les opinions sur les langages de 
programmation, c'est pas x-files, c'est pas inexplicable, c'est comme 
tellement de chose une histoire de mémoire, d'expériences, dans tous les 
sens de ces deux termes.


- quels langages étaient disponible entre tes 20 et 35 piges, pour 
résoudre aux mieux les problèmes informatiques qui te titillaient, te 
fascinaient, la doc que tu as trouvé dans ces moments cruciaux, les 
conseils, entourages, prof. si cursus scolaire dans le domaine??


Pour moi l'ingénierierie, c'est l'audio-vidéo numérisée, je trouve ce 
truc fascinant depuis le lecteur CD, cela a parlé à mes oreilles donc ça 
me parle tjrs. Génération CD. Il y a génération raspberry pi et IA 
actuellement.


Moi c'état schéma du téléviseur analogique livré avec le mode d'emploi, 
à l'attention du magasin de réparation du coin, que j'ai dévoré, même si 
ce étalé sur 3 ans, et lecteur CD, comment fonctionne tout ce "bordel". 
Et toute la chaîne hifi en fait.


Je me souviens encore avoir pris dans mes mains pour la première fois le 
magazine "elektor", c'était en 1986 je crois, la couverture c'était 
écrit "BALAISE: ampli 1000Watts HiFi".


Tcheu hé balaise, m'étais-je dit..

Donc les langages qui parlent aux gens du "numerical computing", un peu 
matheux sur les bords, ça me parle vraiment, le reste, l'informatique de 
gestion, bof, circulez il n'y a rien à voir pour moi.


Mais chacun son truc, en fait chacun son expérience personnelle, ce qui 
a imprimé sa mémoire à soit.


Et ça m'a fait adorer C/OCaml/Rust et python aussi.

Voilà pour faire vite, le reste ce WE.

Et vous, quels sont vos intérêts premiers en progr., les sujets qui vous 
ont titillé, passioné? Et quel langages et livres ont répondu au mieux à 
vos questionnements et désirs de créer, même si de manière immatérielle, 
dans le monde numérique?


Faudrait que tous le monde réponde, pas faire une flamewar, mais 
simplement échangé sur ce sujet.


aplus.

Le 02.12.22 à 19:23, Daniel Cordey via gull a écrit :

Bonjour à tous,

Il y a quelques temps, Philipe Strauss posa une question d'opinion au 
sujet du langage Rust. Dans cette optique, voici un petit article de 
quelqu'un qui semble bien connaître Rust, et il m'apparaît utile de le 
lire pour connaître son avis et bénéficier de son expérience :


https://scribe.rip/using-rust-at-a-startup-a-cautionary-tale-42ab823d9454

Bonne lecture

dc
___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull

___
gull mailing list
gull@forum.linux-gull.ch
https://forum.linux-gull.ch/mailman/listinfo/gull