• # Aucun intérêt

    Posté par  (site web personnel) . Évalué à 5.

    Désolé pour ce titre trollesque, je n'aime pas ce type beaucoup trop imbu de sa personne (j'ai déjà expliqué maintes fois sur linuxfr).

    Un mélange de Go et de Rust, pour moi ça n'apporte rien. Certes Rust est compliqué mais il a des avantages. Go est par contre lui inutile.

    Se baser sur qbe c'est chouette, c'est simple, basique, propre mais c'est complètement expérimental. J'ai aucun projet qui compile entièrement (en utilisant cproc) pourtant je fais du C99 et C11 strictement POSIX sans aucune extension GCC. Il y a toujours une erreur quelque part (soit c'est pas supporté soit qbe part dans une boucle infinie).

    Drew est quelqu'un d'assez antipathique, il n'y a qu'à le suivre sur les projets auxquels je participe (comme Alpine) ou les siens comme sway, wlroots. Quand il pense avoir raison il le fait savoir. Par conséquent pour le développement d'un langage où il est nécessaire de suivre l'avis des gens, j'ai hâte de savoir comment il va prendre en compte les remarques.

    Pour moi c'est rien de plus qu'un énième projet NIH de sa part.

    git is great because linus did it, mercurial is better because he didn't

    • [^] # Re: Aucun intérêt

      Posté par  . Évalué à 10.

      Go est par contre lui inutile.

      C'est dur et c'est faux. La cross compilation est simple, le fait d'être statiquement compilé simplifie les déploiements, la bibliothèques standards n'est pas anémique (je ne sais pas ce qu'il en est de rust), il permet de faire de l'asynchrone plus facilement,…

      Je ne suis pas un fan du langage, mais affirmer qu'il est inutile c'est vraiment du troll.

      Perso sur rpi, je trouve python un peu lent à démarrer donc pour créer des cli c'est pas très agréable. Générer un binaire sur ma machine, le copier et l'exécuter est bien plus rapide et ne posera jamais de problème de dépendance.

      Quand il pense avoir raison il le fait savoir.

      C'est pas aussi le cas de Linus Torvalds ? Je ne connais pas Drew, hein. Je ne crois pas avoir utilisé l'un de ses projets.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: Aucun intérêt

      Posté par  (site web personnel) . Évalué à 10.

      Go est par contre lui inutile.

      Pourtant les gens l'utilisent (plus que Rust) !

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

      • [^] # Re: Aucun intérêt

        Posté par  . Évalué à 10.

        « il y a deux sortes de langages informatique : ceux que tout le monde déteste, et ceux que personne n'utilise. »

        (à dire sur le même ton que « il y a les gens qui ont un flingue et ceux qui ont une pelle »)

        Discussions en français sur la création de jeux videos : IRC freenode / #gamedev-fr

      • [^] # Re: Aucun intérêt

        Posté par  (site web personnel) . Évalué à 2.

        Bah, les gens ont utilisé aussi beaucoup Java… une force de frappe commerciale certaine.

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Aucun intérêt

      Posté par  . Évalué à 5. Dernière modification le 26 avril 2022 à 17:44.

      Si tu vas par là, est-ce par principe un nouveau langage de programmation n'a pas de très fortes chances d'être inutile?

      Bien sûr, dans le détail, tu peux toujours imaginer des langages expérimentaux qui implémentent des concepts nouveaux, ou des langages spécialisés qui répondent à un besoin récent (par exemple, machine learning…).

      Par contre, d'une manière générale, lancer en 2022 un langage qui est plus mieux que les autres et qui reprend les concepts de A, B, et C, avec une syntaxe simplifiée, ça me semble très probablement fumeux. Parce que même dans l'hypothèse où le langage est bien fait, il part avec tellement de retard que de manière complètement pragmatique, c'est très risqué de partir sur cette piste : difficile de trouver des contributeurs et des développeurs, support et portabilité du compilateur aléatoire, bibliothèques faméliques, bugguées, non optimisées… Et un risque certain d'un arrêt du support d'ici quelques années.

      Après, c'est toujours pareil, qui ne tente rien n'a rien. Mais franchement, si on veut faire quelque chose d'utile pour la communauté, il y a peut-être mieux à faire que de créer un nouveau langage de programmation.

      En tout cas, je ne me lasserai jamais des ridiculités cosmétiques qui accompagnent tout projet de nouveau langage. Genre, regardez, il existait #include, using(), library(), module(), package(), \usepackage(), et bah mon nouveau langage c'est use:: pour inclure une bibliothèque. Et puis pour définir une fonction, c'est pas def truc:, ni sub truc { }, ni func truc() { }, ni int truc() { }, c'est fn truc() = { }.

      J'ai parcouru vite fait le tutoriel, je trouve ça très peu lisible en fait et presque charabiesque, pas très convaincu. Je trouve en particulier l'initialisation des structures particulièrement "élégante":

      let c: struct {x: int,y: int,} = struct {x: int = 10,y: int = 20,};

      Il n'y a aucun doute, une telle ergonomie ne peut venir que des progrès récents en psychologie des interfaces humain/ordinateur. Inégalé dans d'autres langages, ça valait le coup d'attendre 2022 pour avoir ça. (j'espère que vous avez noté la position des virgules, la perfection jusque dans les détails. J'ose imaginer qu'elles sont facultatives, mais je n'en sais rien).

      • [^] # Re: Aucun intérêt

        Posté par  . Évalué à 2.

        C’est aussi « fn » Rust, par contre il n’y a pas d’opérateur = dans la définition : https://doc.rust-lang.org/book/ch03-03-how-functions-work.html

        J’imagine que le « = » peut se justifier si les noms de fonctions sont des variables et qu’on peut dynamiquement changer, sinon je vois pas l’intérêt.

      • [^] # Re: Aucun intérêt

        Posté par  (site web personnel) . Évalué à 1.

        est-ce par principe un nouveau langage de programmation n'a pas de très fortes chances d'être inutile?

        Dans ce que ça apporte à celui qui l'écrit :

        • une meilleure compréhension des concepts derrière chaque fonctionnalité du langage
        • apprentissage

        Ensuite, selon le but du langage de programmation, cela te permet de répondre à un besoin que tu as identifié (Domain Specific Language), ou de fournir une implémentation différente à des concepts existant (donc performances différentes, etc…).

        C'est jamais inutile de faire un nouveau langage.

        Mais franchement, si on veut faire quelque chose d'utile pour la communauté, il y a peut-être mieux à faire que de créer un nouveau langage de programmation.

        Pour les arguments que j'ai cité ci-dessus. C'est jamais inutile.

        En tout cas, je ne me lasserai jamais des ridiculités cosmétiques qui accompagnent tout projet de nouveau langage. Genre, regardez, il existait #include, using(), library(), module(), package(), \usepackage(), et bah mon nouveau langage c'est use:: pour inclure une bibliothèque. Et puis pour définir une fonction, c'est pas def truc:, ni sub truc { }, ni func truc() { }, ni int truc() { }, c'est fn truc() = { }.

        C'est assez ridicule comme remarque. Ce qui est important dans un langage de programmation, c'est la facilité de réutiliser les design patterns que tu connais déjà, et la facilité que tu as pour en apprendre d'autres.

        Un langage de programmation c'est avant tout représenter des algorithmes, de la logique métier et de la glue entre tout ça (à l'aide de design pattern).

        La syntaxe, c'est accessoire, et au bout d'un moment cela ne devrait pas te poser problème.

        Que j'écrive func, function, fun, fn, on a compris. Pareil pour #include, import, use, require, …

        Discuter de la syntaxe, c'est comme discuter des goûts et des couleurs. Ça sert à rien.

        https://link-society.com - https://kubirds.com

        • [^] # Re: Aucun intérêt

          Posté par  . Évalué à 3.

          Apparemment, tu as une conception assez "masturbatoire" du développement d'un langage de programmation. Ça fait plaisir au dev, ça lui apprend des choses, etc. Pourquoi pas, c'est un projet libre, si ça n'intéresse que lui, tant mieux. Mais c'est pas avec ce genre de raisonnements que tu vas avoir des utilisateurs.

          Discuter de la syntaxe, c'est comme discuter des goûts et des couleurs. Ça sert à rien.

          La syntaxe, c'est l'interface utilisateur d'un langage de programmation. Ce n'est pas une histoire de goût, c'est une histoire d'ergonomie. Un langage est un outil, pas une œuvre d'art. Si tu conçois un marteau dont le manche file des ampoules aux utilisateurs, tu vas dire "ah non critiquez pas c'est une histoire de goûts". Bah c'est un peu plus compliqué que ça, non?

          Ma remarque ne visait qu'à remarquer l'ingéniosité à aller inventer une grammaire qui n'existe pas dans un autre langage pour faire quelque chose que tous les langages font. Est-ce que ça ne reflète pas simplement une certaine vanité? Quel intérêt peut avoir fn myfunc() = {} (à part lever une ambigüité syntaxique, ce qui serait plus un problème d'élégance que de vanité).

          Mais bon, je reformule ma remarque pour que ça soit moins péremptoire : "Je ne suis évidemment pas la cible de ce langage, et je le trouve inélégant et vaniteux". Je n'essaye pas de dénier au créateur du langage le droit de créer un langage et de lui affubler la syntaxe qu'il souhaite.

        • [^] # Re: Aucun intérêt

          Posté par  . Évalué à 3.

          Discuter de la syntaxe, c'est comme discuter des goûts et des couleurs. Ça sert à rien.

          Je ne suis pas d'accord du tout. Tu montre une toute petite partie de ce qu'est la syntaxe et tu en déduit que ce n'est que de la cosmétique, mais regarde par exemple un sujet qui a était intégré dans pleins de langages ces dernières années les lambdas/closures/fonction anonymes. La syntaxe joue énormément sur l'usage. Pour présenter 2 cas diamétralement opposés :

          En groovy la syntaxe des lambdas c'est :

          { int i -> i + 4 }
          // peut s'écrire
          { it + 4 }

          En python c'est :

          lambda i: i + 4

          Et c'est très strict, on ne peut n'avoir qu'une seule expression dans une lambda.

          Je pensais au départ que c'était une volonté de ne pas créer "d'abus", d'en limiter l'usage, mais non, c'est parce qu'ils n'ont pas trouvé de façon pythoniquement acceptable de représenter des lambdas multiligne.

          Résultat c'est très peu utilisé en python là où groovy a du succès1 pour les DSL qu'il permet de produire notamment grâce aux lambdas.

          Mais tu as d'autres exemples, le Duff's device existe parce que la syntaxe est assez souple et je présume qu'à la création du C ils n'avaient pas en tête ce pattern.


          1. entendons-nous bien je ne dis pas que groovy a du succès et pas python, mais que si groovy n'a pas sombré dans l'oubli c'est pour cette capacité à avoir une syntaxe souple entre autre pour les lambdas 

          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

        • [^] # Re: Aucun intérêt

          Posté par  . Évalué à 2.

          Discuter de la syntaxe, c'est comme discuter des goûts et des couleurs. Ça sert à rien.

          Non. C'est super important la syntaxe. Un code est bien plus souvent lu que écrit.

          C'est pas pour rien que la syntaxe !! à la fin du nom d'un paramètre afin de péter une exception en cas de null vient d'être rejetée en C#, par exemple. Ça n'avait aucun sens au regard de l'historique du langage, et ce pour un intérêt très vague.

          "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

      • [^] # Re: Aucun intérêt

        Posté par  (site web personnel) . Évalué à 4.

        Si tu vas par là, est-ce par principe un nouveau langage de programmation n'a pas de très fortes chances d'être inutile?

        Non ce n'est pas du tout ce que j'ai dit. Je l'ai dit pour Go et je le pense aussi pour D, ce sont deux langages qui n'apportent rien de nouveau. Go fait le taf mais n'est pas élégant, il a un garbage collector, la gestion des paquets a été un foutoir monumental et le support des generics a mis une décénnie à arriver. Il y a encore d'autres raisons qui font que c'est un langage qui à mon sens inutile.

        Je n'aime pas spécialement Rust personnellement, mais je ne peux pas nier qu'il favorise grandement le développement d'applications bas niveau performantes avec la robustesse en plus. Ça c'est un langage nouveau utile.

        Après, c'est toujours pareil, qui ne tente rien n'a rien. Mais franchement, si on veut faire quelque chose d'utile pour la communauté, il y a peut-être mieux à faire que de créer un nouveau langage de programmation.

        100% d'accord, on pourrait dire la même chose des frameworks Javascript.

        git is great because linus did it, mercurial is better because he didn't

    • [^] # Re: Aucun intérêt

      Posté par  (Mastodon) . Évalué à 3.

      Je vois Drew DeVault comme le Elon Musk du logiciel libre. Le pognon en moins.

      • [^] # Re: Aucun intérêt

        Posté par  (site web personnel, Mastodon) . Évalué à 4.

        En mettant de côté les prises de position du bonhomme, c'est si nul que ça Sway et Sourcehut ? J'avais l'impression que c'était des projets qui fonctionnaient bien, en tout cas mieux que les tunnels trop étroits et les autopilotes de Musk.

        • [^] # Re: Aucun intérêt

          Posté par  . Évalué à 2. Dernière modification le 27 avril 2022 à 20:07.

          Sway n'est pas mauvais mais les écrits de Vault sont en contradiction avec la réalité:
          il prétendait que du C bien écrit est mieux que les langages plus moderne et plus à la mode. Vu le nombre de segfaults remontés par les utilisateurs, c'est peut-être plus difficile qu'il n'y parait…

        • [^] # Re: Aucun intérêt

          Posté par  (Mastodon) . Évalué à 3.

          Je ne peux pas parler des sourcehut mais sway fonctionne bien.

          Cela dit je comparais les personnes vis à vis de leurs interactions sociales, pas ce qu'ils ont produit. On ne peut pas dire que c'est Elon Musk qui développe personnellement les Teslas, spaceX ou les hyperloops de toute manière. Je crois que la seule chose qu'Elon Musk a développé personnellement, ce sont des jeux vidéos en basic et le site web de sa première startup, zip2.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.