reno a écrit 3879 commentaires

  • [^] # Re: lisp ?

    Posté par  . En réponse au journal [Letlang] Écrire un compilateur en Rust. Évalué à 3.

    Pas sur de comprendre ou est la confusion dans f(x g(y z) w)?
    y et z sont les arguments de g
    x, le resultat de g(y z) et w sont les arguments de f.

    Dites les critiques, vous êtes sûrs que vous ne réagissez pas de manière un peu 'instinctive'?
    Si le Lisp fait comme ça c'est 'forcément' bien?

    f(x y …) est + proche de la notation mathématique classique que (f x y …),
    mais pour moi l'intérêt principal est que ça montre bien la différence entre le premier argument et les autres:
    dans (+ 1 2) on note bien que + est traité différemment de 1 et 2..

    Le Lisp classique a d'ailleurs '(x y) pour l'abréviation de (quote x y)..
    Avec ma(*) notation 'préfix' pas besoin d'abréviation c'est quote(x y) ou '(x y) normalement, comme quoi c'est une notation encore plus homoiconique que le Lisp!

    *: je ne suis pas le seul a avoir eu l'idée, il y en a au moins un autre mais je n'ai plus le lien..

  • [^] # Re: lisp ?

    Posté par  . En réponse au journal [Letlang] Écrire un compilateur en Rust. Évalué à 2.

    Sinon avec son GC Lisp est memory-safe donc je ne vois pas trop où est l'avantage de Rust ici..

  • [^] # Re: lisp ?

    Posté par  . En réponse au journal [Letlang] Écrire un compilateur en Rust. Évalué à 2.

    Personellement j'ai toujours trouvé dommage que le lisp soit '(fonction arg1 arg2 …)' un simple changement 'fonction(arg1 arg2 …)' aurait été un bon compromis.

  • [^] # Re: Encenser le C? Non!

    Posté par  . En réponse au journal C, un âge remarquable. Évalué à 1.

    ça n'est pas vrai, un char* terminé par un '\0' ça ne s'appelle peut être pas une string en C mais les librairie la traite comme en étant une.
    A l'époque des mémoires minuscules, c'était une bonne structure de donnée pour une chaine, mais ça n'est plus le cas depuis longtemps et pourtant le "C" (le langage mais surtout la librairie standard) n'a pas réussi a évoluer..

  • [^] # Re: Encenser le C? Non!

    Posté par  . En réponse au journal C, un âge remarquable. Évalué à 5.

    Tout les autres langages sont passés a une paire de pointeur ou a entier+pointeur pour les chaines, n'ajoutant le '\0' a la fin que si nécessaire pour la compatibilité avec le C, il doit y avoir une raison..

    Et strlen en temps constant pour un cout mémoire ultra-faible est une très bonne raison!

  • [^] # Re: M'sieur m'sieur c'est quoi un algorithme quadratique ?

    Posté par  . En réponse au journal C, un âge remarquable. Évalué à 9.

    Un algorithme de complexité quadatrique O(n2), l'explication classique toute simple est le gars qui peint une bande routière en laissant le seau de peinture au début de la route: le premier jour il va vite, mais au fur et à mesure il va aller beaucoup moins vite forcément..

  • [^] # Re: Encenser le C? Non!

    Posté par  . En réponse au journal C, un âge remarquable. Évalué à 7.

    Chaînes terminées par des zéros == attention aux algorithme quadratiques!

    Quelques exemples ?

    Le + célèbre: https://news.ycombinator.com/item?id=26296339

    D'un point de vue + générique les algorithmes quadratiques sont très 'vicieux': assez rapide sur un petit jeu de donnée utilisé pour les tests unitaires mais en production ça peut déraper vite.
    Il y a même un site web sur le sujet: https://accidentallyquadratic.tumblr.com/

    2 languages au lieu d'un: le preprocesseur et le normal..

    Et en quoi est-ce un défaut ?

    Complexité additionnelle non nécessaire: d'autre langages tel que D, Zig, Jai utilisent le même langage au runtime et a la compilation (permettant entre autre la compilation conditionnelle bien sûr) avec juste un mot clef pour indiquer que le code correspondant doit être évalué a la compilation (comptime en Zig, je ne me souviens plus pour les autres).

    Cast non-greppable..

    Mmmmm, là, il faut que je creuse un peu, mais ça ne m'a jamais posé de souci.

    Et bien tu as + de chance que moi.. Un 'XXX_cast' a la C++ ou ' as ' comme Rust(je crois) c'est beaucoup plus facile a chercher qu'une paire de parenthèse et comme un mauvais cast peut créer des tas de problèmes bien difficile a résoudre, ça n'est pas un détail!

    J'ai commencé le C en 1992, j'apprécie ses points forts par rapport a d'autre langage, mais c'est un langage quasi-statique qui n'a jamais pu se débarrasser de ses nombreux problèmes..
    Dommage qu'il n'ai pas pu évoluer (enfin après quand on voit le b… de l'évolution du C++..).

  • # Encenser le C? Non!

    Posté par  . En réponse au journal C, un âge remarquable. Évalué à 5.

    Je préfère le C au C++ pour ce qui est du temps réel (le C++ 'cache' trop de choses) mais ça ne veut pas dire que j'aime le C..

    Conversion implicite stupides.. Chaînes terminées par des zéros == attention aux algorithme quadratiques!
    2 languages au lieu d'un: le preprocesseur et le normal..
    Cast non-greppable..
    Trop d'UB qui ne servent à rien: par exemple l'ordre d'évaluation des paramètres d'une fonction..
    Etc.

    Après Ada existe depuis longtemps sans avoir percé pour autant.. Il commence à y avoir d'autres nouvelles alternatives (DasBetterC, Zig, V, Odin..) mais leur nombre peut aussi créer un problème pour remplacer le C..

  • [^] # Re: Intervalles arithmétiques!

    Posté par  . En réponse au journal Ada au FOSDEM. Évalué à 3. Dernière modification le 08 février 2022 à 18:28.

    A la réflexion, je me dis que ça pourrait quand même être amélioré, Frink te donne l'interval a la fin des calculs: https://futureboy.us/frinkdocs/#IntervalArithmetic

  • # Intervalles arithmétiques!

    Posté par  . En réponse au journal Ada au FOSDEM. Évalué à 3.

    Je ne me souvenais pas qu'Ada supportait les intervalles arithmétiques pour faire des calcul avec des "vrais" nombre réels, quelqu'un sait si GNAT supporte ça?

  • # Conclusion curieuse

    Posté par  . En réponse au journal Comment je suis devenu un vacciné antivaxx.... Évalué à 6.

    Comme l'effet du vaccins s'affaiblit avec le temps, j'aurais plutôt tendance a vouloir me faire vacciner tout les 5 mois plutôt que d'hésiter a me refaire vacciner.

    Chez nous bien qu'on ai été triplement vaccinés, on a eu le Covid quand même mais avec des symptomes assez faible..

  • [^] # Re: Et RISC-V?

    Posté par  . En réponse à la dépêche Sortie du noyau Linux 5.13. Évalué à 2. Dernière modification le 29 juillet 2021 à 10:24.

    Merci pour ta réponse, effectivement j'avais oublié cette limitation en longueur des ARM SVE.

  • [^] # Re: passe sanitaire == pied dans la porte à un système de crédit social à la Chinoise

    Posté par  . En réponse au journal [HS] Quand quelqu'un vous parle de liberté.... Évalué à 4.

  • [^] # Re: Et RISC-V?

    Posté par  . En réponse à la dépêche Sortie du noyau Linux 5.13. Évalué à 2.

    Moins de flexibilité SVE/SVE2?
    Peut être mais lors d'un article qui comparait les 2 ( https://erik-engheim.medium.com/arm-vs-risc-v-vector-extensions-992f201f402f ) le code ARM était plus court, ce que j'interprète comme "potentiellement plus efficace"..

  • [^] # Re: Télé...

    Posté par  . En réponse au journal Je veux pas y retourner. Évalué à 10.

    Hum, j'adore le télétravail mais pour ce qui est du bruit .. mettons que je hais cordialement l'inventeur du souffleur a feuille!

  • [^] # Re: historiques

    Posté par  . En réponse au journal Les doutes d'un gars qui écrit: sérieusement se mettre à Emacs, ou pas ?. Évalué à 4.

    Le 'poids' aussi, c'est difficile a croire aujourd'hui mais à une époque Emacs était considéré comme un éditeureur 'lourd' (eight megabytes and constantly swapping) et ce n'est pas un mythe ou une méchanceté 'gratuite': quand j'étais en thèse une bonne façon de décoller quelqu'un de sa machine était de se connecter sur sa machine et de lancer emacs: le gars ne pouvait plus rien faire pendant un petit moment donc il venait manger..
    Donc a cette époque là forcément vi était partout mais pas emacs et c'est resté..

  • [^] # Re: Souvenirs

    Posté par  . En réponse au journal Episode de Podcast francophone sur le langage Ada. Évalué à 4.

    Sur des petits programmes ça n'a pas d'intérêt, sur des gros tôt ou tard il y aura cette erreur..

  • [^] # Re: Souvenirs

    Posté par  . En réponse au journal Episode de Podcast francophone sur le langage Ada. Évalué à 3.

    Rien que le nom fait peur..

  • [^] # Re: Souvenirs

    Posté par  . En réponse au journal Episode de Podcast francophone sur le langage Ada. Évalué à 7.

    Je ne parlais de la vérification du range de l'index mais du type de l'index: si tu as un tableau indexé par un nombre de Choux, le compilateur ne te laisse pas l'indexer par un nombre de Carottes.
    En C++, tout est indexé par des entiers, pareil en Rust je crois mais en Ada tu peux choisir simplement un type fort comme Index.

  • [^] # Re: Souvenirs

    Posté par  . En réponse au journal Episode de Podcast francophone sur le langage Ada. Évalué à 3.

    Il y a les effets de mode qui expliquent pourquoi Ada est si peu utilisé (même ses concepts comme les tableaux qui vérifie le type fe l'index ne sont pas repris par d'autres langages :-( ).

    Mais il y a aussi que certaines choses courante dans d'autres langages comme les string de taille variable, en Ada ça pique les yeux, ça n'aide pas..

  • # Pour le C++ soyez très méfiant envers votre IDE

    Posté par  . En réponse à la dépêche LSP (Language Server Protocol). Évalué à 7.

    J'utilise principalement VSCode+grep pour travailler.

    Pourquoi VSCode? Parce qu'il démarre assez rapidement et que la navigation entre ~20 fichiers est assez bonne la "plupart" du temps.

    Pourquoi grep? Car souvent l'indexation de VSCode est pourrie (en C++): incapable de trouver un fichier sous un #include, ou il met + de temps que grep pour me trouver la définition d'une fonction(!) ou pire il me donne la mauvaise définition d'une fonction (dans le mauvais working tree).

    Mais j'étais resté confiant en l'indexation de CLion (que je n'utilise pas car trop lent), sauf que cette semaine en faisant un find usage d'une méthode j'ai découvert que CLion avait manqué l'appel a la méthode a certains endroits..

    Ma conclusion : un bon éditeur de texte plus grep/ag/ripgrep >> aux IDE pour les gros projets C++

    Dommage que je n'ai pas le temps d'apprendre a configurer correctement VSCode pour qu'il appelle grep ou find pour moi, plutôt que de le faire moi même dans un terminal et de lui dire ensuite d'ouvrir le fichier que j'ai trouvé (ce qui est totalement absurde quand on y réfléchit bien)

  • # Quelques infos supplémentaire

    Posté par  . En réponse à la dépêche Hotspot, à la recherche du point chaud…. Évalué à 8.

    Bon j'avoue ne pas vraiment comprendre l'analyse des performances sous Linux, il y a perf, SystemTap, bpftrace, ça fait beaucoup..

    Mais pour ceux qui comprennent mieux, LWN vient de faire un article sur le sujet: Comparing SystemTap and bpftrace: je me permets d'envoyer un subscriber link (à ne pas diffuser inconsidérément merci):
    https://lwn.net/SubscriberLink/852112/8a228aa8184dabc9/

  • [^] # Re: Pendant ce temps

    Posté par  . En réponse au journal Oracle vs Google. Évalué à -5.

    Windows utilise \ comme séparateur de chemin car ils avaient peur de se prendre un procès s'ils réutilisaient /

  • [^] # Re: Lié au bloat?

    Posté par  . En réponse au journal Un mois avec Clear Linux. Évalué à 2.

    SDL kezako?

  • [^] # Re: Portabilité ?

    Posté par  . En réponse au lien Scoop : GTK+2 is dead ! (ha oui, et GTK4 est sorti). Évalué à 4.

    Bah à peine GTK4 sorti qu'ils planifie GTK5 (cf le lien du dessous), qu'ils planifient GTK4.1 ça serait normal mais GTK5 .. ça montre bien qu'ils n'en 9nt rien a faire de la compatibilité..

    Dommage que les dev d'Haiku ont préféré faire joujou avec leur propre noyau plutôt que d'utiliser Linux comme base car au contraire leur force a eux c'est la stabilité au niveau API..

    Y a-t-il un desktop sur Linux qui vise la stabilité (retrocompatibilité) au niveau API?

    Sur le long terme, ça pourrait être une stratégie gagnante..