• # Même sujet mais pas sur linkedin

    Posté par  . Évalué à 3.

    https://betterprogramming.pub/the-curly-story-of-coding-49a348a31cf2

    (le site utilise medium.com par contre, pas trouvé mieux)

    • [^] # même sujet mais traitement différent

      Posté par  (site web personnel, Mastodon) . Évalué à 0. Dernière modification le 08 juin 2023 à 07:54.

      « Elye, dans Better Programming via medium » (que l’on va abréger « E@m » par la suite), dit résumer Michel ; mais on n’arrive effectivement pas à remonter à la page en question. Donc, comme c’est un résumé, on passe de ALGOL58 à BPCL puis au C …avec l’impression (attention, il s’agit de mon ressenti) que « Boum, les autres ont pas vu, mais heureusement qu’il y a eu les génies de K&R pour remplacer $(
      …$)
      par {…} » (le genre de choses qui font penser à certaines personnes penser qu’il y a eu un genre de complot C… —échange que j’avais eu ici mais je ne parviens plus à retrouver le lien)
      « Brantley Coile via linkedin » (que l’on va abréger « B@l » par la suite), donne un aperçu de ce qui se faisait avant ALGOL en présentant FORTRAN (pré-70 donc, comme en assembleur il dit, comme en BASIC longtemps plus tard on peut rajouter, en utilisant le honni et problématique/hasardeux en l’absence de structuration…) et COBOL (avec l’élégant et discret point final). Parce que, bon, on n’a pas attendu ALGOL pour avoir ce besoin ni pour le traiter (la personne peu au fait de ces choses pourrait penser, en lisant E@m que ça ne se faisait pas avant.) Ensuite, B@l montre comment la même syntaxe a été transposée en pL/1 et BCPL : on comprend que ce sont les mêmes paires malgré la dissemblance apparente. À ce niveau, on comprend que c’est quelque chose comme §…§͟ dans la spécification qui a été retranscrit en $(
      …$)
       ;-) Ensuite, on apprend que ce n’est pas le langage C qui a changé cela en {…} mais plutôt le langage B dont il l’a hérité ; et que cela s’est fait parce que K. Thomson a remarqué cette nouvelle touche sur le clavier du Teletype Model 37 (et je pense qu’il doit être présent sur celui du Teletype Model 35 aussi, vu que les deux utilisent la même norme ASCII… mais je n’arrivent pas à trouver comment ces symboles, qu’on ne trouvait sur aucune machine à écrire ou téléscripteur avant, y ont atterri…)

      B@l dans la suite regarde les descendants de ALGOL par Wirth (Pascal puis Oberon) et note la simplification tout en gardant la lisibilité expressive —que l’on retrouve aussi ailleurs et remarque qu’un chemin similaire est suivi par Go comparativement à C.
      E@l de son côté part du constat que c’est la forme {…} qui est la plus répandue aujourd’hui (on lui dit qu’il y a pas mal de langages autre que Python qui n’utilisent pas la syntaxique C ? À tout hasard : Haskel, OCaml, Ruby, sont les premiers qui me viennent à l’esprit mais on pourrait en trouver d’autres) et que la bataille serait dans le style d’indentation.

      Même sujet, mais pas même traitement ; les deux se complètent ?

      P.S. {mathjax} son père, le markdown de LinuxFr me les brise. Je laisse la modération éditer le post car je ne sais pas comment, malgré l’aide du wiki, comment on évite ce truc qui semble bien être un bogue perplexant.

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # Mouais

    Posté par  . Évalué à 2.

    Camp 3 is the least popular, as it is not consistent.

    Ça raconte un peu n'importe quoi, c'est le style K&R, et il est bien plus souvent utilisé que le style Allman par exemple (nommé Camp 1).

    • [^] # Re: Mouais

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

      Ça dépend surtout des projets sur lesquels on travaille non ? Moi je vois souvent du style GNU sauf quand je consulte le source du noyau Linux. Et même K&R a tellement de variantes…
      Ceci dit, le jargonfile dit que Allman et Whitesmiths sont les plus populaires…

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

Suivre le flux des commentaires

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