1 points par GN⁺ 2023-08-05 | 1 commentaires | Partager sur WhatsApp
  • Rich Hickey prend sa retraite du développement de logiciels commerciaux et met fin à son emploi chez Nubank, mais revient comme développeur indépendant pour continuer la maintenance et l’amélioration de Clojure
  • Le travail sur Clojure se poursuit avec Alex, Stu, Fogus et plusieurs contributeurs, avec des travaux également prévus pour 1.12 et au-delà
  • Nubank continue de soutenir Alex, Fogus, l’équipe centrale de Clojure et la communauté Clojure au sens large
  • Datomic continuera d’être dirigé par Stu chez Nubank, et la croissance de l’équipe ainsi que la nouvelle offre gratuite pourraient façonner la suite
  • Cette retraite redonne à Rich Hickey la liberté et l’indépendance des débuts de Clojure, tandis que le parcours de Clojure continue

La retraite de Rich Hickey et la poursuite du développement de Clojure

  • Rich Hickey prend sa retraite du développement de logiciels commerciaux et met également fin à son emploi chez Nubank
  • Voir Clojure et Datomic être appliqués avec succès à grande échelle a été pour lui une expérience fascinante
  • Après sa retraite, il poursuivra la maintenance et l’amélioration de Clojure en redevenant développeur indépendant
  • Le travail sur Clojure se poursuit avec Alex, Stu, Fogus et de nombreuses autres personnes
  • Des travaux utiles sont prévus pour Clojure 1.12 et les versions suivantes

Le soutien de la communauté et de Nubank

  • La communauté Clojure reste accueillante, mature et productive
  • La communauté continue d’étendre Clojure à plusieurs nouveaux domaines intéressants
  • Nubank continue de soutenir Alex, Fogus, l’équipe centrale de Clojure et la communauté Clojure au sens large

La prochaine étape pour Datomic

  • Stu continuera de diriger le développement de Datomic chez Nubank
  • L’équipe Datomic grandit et prospère au sein de Nubank
  • La nouvelle offre gratuite de Datomic est un point d’attention pour la suite

Retour sur Cognitect

  • Pour Rich Hickey, son passage chez Cognitect restera l’un des temps forts de sa carrière
  • Il a appris de chaque membre de l’équipe et éprouve une profonde gratitude pour toutes leurs interactions
  • Stu et Justin ont pris des risques à plusieurs reprises pour ses idées, ont été les meilleurs partenaires et amis, et ont toujours incarné pleinement l’integrity
  • Alex Miller possédait en abondance de nombreuses compétences qui manquaient à Rich Hickey, et sans sa détermination, sa positivité et son amitié, Clojure ne serait pas ce qu’il est aujourd’hui

De retour comme développeur indépendant

  • Rich Hickey s’est fait de nombreux amis grâce à Clojure et Cognitect, et espère continuer à entretenir ces amitiés
  • Cette retraite lui redonne la liberté et l’indépendance de l’époque où il développait Clojure pour la première fois
  • Le parcours de Clojure continue

1 commentaires

 
GN⁺ 2023-08-05
Avis sur Hacker News
  • Simple Made Easy de Rich est la meilleure vidéo de programmation que j’aie vue, et je pense que c’est quelque chose que beaucoup d’ingénieurs doivent vraiment comprendre pour mieux coder.
    Je travaille comme ingénieur le plus senior, c’est-à-dire chief architect, dans une entreprise qui compte plus d’un millier d’ingénieurs, et je recommande cette vidéo à chaque junior qui me demande comment progresser.
    Par ailleurs, la seule grosse application que j’aie lancée en Clojure + Aleph a tourné pendant 7 ans sous une charge soutenue de plus de 10k TPS, sans aucun bug ni incident signalé.

    • Beyond PEP8 de Raymond Hettinger est aussi une conférence que je recommande absolument.
      C’était quelque chose que j’avais toujours en tête sans réussir à bien l’exprimer à mes collègues, et ce n’est qu’après avoir vu cette conférence que j’ai pu l’expliquer ; comme elle couvre à la fois Python et Java, elle a davantage de chances d’être acceptée par des personnes peu familières de la programmation fonctionnelle.
      Beaucoup de programmeurs avec qui j’ai travaillé ne cherchaient pas vraiment à apprendre correctement l’environnement qu’ils utilisaient, répétant des approches inadaptées ; ou, à l’inverse, tentaient de tordre l’environnement à leurs préférences en surconcevant des abstractions. Dans les deux cas, cela peut mettre un codebase en vrac.
    • Quand j’ai commencé à apprendre Clojure, 1 désignait le dernier résultat, 2 celui d’il y a deux expressions, *3 celui d’il y a trois expressions, etc., et je me suis dit que ça finirait forcément par poser problème.
  • J’ai écrit mon premier système de trading en Clojure parce que je devais dépendre de bibliothèques Java.
    C’était en 2011 et j’avais environ trois ans d’expérience en Lisp ; le choix d’un langage relativement nouveau suscitait des regards sceptiques autour de moi, mais le fait qu’il repose sur la JVM, un environnement utilisé à l’époque par beaucoup de sociétés de trading haute fréquence, a aidé à convaincre.
    Quelques années plus tard, de nouvelles exigences incluant une interopérabilité avec C++ ont conduit à le mettre à la retraite et à le réécrire, mais l’utilisation mémoire et le suivi des allocations sont devenus très difficiles, et dans un système sensible au temps, le coût des allocations mémoire se faisait fortement sentir.
    Lors du portage vers Java, les bibliothèques Java se sont réutilisées facilement, mais à cause de cette technique à la Common Lisp consistant à créer d’abord un DSL en Clojure puis à écrire les algorithmes par-dessus, le portage du code d’implémentation des algorithmes a été bien plus difficile.
    Cette partie est devenue beaucoup plus verbeuse et maladroite après la réécriture, mais c’était vraiment amusant, et j’ai eu l’impression d’apprendre en un mois ce que j’aurais normalement appris en un an.

    • Sur la JVM, l’allocation elle-même n’est pas particulièrement lente ; elle se résume souvent à incrémenter un pointeur, et elle est même souvent plus rapide que dans des langages à gestion mémoire manuelle.
      Les mécanismes nécessaires au garbage collection créent de l’overhead, donc l’idée générale est juste, mais il est difficile de dire que la lenteur vient de l’allocation elle-même.
    • Je me demande s’il n’était vraiment pas possible de convaincre l’entreprise d’utiliser un interpréteur Scheme embarquable pour le DSL.
    • Je me demande si, au final, les performances de Clojure/Java n’étaient pas suffisantes et s’il a donc fallu passer à C++.
    • Si vous avez d’abord créé un DSL en Clojure pour écrire ensuite les algorithmes avec, cela ne veut-il pas dire qu’il faut vraiment éviter autant que possible les macros Lisp ?
  • J’ai réalisé deux gros projets en Clojure : l’un était un SaaS de startup qui a fermé, l’autre un système interne, et les deux ont été vraiment plaisants.
    Des gros composants serveur jusqu’au couplage au niveau des modules, j’ai appris la valeur immense des composants faiblement couplés qui s’échangent des données simples, et depuis, je me méfie fortement des énormes frameworks web monolithiques et dogmatiques.
    Lisp, dans son ensemble, a été le terrier de lapin de la programmation le plus gratifiant dans lequel je me sois plongé, une véritable mine d’or de techniques et d’entraînement qui ont changé ma façon de penser, même quand je code dans des langages impératifs/procéduraux.

  • Le mot congratulations vient du latin : il combine com-, qui signifie « ensemble », et gratulari, qui signifie remercier ou manifester de la joie ; gratulari vient de gratus, de la même racine que gratitude.
    Je n’ai eu que la chance de rencontrer Rich en personne quelques fois, mais je veux lui exprimer ma profonde gratitude, et le fait qu’il franchisse cette étape me réjouit beaucoup.
    J’ai hâte de voir ce qu’il montrera dans la suite.

    • Peu de choses capturent aussi bien cet esprit que la vidéo classique Congratulations de Big Man Tyrone.
      Le sens y a oscillé du sincère au satirique, puis de nouveau au sincère, mais je pense que l’attitude fondamentalement joyeuse qui sous-tendait la vidéo originale portait un optimisme de joie authentique.
  • Les conférences de Rich Hickey m’ont amené, pendant mes années d’université, à explorer Clojure et la programmation fonctionnelle, ce qui m’a ensuite donné l’occasion, dans une partie de ma carrière, de contribuer au développement de F#, un langage fonctionnel.
    Je ne peux pas dire que cela ait été un immense succès, mais ce n’était pas non plus un gros échec, et au final je suis vraiment content que les choses aient pris cette tournure.
    Même aujourd’hui, quand je regarde parfois mon projet de fin d’études écrit en Clojure, je le trouve singulièrement élégant.

    • J’ai vécu quelque chose de similaire.
      Depuis, j’ai créé des choses qui ont eu davantage d’impact, mais au bout du compte, le logiciel dont je suis le plus fier est une calculatrice écrite en ClojureScript.
      En m’inspirant librement du dernier chapitre de SICP, j’ai implémenté les transitions d’état d’une machine à registres de façon ridiculement métacirculaire, et comme l’implémentation était plus intéressante que l’application réelle, j’ai visualisé la machine à registres dans Processing comme une ALU rudimentaire.
      Sans Rich Hickey ou Clojure, je n’aurais probablement presque jamais compris à quel point écrire du logiciel peut être amusant et créatif ; si j’avais essayé de mettre ce genre de logique en production, j’aurais été viré immédiatement, mais l’expérience en elle-même valait A+.
    • J’ai commencé à programmer en F# à l’époque où vous étiez chez Microsoft, et en quelques années F# est devenu un choix multiplateforme assez solide.
      Microsoft et la communauté y sont pour quelque chose, mais votre aide a clairement beaucoup compté aussi.
  • Je me souviens que Rich parlait du temps et de l’argent qu’il a consacrés à Clojure, y compris de l’argent tiré de son épargne retraite.
    Je lui souhaite une longue et riche retraite heureuse.

  • Les annonces originales de 2020 sont ici :
    https://cognitect.com/blog/2020/07/23/Cognitect-Joins-Nubank
    https://news.ycombinator.com/item?id=23926407
    https://building.nubank.com.br/welcoming-cognitect-nubank/
    C’est une histoire très intéressante.

    • J’ai cru que c’était exactement il y a un an et que la période d’attente de Rich était terminée, mais en revérifiant, ce n’était pas du tout il y a un an.
  • C’est vraiment une excellente nouvelle.
    Premièrement, cela renforce l’idée que Clojure continue de mûrir comme projet d’équipe.
    Deuxièmement, cela ressemble au signe que de nouvelles choses formidables, rendues possibles uniquement par une liberté personnelle, vont émerger.
    Troisièmement, le BDFL prend sa retraite de son employeur pour se replonger directement dans le travail de toute sa vie, et ça donne envie de l’encourager.

    • Je l’ai vu exactement comme ça aussi, et ce langage dispose désormais d’une concentration bien plus grande.
  • J’ai rencontré Rich chez Stu en jouant à Marvel Champions.
    Merci pour Clojure, Datomic, Cognitect, ainsi que pour les nombreuses conférences ; ces créations ont enrichi ma vie de multiples façons.
    J’espère qu’il aura beaucoup de temps à passer dans un hamac pendant sa retraite.

  • Sans l’effort considérable de la communauté autour de Clojure et ClojureScript, OrgPad n’aurait pas été possible.
    Les membres de l’équipe seraient probablement restés coincés dans le monde académique ou dans des structures d’entreprise, alors qu’à la place nous avons pu vivre comme une startup/entreprise gérée, en pratique, par deux familles.
    Merci à Rich et à toutes les personnes qui ont accompagné ce parcours, pour avoir fait du codage non pas une corvée, mais une activité prévisible, productive et presque amusante.