Journal d'un avocat

Instantanés de la justice et du droit

Aller au contenu | Aller au menu | Aller à la recherche

In Memoriam Dennis MacAlistair Ritchie

La semaine dernière, le monde, dont votre serviteur, a pleuré la mort de Steve Jobs. Tout a été dit sur cet homme, et même votre serviteur s’est fendu d’un petit mot là-dessus, en d’autres lieux puisque la nouvelle ne me paraissait pas avoir sa place ici, pour expliquer en quoi il était légitime que sa disparition puisse causer du chagrin à ceux qui ne l’avaient pas connu personnellement.

Mais le week-end dernier, une autre figure de l’informatique est morte, dans une indifférence médiatique qui confine à l’injustice, d’où le lien avec mon blog.

Modestement, moi qui n’utilise qu’un seul langage, le français (ce qui de nos jours n’est  cependant pas sans quelque mérite), et qui ne puis me targuer que d’être un amateur béotien en matière d’informatique, je voudrais lui consacrer, à lui l’inventeur de langages, un billet d’hommage, même si je ne doute pas que les informaticiens, qui sont nombreux à me faire l’honneur de me lire, expliqueront mieux que moi qui il était dans les commentaires.

Dennis_MacAlistair_Ritchie_.jpgDennis MacAlistair Ritchie (9 septembre 1941 - 8 octobre 2011)

Dennis MacAlistair Ritchie fut un pionnier de l’informatique, et principalement le co-créateur d’UNIX, un système d’exploitation créé en 1969 et qui a posé la fondation de systèmes d’exploitations comme GNU/Linux ou Mac OS X, le système d’exploitation des ordinateurs d’Apple (et indirectement donc des iPhones et iPad), et le créateur du langage de programmation C, dont la dernière version l’héritier (C++) est parmi les plus utilisés aujourd’hui (le Livre Blanc de Ritchie sur le C est le petit livre rouge de la révolution informatique que nous vivons, je ne plaisante que sur la forme).

Je sais que beaucoup diront “gné ?” en lisant cela. Disons que s’il n’a pas inventé la poésie, il a inventé l’alphabet et contribué à inventer la grammaire.

L’informatique telle qu’elle est aujourd’hui doit énormément à Ritchie. Et les logiciels qui font tourner ce blog, tout comme ceux qui font tourner le serveur qui l’héberge et vous permet de le lire, n’existeraient pas sans lui. Je lui suis redevable du succès de ce blog, et de son existence même.

Je ne prétendrai pas pouvoir expliquer son apport, et je ne vais pas recopier ici les pages Wikipédia qui lui sont consacrées. D’autres le feront mieux que moi en commentaires. Mais son œuvre, dont je ne perçois qu’une ombre, suffisante toutefois à me donner le vertige, mérite d’être saluée. Il entre au Panthéon ingrat des scientifiques qui ont changé le monde sans que le monde s’en rende vraiment compte. Puisse ce billet réparer un tout petit peu cette injustice.

Que la terre lui soit légère.

Commentaires

1. Le jeudi 13 octobre 2011 à 20:02 par Enkimy

Un bien bel hommage, Maître, et une bien belle comparaison avec notre langue.

2. Le jeudi 13 octobre 2011 à 20:02 par Rama

Amen.

3. Le jeudi 13 octobre 2011 à 20:05 par Dam_ned

Merci maître.

4. Le jeudi 13 octobre 2011 à 20:06 par Plokta

»Modestement, moi qui n’utilise qu’un seul langage, le Français (ce qui de nos jours n’est cependant pas sans quelque mérite)

J’échangerais bien un peu de votre Français contre un peu de mon C/C++ ( que j’ai de plus en plus l’impression de mieux maitriser que ma langue natale ).

Continuez, ne changez rien.

5. Le jeudi 13 octobre 2011 à 20:07 par Clicky

Nota Bene : les langages C et C++ sont deux choses différentes. Le langage C est encore très largement employé de nos jours.

Merci pour cet hommage
(juste un informaticien qui lit parfois les billets de notre maître bien aimé)

6. Le jeudi 13 octobre 2011 à 20:10 par snihf

Maître, pour une fois que je peux vous reprendre sur un point, le C n’est pas une version du C, mais une évolution. Le C existe toujours et, pour bien des usages, est plus adapté que le C.

Merci pour tout vos billets.

7. Le jeudi 13 octobre 2011 à 20:11 par Dam_ned

C’était un des géants sur l’épaule desquels beaucoup de visionnaires se sont appuyés …
Merci d’avoir partagé Dennis

8. Le jeudi 13 octobre 2011 à 20:13 par Teocali

Sans doute le plus bel hommage que j’ai pu lire pour cet homme. Merci maitre.

9. Le jeudi 13 octobre 2011 à 20:13 par Oriam

Merci Maître, merci pour Monsieur Ritchie, et merci de permettre à vos lecteurs avisés de (re)découvrir qui était cet homme. Un homme qui grâce à son savoir et sa volonté de rendre les choses plus utiles a contribué à la révolution informatique.
Ce Monsieur avait posé quelques concepts dont l’un consistait à développer un ensembles d’outils simples et efficaces. Chaque outil faisant une chose, mais la faisant bien.
Un principe à méditer.

10. Le jeudi 13 octobre 2011 à 20:15 par Raveline

Bien dit.

11. Le jeudi 13 octobre 2011 à 20:18 par fb251

Déjà merci d’avoir fait ce billet.

C’est en effet pas hors sujet que de rendre justice à un pionnier qui a changé le monde en toute discrétion, sans fanfare.

Je me permets une légère correction : le C++ est un langage qui puise ses racines dans le C mais ne le remplace nullement, le C reste toujours très employé, près de 40 ans après sa création ce qui en informatique relève de l’exploit.

J’ai pas eu le cœur de lancer mon compilateur C aujourd’hui.

12. Le jeudi 13 octobre 2011 à 20:19 par broz42

A noter tout de même le magnifique et poétique hommage d’Ecrans.fr (http://www.ecrans.fr/Deces-de-Denni…). Le printf(“Goodbye World”) ; est extraordinaire.

13. Le jeudi 13 octobre 2011 à 20:23 par Vicnent

Le livre blanc est en fait un livre noir

14. Le jeudi 13 octobre 2011 à 20:24 par Jérôme

Merci pour cet hommage et cette petite vulgarisation :)

15. Le jeudi 13 octobre 2011 à 20:25 par Sansuiso

Très subtile, l’évocation de C++ comme héritier du C, les fanas d’objet apprécieront !
Bel hommage.

16. Le jeudi 13 octobre 2011 à 20:26 par Seb

Merci Maître.

17. Le jeudi 13 octobre 2011 à 20:28 par bud

Merci maître.
L’informatique est quelque fois bien trop hermétique.

18. Le jeudi 13 octobre 2011 à 20:29 par Khisanth

J’ai trouvé une joli formule sur ma TL ce matin qui résume assez bien l’apport de ces deux pionniers qui nous ont quitté récemment (Tremble William Gates III) :
Grâce à Denis Ritchie nous avons l’informatique moderne et grâce à Steve Jobs elle est entrée dans nos foyers.

19. Le jeudi 13 octobre 2011 à 20:30 par David

Merci Maître pour ce post.

L’influence de Dennis Ritchie et du langage C dans l’informatique me semble en effet cruciale, et beaucoup de logiciels ainsi que d’autres langages ne seraient point ce qu’ils sont sans cette influence du C et de Dennis Ritchie.

Paix à son âme.

20. Le jeudi 13 octobre 2011 à 20:35 par André

Le livre blanc est bien blanc.

La version française est noire.

21. Le jeudi 13 octobre 2011 à 20:36 par Thierry Lhôte

Merci l’Eolas,

A ceci vous pouvez rajouter que la date 0 pour nos machines en informatique - et l’on calcule le nombre de secondes par rapport à cette date - correspond au 1er janvier 1970 soit à la naissance de ce système Unix devisé avec son collègue Ken Thompson . C’est le Unix Timestamp.

C’est assez fascinant, dans sa vie, d’avoir été à l’origine des temps…

22. Le jeudi 13 octobre 2011 à 20:37 par celui

Depuis quelques jours, il y a deux livres sur ma table de chevet: une Bible, et un K&R.

(Le Stroustrup est au fond d’un placard)

23. Le jeudi 13 octobre 2011 à 20:41 par Spyro

Personnellement j’ai toujours le Kernigan-Ritchie (“Le langage C”) sur mon bureau, alors que ça fait un bout de temps que je n’ai pas fait de C… (et le mien est jaune, nananère)

Sinon, on peut dire “directement des iPhones et iPads” en fait, iOS ayant les mêmes bases unix que MacOSX. On notera que l’Objective-C (langage principal pour Mac et iBidules) est aussi un héritier direct du C. Mais passons, on n’est pas sur un blog informatique n’est-ce pas ?

PS: vous maniez la langue judiciaire aussi maitre, c’est beaucoup plus compliqué que le C, qui ne s’amuse pas à avoir des exceptions partout. C’est plutôt le C++ qui a des exceptions (ouille, un calembour d’informaticien *je sors* ).

24. Le jeudi 13 octobre 2011 à 20:49 par Ysabeau

Mais ce n’était pas un as du marketing, voilà la différence fondamentale (outre le fait qu’il était, lui, vraiment un inventeur de génie).

25. Le jeudi 13 octobre 2011 à 20:52 par Enatheme

Merci beaucoup pour ce billet !

Oui, le monde est injuste meme avec les morts =/

free(Ritchie);

26. Le jeudi 13 octobre 2011 à 20:55 par Killerjeff

Pour moi qui suis un petit développeur C/C++, c’est un authentique génie qui vient de disparaitre.

J’ai lu une comparaison si assez parlante de ce qu’a apporter Steve Jobs et Dennis Ritchie :
“Si on arrête d’utiliser ce que Steve Jobs a apporté 5% des gens n’aurait plus d’ordinateurs et beaucoup n’aurai plus de baladeur/smartphone.
Si on arrête d’utiliser ce que Dennis Ritchie a apporté, 95% de ce qui est informatique ne fonctionne plus (serveur bancaire, informatique dans les avions/trains/voitures, en bien sur tout nos PC, même les Mac)”

27. Le jeudi 13 octobre 2011 à 21:07 par fred42

@ Thierry Lhôte en 21 :
Vous avez fait le commentaire que je voulais pendant que je cherchais à le compléter du calcul du nombre de secondes qu’il a vécu avant cette date 0. Le temps de trouver la syntaxe appropriée :
$ date —date=”1941-09-09 12:00:00” +%s
-893426400
Il est donc né 893 426 400 secondes avant la date 0
et est parti 1 318 068 000 secondes après.
À l’imprécision près sur l’heure de ces deux événements.

Je suis de ceux qui ont utilisé un Unix avant un Windows et qui n’utilise que du Linux chez moi.
Bref, cette nouvelle apprise aujourd’hui m’a rendu un peu triste.

28. Le jeudi 13 octobre 2011 à 21:23 par slyce

Merci Maître pour cet hommage.

29. Le jeudi 13 octobre 2011 à 21:41 par Laurent

C’est réconfortant de voir un avocat rendre un hommage appuyé à un computer scientist. Sachant que, de mon côté, je me suis rendu compte que la plupart de mes collègues informaticien/nes ne savaient pas qui était Dennis Ritchie, pas plus qu’ils ne savaient qui était Ada Lovelace. Par contre ils savaient tous qui était Steve Jobs bien avant son décès. Bref on peut dire que les informaticiens sont des cancres dans leur propre matière.

30. Le jeudi 13 octobre 2011 à 21:47 par gallier2

Dennis Ritchie est mort et personne ne m’a prévenu…

Pour rajouter aux langages qui doivent beaucoup à C, n’oublions pas Java dont la syntaxe s’inspire fortement de C. Perl contient aussi beaucoup d’idées d’inspiration directe du C. Dans les dérivatifs objets après l’imbittable C++, l’étrange Objective-C on a aussi l’élégant et génial D.

31. Le jeudi 13 octobre 2011 à 22:00 par Fabrice

He oui, pour moi, il évoque un livre qui m’a longtemps été à mon chevet et dans mon sac entre la maison et la fac, un livre à couverture noire sur le C par ses créateurs… un livre que nous n’appelions que sous le nom de ses deux auteurs… le Kerninghan & Ritchie… Je dois l’avoir encore mais il tombe ne ruine tellement il a été utilisé. C’était l’époque (informatique) ou on osait faire des choses “pas très catholiques” en C comme de l’arithmétique sur les pointeurs (pour les mékeskidi, cela n’a rien d’obcène ;-) )…

Sinon, Unix, c’est vraiment génial ;-)

Merci de me l’apprendre car même dans le monde de l’informatique, cette nouvelle circule mal semble-t-il.

PS: pour gallier2, le point fort du C n’a jamais été sa syntaxe et hélas, Java ou C++ ont hérité de cette grammaire ambigüe…

32. Le jeudi 13 octobre 2011 à 22:02 par Manu

@Killerjeff en 26:
Depuis début septembre, j’explique à mes étudiants en cours de… “Programmation C” qu’énormément des caractéristiques du C viennent de son ancienneté. Maintenant je vais pouvoir leur faire prendre conscience que c’est un langage ancien. Merci pour la comparaison, je vais l’utiliser en cours.
Et bien sûr merci à Maître Eolas pour ce billet. L’étonnement de trouver ici un hommage à un informaticien n’a eu d’égal que le plaisir que j’ai eu en le lisant.

33. Le jeudi 13 octobre 2011 à 22:04 par Informaticien

Universitaire en informatique, j’ai découvert et un peu compris (du moins l’ai-je cru parfois) le droit grâce à la lecture de votre blog depuis des années, et je vous en remercie.

Je suis heureux de voir un “non spécialiste” rendre hommage à Ritchie, l’un de ces scientifiques extraordinairement connus par ses pairs et extraordinairement inconnus par les autres.

34. Le jeudi 13 octobre 2011 à 22:09 par RG

@ Eolas

langage de programmation C, dont l’héritier (C++)

En fait C est un langage bas niveau juste au dessus de l’assembleur. Pour développer UNIX l’assembleur était parfait pour les routines entrées-sorties mais il fallait un langage plus évolué (comportant des fonctions) pour tout le reste d’où un premier langage B développé par Ken Thompson, issu lui-même du BCPL.

J’ai eu la chance de voir le vrai C au passage du PDP 8 (et à mémoire à tores !!!) au PDP 11.

En fait il n’y a là qu’évolution. La véritable révolution est dans le fait que C, Unix et internet c’est la même invention.

est parmi les plus utilisés aujourd’hui

J’ai des collègues qui ne programment aujourd’hui qu’en 99 % C et 1% assembleur.

35. Le jeudi 13 octobre 2011 à 22:15 par El Re

Je profite de ce billet pour répondre sur votre texte sur Apple.
Vous avez la même attitude en informatique que celle que vous dénoncez, en matière de droit, chez ceux qui ne voient pas d’inconvénient à être privé de leur liberté.
Je m’explique, dans les systèmes comme l’Iphone, Apple s’arroge le droit de décider pour vous de ce que vous pouvez installer comme logiciel. Les gens disent “je m’en fiche, j’ai tout ce dont j’ai besoin”, mais en réalité cela revient à dire “ça me dérange pas qu’on m’attache à une laisse, j’ai pas besoin d’aller à plus de 2 m de toute façon”…

36. Le jeudi 13 octobre 2011 à 22:19 par Patrice

Bel Hommage.
Redde Dennis MacAlistair Ritchie quae sunt Dennis MacAlistair Ritchie, et quae sunt Dei Deo.

37. Le jeudi 13 octobre 2011 à 22:22 par nicolas

Merci maitre pour ce billet qui rend hommage à celui qui est véritablement l’un des pères de l’informatique moderne, presque autant à mes yeux que Alan Turing himself.

38. Le jeudi 13 octobre 2011 à 22:22 par RG

23 Spyro

j’ai toujours le Kernigan-Ritchie (“Le langage C”) sur mon bureau, alors que ça fait un bout de temps que je n’ai pas fait de C… (et le mien est jaune, nananère)

Je ne l’ai connu qu’en noir. Mon dernier rescapé (dépôt légal mai 1991) toujours rangé sur l’étagère a encore le prix: 157.00 francs, un autre siècle…

39. Le jeudi 13 octobre 2011 à 22:23 par Exanis

Que dire suite à cet article… Je suis en école d’informatique, et comme tous mes camardes de cours, je code en C. C’est donc avec une profonde tristesse que j’ai appris ce décès, et avec une amertume presque aussi grande que j’ai vu l’indifférence quasi-totale qui l’a accompagnée.

Le K&R (The C Programming Language de son vrai nom) est à beaucoup d’informaticiens ce que le code pénal est aux avocats pénalistes. Comment vraiment parler de l’apport de Ritchie au monde de l’informatique ? Imaginez un instant un monde sans apple - OSX est codé en C et s’appuie largement sur le noyau Unix, c’est à dire ce que Ritchie a créé. Imaginez un monde sans Linux aussi. Ce qui veux dire sans internet - l’immense majorité des serveurs sont sous un système d’exploitation dérivé d’unix. Imaginez un monde sans Windows, pour faire bonne mesure - windows est écrit, il me semble, en C.

Votre métaphore avec l’alphabet et la grammaire est pour moi magnifique. Je me permet d’en proposer une autre : c’est comme si il n’avait pas composé la musique de Beethoven, mais qu’il avait inventé le piano et la notion d’accord.

Peu de “non-informaticiens” se rendent réellement compte de son extraordinaire impact sur notre mode de vie actuel. Alors, merci Maitre de cet hommage que vous lui rendez ; et puisse-t-il amener les “mekeskidi” de l’informatique à mieux connaitre cet homme exceptionnel.

free(Ritchie);
return (EXIT_SUCCESS);

40. Le jeudi 13 octobre 2011 à 22:31 par VyGER91

Cela me “touche” plus que la disparition de Steve Jobs qui a fait certes beaucoup de bien mais aussi beaucoup de mal à l’informatique et aux nouvelles technologies. Trop commercial et pas assez ingénieur à mon goût.

Mes études ont été bercées par quelques livres de références qu’on appelait par le nom de leur auteur : le Strohmeier, le Rifflet et … le Kernigan & Ritchie.

41. Le jeudi 13 octobre 2011 à 22:33 par Killerjeff

@Fabrice(31) : C’était une autres époque les calculs de pointeurs. Quand je pense que maintenant on peut se faire traiter d’extraterrestres en gérant un tableau “à la mano”.

@Manu(32) : Merci mais je n’ai fait que répété ce que j’ai lu mais j’ai trouvé ca aussi très pertinent.

42. Le jeudi 13 octobre 2011 à 22:49 par Derek

La programmation en C étant le meilleur moment de mon adolescence et la découverte d’Unix la meilleure chose qui me soit arrivée professionnellement, je suis bien triste aujourd’hui. J’ai changé mon vieux K&R d’étagère il y a quelques jours j’en suis presque gêné d’un coup…

Merci Maître d’en avoir parlé, je ne vous reprendrai sur aucun point tellement vos mots sont justes pour le mékeskidi que vous êtes (pour une fois que c’est vous).

43. Le jeudi 13 octobre 2011 à 22:51 par DR

J’ai commencé à apprendre le C notamment avec le livre de K&R, à l’époque où j’étais étudiant.

Un aspect qui m’avait frappé, alors, est que ce livre est incroyablement bien écrit. Des phrases, du style, de la clarté, de la concision. De la joie d’écrire. Et il est assez court, aussi, malgré la densité du propos. Rien à voir avec les horribles pavés, chers et mal foutus, qui sont malheureusement le quotidien des informaticiens.

Une autre étudiante, qui ne s’intéressait pas vraiment à l’informatique (mais devait passer quand même l’UV), m’avait dit avoir aimé ce livre et bien compris le C grâce à lui. Ce qui, la connaissant, montre indiscutablement les qualités des deux auteurs.

C’est une des raisons qui font que malgré son ancienneté, ce livre continue à être lu aujourd’hui, et que son nom reste dans les mémoires. Puissent les autres auteurs en prendre exemple !

44. Le jeudi 13 octobre 2011 à 22:52 par GregF

Peu toucher par la mort de steve jobs, et je m’en excuse, j’ai vraiment eu un gros pincement au coeur d’apprendre la mort de cet homme…
J’ai toujours mon K&R que je continue de regarder, et parfois relire, comme référence pour le C.

Sinon, je voulais rajouter un petit détail. Dans la catégorie alphabet/langage, un autre homme mondialement (mé)connu est Noam Chomsky.

Si Dennis Ritchie a bercé mes premières années d’études supérieures, Noam Chomsky les a carrément rendu génialissime !
Ce dernier n’est pas (encore) mort, mais ca sera une autre figure émouvante qui partira…

Merci encore pour l’hommage que vous faites à Dennis, je pestais déjà sur le peu d’annonce de sa mort.

45. Le jeudi 13 octobre 2011 à 23:02 par sidh

Merci, Merci, Merci d’avoir relayer cette (triste) actualité !! Si peu l’ont fait que cela m’a procuré un sentiment d’injustice (désolé du terme sans doute inapproprié en ces lieux).

Quand je vois tout le “tapage” qui a été fait sur l’ancien directeur d’Apple, et qu’un homme comme dmr, aussi humble que prolifique dans ses contributions monumentales à l’informatique, récompensé, entre autres, par le Prix Turing (équivalent du Prix Nobel de l’informatique), soit médiatiquement passé sous silence*, je voudrai juste faire cette analogie :

un décorateur d’intérieur ne fait pas grand chose si le maçon n’est pas préalablement passé.

Veuillez excuser le manque de style et d’orthographe de ce premier commentaire uniquement motivé par le sentiment d’une justice rendue.

(*)Ce n’est pas faute d’avoir prévenu France Info et BFM (en plus pour BFM ça aurait été facile de faire ne serait-ce qu’une allusion lorsqu’ils ont annoncé ce jour une performance de l’action Alcatel-Lucent, dmr ayant justement travaillé dans les laboratoires Lucent Technologies de Bell)

46. Le jeudi 13 octobre 2011 à 23:13 par artvandelay

un grand homme, mais est-on pour autant obligé de dire une ânerie pareille:

“Et les logiciels qui font tourner ce blog, tout comme ceux qui font tourner le serveur qui l’héberge et vous permet de le lire, n’existeraient pas sans lui.”

et si Napoléon n’avait pas existé, on n’aurait pas de code civil ? et sans Hammurabi, on n’aurait pas de lois ? cette vision individualiste des savoirs c’est quand même incroyable.

47. Le jeudi 13 octobre 2011 à 23:33 par graam

Merci pour ce billet. Petite correction, même si le C est plus ancien, les diverses statistiques sur le sujet semblent montrer qu’il est néanmoins largement plus utilisé que le C++. Ce serait même le langage le plus utilisé avec JAVA (ce qui s’explique aussi par la quantité de code ancien à maintenir).

Quand à sa syntaxe soit disant obscure, disons que le C permet autant de coder proprement que comme un porc. De plus, se voulant proche du langage machine et étant ancien, il laisse des concepts pas forcément triviaux (pointeurs, gestion de la mémoire) à la charge du programmeur. Mais cela a aussi sont avantage: cela force le programmeur à s’intéresser aux rouages de sa machine et le sensibilise d’avantage à des problématiques que les compilateurs des langages modernes (Java, C#) ne résolvent seulement qu’en partie.

Il reste néanmoins simple de coder rapidement et proprement en C (il suffit d’un minimum de rigueur et d’un bon environnement de développement intégré), d’utiliser une gestion de la mémoire automatisée (utilisation du garbage collector Boehm), de respecter des méthodes de conception objets (voir la bibliothèque GTK). Ce langage laisse une liberté rarement égalée par ses descendants, pour le meilleur et pour le pire.

48. Le jeudi 13 octobre 2011 à 23:37 par fb251

@artvandelay (#46)

Sincèrement, dans ce cas, on peut se poser la question. Sans C pas d’Unix, sans Unix pas d’Internet, sans Internet pas de logiciel libre.
Dennis Ritchie n’a pas créé un concept isolé, il a créé toute l’infrastructure de ce qui allait devenir l’informatique moderne. Il n’était pas seul, mais sa part est immense.
Alors oui, on lui doit beaucoup et sans son travail ici bas, je ne suis pas certain qu’il serait possible d’écrire un commentaire sur le blog de Maître Eolas.

49. Le jeudi 13 octobre 2011 à 23:39 par Bertrand

=//=include <stdio.h>

int main (int, char*)
{
printf(“Rest in peace, Dennis!”);
return(0);
}

50. Le jeudi 13 octobre 2011 à 23:40 par Bertrand

Aux programmeurs, désolé pour le code ci-dessus, ce blog met un bémol sur les dièses.

51. Le jeudi 13 octobre 2011 à 23:40 par Bertrand

Et n’oubliez pas de Brian Kernighan est toujours de ce monde.

52. Le jeudi 13 octobre 2011 à 23:53 par Patrick Beau

Merci Maître pour cette petite éloge funèbre d’un “inconnu” qui a tant fait, qui lui donnera un peu de visibilité posthume.

Repose en paix, Dennis.

Que cette année parait grise…

53. Le vendredi 14 octobre 2011 à 00:08 par Schmorgluck

Merci, merci, merci. Trop directement concerné, je ne trouvais pas les mots. Merci de suppléer à mon mutisme ému.

La prochaine fois que Cesare Beccaria meurt, je vous rendrai la pareille.

54. Le vendredi 14 octobre 2011 à 00:14 par Schmorgluck

@Bertrand, yep, Kernighan est toujours vivant, et il a formulé quelque chose de très important : on peut être trop intelligent pour son propre bien, voire le bien de quiconque. Ou, comme il l’a dit, débugger un programme est deux fois plus difficile que de l’écrire. Par conséquent, si l’on programme selon le maximum de son intelligence, on est incapable de se corriger.

55. Le vendredi 14 octobre 2011 à 00:18 par EuskalHerria

MOURN=`echo ${MOURN} | awk ‘{print $1+1}’`

56. Le vendredi 14 octobre 2011 à 00:59 par PrometheeFeu

Merci au R de K&R. J’ai toujours mon K&R malgres l’obsolecense en faveur du C99. Le C a fait beaucoup progresser la programmation systeme.

/* World.c */

int main(int argc, char** argv)
{
printf(“Bye Dennis! Thanks for saying hello!\n”);
return 0;
}

Vive les operations de pointeurs! :)

57. Le vendredi 14 octobre 2011 à 01:33 par Gabriel U

Pour ceux qui lisent un peu l’anglais, un bel article consacré à Ritchie et ses comparses du Bell Lab, paru de son vivant en 2004 dans The Economist:

http://www.economist.com/node/27243…

Très lisible, l’article donne une bonne idée du contexte, des enjeux et de l’héritage de leur travail, avec aussi une mention du cadre juridique accidentel qui a contribué à sa diffusion.

L’article se termine par une jolie citation de David Gelernter à propos de l’esprit et du style de programmation de ces pionniers, qui m’évoque aussi Jobs, d’une certaine manière : “La beauté est plus importante en informatique que dans tous les autres domaines de la technologie, parce que la programmation est une chose si compliquée. La beauté est l’ultime rempart contre la complexité.”

En fait, ça m’évoque aussi, dans un autre registre, votre beau travail de vulgarisation sur ce blog, qui m’a permis de m’intéresser à un domaine que j’avais jusque là considéré comme essentiellement aride, ingrat et rébarbatif. J’en profite donc pour vous dire merci.

58. Le vendredi 14 octobre 2011 à 08:41 par julien

Maître Eolas est… http://tvtropes.org/pmwiki/pmwiki.p…

59. Le vendredi 14 octobre 2011 à 08:54 par Laurent

Merci pour tout monsieur Ritchie. Et merci à vous, maître, d’avoir su réparer cette injustice.

60. Le vendredi 14 octobre 2011 à 09:26 par moi-même

Je rejoins les commentaires sur la beauté et l’élégance de la programmation (en C ou dans un des innombrables langages dérivés).

Outre l’aspect technique, D.R. a énormément (via Unix) contribué à façonner l’aspect méthodique de l’informatique moderne. Les 3 principes d’Unix, “tout est fichier”, “K.I.S.S.” et “ne faire qu’une chose et la faire bien” sont toujours les lignes directrices vers le succès. C’est d’ailleurs en appliquant les 2 derniers principes aux IHM qu’Apple s’est imposé. Le véritable talent (et non génie) de Steve Jobs était de savoir quand une technologie d’interface pouvait être utilisé. en respectant ces deux règles.

P.S. @ graam post 47 : Java est interprété.

61. Le vendredi 14 octobre 2011 à 10:09 par LupusMichaelis

Il y a aura autant de version de « Goodbye, world » qu’il y a de programmeurs. Et tout autant d’occasions de troller sur la qualité de l’implémentations et des bogues associés ;)

Juste une précision sur un détail : il y a eu des prédécesseurs à C en terme de langage. Le génie fut de créer un langage universel pour programmer les ordinateurs (ce qui est déjà énorme), et que ce langage n’était qu’un outil en vue d’écrire un système d’exploitation (encore plus énorme). La contribution est énorme, mais je trouve un peu injuste pour ces prédécesseurs (dont Alan Turing) qui a véritablement le concept de programmation en posant les concepts qui génèrent l’alphabet et la grammaire d’un langage.

Merci de parler de Ritchie, qui n’est pas plus à pleurer que Jobs, mais dont la contribution me parait bien plus fondamentale.

62. Le vendredi 14 octobre 2011 à 10:27 par pedrorico

J’aimerais corriger quelques imprécisions dans les commentaires de ce blog :

- très précisément, C++ est un “superset” de C.
En clair, tout programme C est un programme C++ valide, mais ce dernier offre de nouvelles possibilités. Donc c’est bien une extension.
- la syntaxe Objective-C est beaucoup moins inspirée de C que de smalltalk (source : doc pour programmeurs made in apple)… Le “C” est resté pour des raisons de similitude sur le plan runtime (structure de bibliothèques, …)

Pour le reste, printf(“R.I.P %s\n”, ritchie);

63. Le vendredi 14 octobre 2011 à 10:29 par pedrorico

Erratum/oubli : et surtout, obj-C est aussi un superset de C, même si l’utilisation de la syntaxe C est fortement déconseillée voire impossible avec les dernières version de Cocoa.

64. Le vendredi 14 octobre 2011 à 11:20 par Alex

Apres Slashdot, aggregateur d’informations pour geeks, ou il postait assiduement sous le pseudo DMR, probablement le plus bel hommage.

printf(“Goodbye world\n”);
exit(0);

Merci maitre.

65. Le vendredi 14 octobre 2011 à 13:07 par Nimch

Autant la mort de Steve Jobs ne me fait ni chaud ni froid (c’est quand même le mec qui a mis en place une des plus grosses plateformes qui permet de fliquer les gens, leur pomper leur données perso pour les revendre à d’autres et accessoirement publier du contenu de grands journaux avec un droit de censure dessus, tout ça sans rien inventer d’extraordinaire et avec le concours joyeux de millions d’utilisateurs ébahis) autant Ritchie était un grand bonhomme de la science informatique. Aucun rapport donc entre les deux. Les “commentateurs” ont comparé Jobs à Newton, Einstein, Dieu ? et sur Ritchie que dalle. Triste constat de ce monde où on encense les commerciaux qui vendraient père et mère, les hommes d’affaires pourris jusqu’à la moelle et les politicards corrompus. En tous cas merci pour cet hommage maître.

66. Le vendredi 14 octobre 2011 à 13:26 par artvandelay

“Sincèrement, dans ce cas, on peut se poser la question. Sans C pas d’Unix, sans Unix pas d’Internet, sans Internet pas de logiciel libre.”

de mieux en mieux.
je vous laisse aller lire l’histoire des réseaux, des langages de programmation et des systèmes d’exploitation, et on en reparle.

ça ne diminue pas l’importance de Richie, mais sans lui et bien il y aurait eu autre chose, éventuellement plus lentement (ou pas, l’histoire d’unix n’est pas non plus sans combat)

67. Le vendredi 14 octobre 2011 à 13:36 par Luc

Si peu d’écho dans les médias hors informatique…
Merci Maître. Et merci M.Ritchie.

68. Le vendredi 14 octobre 2011 à 13:59 par LOWIE

Revenons un peu sur le C :

On doit à Turing d’avoir démontré qu’un ordinateur était une machine extraordinairement simple.

On doit à d’horribles mathématiciens d’avoir pressenti sans l’avoir démontré que tout ce que peut concevoir l’homme n’est pas assez compliqué pour qu’une simple machine de Turing ne puisse le faire.

On attend depuis que quiconque démontre que quoi que puisse espérer l’homme d’un ordinateur, la machine extraordinairement simple de Turing ne puisse le faire avec le temps.

Ce qui est gênant, c’est que s’il est probablement possible de faire faire à un ordinateur tout ce qu’un homme puisse imaginer, il reste difficile de décrire à l’ordinateur ce que l’homme désire, surtout s’il est lui-même à peine capable de l’exprimer.

Le C est une manière d’exprimer à l’ordinateur ce que l’homme désire. Le C est un langage dont la simplicité ne peut que très difficilement être battue en brèche mais auquel on reproche une trop grande proximité avec la réalité de la machine de Turing, ou plutôt, la représentation que s’en font ceux qui consacrent deux à trois semaines à l’étudier réellement pour ce qu’elle est. Autrement dit, c’est une manière bien trop simple de résoudre bien trop de problèmes.

Voilà pourquoi le C sera sans doute éternel. Tel le couteau de nos ancêtres, il permet de tout faire, mais pas par tout le monde : parce que c’est un outil trop simple qui ne flatte pas assez celui qui l’emploie.

69. Le vendredi 14 octobre 2011 à 14:16 par tuxmips

@fb251

Et pas de logiciels libres, pas d’internet.
Internet et logiciels libres, comme le dit fort bien avec beaucoup de justesse Benjamin Bayart, sont deux faces de la même chose …..
En tous cas merci à Maître Eolas pour ce billet. Pour dire merci à dennis, j’ai proposé (en vain) dans l’entreprise pour laquelle je travaille, moi le juriste, de faire une courte cérémonie devant nos serveurs sous AIX et hébergés en province en faisant une minute de silence !

70. Le vendredi 14 octobre 2011 à 14:57 par jmdesp

L’idée de Ritchie d’un “programme qui fait une seul chose, mais le fait bien”, et faire une autre programme simple si on a besoin de faire une deuxième chose plutôt que d’essayer de tout réunir en un seul, aussi basique qu’elle puisse paraitre, est un immense apport à l’informatique qui le précédait qui produisait des monstres de plus en plus complexes, et se dirigeait manifestement à travers cela dans un cul de sac évolutionnaire.

Ce principe est à la base d’Unix, une des raison majeure de son succès contre d’autres systèmes, et a influencé toute l’informatique qui a suivie.

Il faut citer l’anecdote aussi du fait que quand Ritchie et Thompson ont développé Unix, ils avaient été mis dans un placard par Bell, qui avait sorti d’un carton un projet complètement secondaire pour les y occuper : écrire un système pour gérer des manuels de documentation.
La commande “man” d’Unix est le résultat du cahier des charges initial.

Le fait que les laboratoire Bell ait ensuite décidé publié et diffusé librement le code source d’Unix en C est certainement à l’origine de tout le mouvement open source.
(même si celui qui l’a fait vraiment décoller est plus tard Richard Stallman au moment où il a découvert qu’il pouvait vivre financièrement d’un logiciel, Emacs, dont le code source était pourtant disponible gratuitement)

71. Le vendredi 14 octobre 2011 à 15:41 par fb251

@artvandelay (#66)

Ce qui est extraordinaire c’est la concomitance entre le C, Unix et les réseaux (le logiciel libre c’est un petit peu plus compliqué vu que ça été formalisé en 1985 mais le principe existait bien avant, c’était la façon naturelle de faire du logiciel).

Sans aucun doute, il y aurait eu autre chose. Peut-être utiliserions-nous le Super-Minitel qui s’appuierait sur le protocole X.25 version 3 et que pour consulter un décret il faudrait faire 3614 legifrance (0,35 € / min ; bah oui ça a augmenté entre temps !).

Mais toutes ces pièces qui s’imbriquent sont le fruit d’un petit groupe de personnes, dont bien sûr Dennis Ritchie. C’est aussi parce que ça a été très rapide et principalement réalisé par des chercheurs que les politiques n’ont quasiment rien vu, imaginant plutôt des « autoroutes de l’information » et des « super-marchés virtuels » alors qu’une évolution de l’ampleur de l’imprimerie était en train de naître sous leurs yeux.

Maintenant nous resterons probablement chacun sur nos convictions ; je vous remercie de vos conseils de lecture mais ma bibliothèque est déjà bien fournie en matière d’ouvrages fondamentaux d’informatique.

72. Le vendredi 14 octobre 2011 à 16:55 par Coincoin

Allez, les employés de Foxconn ont quand même eu un petit pincement au coeur lorsqu’ils ont appris la nouvelle de la mort de Steve Jobs.
Ce jour là on a même retiré les filets anti-suicide.

73. Le vendredi 14 octobre 2011 à 17:31 par Krka

J’apprend la nouvelle par votre site ! :(
C’est une grande tristesse. J’ai tant apris sur ses livres

74. Le vendredi 14 octobre 2011 à 19:36 par Gnunux

De l’injustice ? Certainement pas, je n’ai rien à envier des ignorants.

A bientôt maître Dennis MacAlistair Ritchie

75. Le vendredi 14 octobre 2011 à 19:57 par RG

@68 LOWIE

On doit à d’horribles mathématiciens d’avoir pressenti sans l’avoir démontré que tout ce que peut concevoir l’homme n’est pas assez compliqué pour qu’une simple machine de Turing ne puisse le faire.

Il me semble que par le théorème de Gödel auquel Turing s’était particulièrement intéressé ils auraient plutôt démontré le contraire.

Une machine à juger par exemple n’est donc pas pour demain, car si le droit est bien algorithmique (IF telle situation THEN je juge comme ça), il est aussi comme le prévoit Gödel plein de situations dites “indécidables”, c’est à dire qu’il faut parfois et pour l’interpréter sortir bien loin du code, ce qu’est incapable de faire une machine algorithmique finie.

76. Le vendredi 14 octobre 2011 à 22:01 par balmeyer

Ah, voilà qui fait plaisir de voir ce nom mentionné en ces augustes lieux.

77. Le vendredi 14 octobre 2011 à 22:02 par LDiCesare

while( grieve() )
{ weep( “Dennis Ritchie” ); }

78. Le vendredi 14 octobre 2011 à 22:10 par artvandelay

Il ne manquait plus que Gödel.
La machine à juger n’est pas pour demain, heureusement, mais pas pour cette raison là.
Mais parce que le droit est écrit en langage naturel et laisse un peu de place à l’interprétation humaine.

Pour mettre Godel dans le droit, il faudrait déjà savoir si l’axiomatisation du droit permet d’encoder l’arithmétique de Peano. Tout de suite c’est moins évident.

Ce qui me fascine par ailleurs, c’est la facilité avec laquelle les gens sont prêts à admettre l’existence d’hommes providentiels, qui changent l’histoire à eux tout seul. Comme Richie à qui vous faites inventer des choses qui existaient avant lui (arpanet, ancêtre d’internet), ou auxquelles on peut difficilement le rattacher (les Unix libres arrivant par d’autres, plus tard, comme Stallman, Torvalds, si vous voulez vraiment des héros du logiciel libre, ils sont déjà plus plausibles). Le logiciel libre existe justement par des communautés, pas par des individus.

79. Le vendredi 14 octobre 2011 à 22:19 par Schmorgluck

Il y a du vrai dans ce que vous dites, artvandelay, il convient de relativiser un peu l’importance des individus dans les processus historiques. N’empêche, Dennis Ritchie a été la personne qu’il était à un moment où une part très importante de l’histoire de la technologie est passée par lui. Même moi je ne suis pas sûr que je comprends la phrase qui précède.

80. Le samedi 15 octobre 2011 à 01:35 par Mysterius

Sit tibi terra levis

L’historien que je suis ne peut que saluer vos goûts en matière d’épitaphes, maître.

81. Le samedi 15 octobre 2011 à 13:45 par v_atekor

RIP

C, Unix : les bases de l’informatique moderne. Un grand maître.

82. Le dimanche 16 octobre 2011 à 10:05 par jeux de cartes

il aura toujours des hommes cacher dans l’ombre des autres rip dennis

83. Le dimanche 16 octobre 2011 à 10:56 par Iv

Très heureux de voir que même des non-informaticiens se rendent un peu compte des contributions de cet homme. Oui, tous les sites un tant soit peu technique en parlent et sont en deuil. On parle beaucoup en ce moment de la relève et des différences entre les générations successives d’informaticiens. J’aurais pas mal à dire sur ses apports techniques, mais sur ce blog, je préfère commenter sur un détail légalo-économique de son existence.

Lorsqu’il a inventé Unix, il travaillait aux Bell Labs, qui était une structure assez unique dans l’histoire. Il s’agissait d’un laboratoire d’AT&T, compagnie de téléphone américaine. Cette dernière avait reçu du gouvernement américain le monopole de l’industrie téléphonique. Cela a permis un développement rapide et surtout empêché l’apparition de multitudes de standards incompatibles. En contrepartie, le gouvernement américain a exigé que 50% des bénéfices de l’entreprise soient investis dans la recherche. LEs Bell Labs était donc des laboratoires privés, généreusement dotés et non soumis à l’obligation de résultats. Ils payaient cher des génies et les laissaient faire ce qu’ils voulaient. Quelqu’un qui a connu ces labos m’a dit qu’on l’appelait “le pavillon des fous”. Certaines années, rien n’en sortait. De temps en temps, un prix Nobel y atterrissait, et parfois, des choses comme Unix y étaient crées, changeant durablement le monde.

À l’heure où on se dispute pour trouver un modèle pour la recherche Française, c’est un exemple qu’il est rigolo de mentionner tant il met mal à l’aise les socialistes et les libéraux :-)

84. Le dimanche 16 octobre 2011 à 18:04 par f2s

Une pensée émue pour ce formidable inventeur et réalisateur.

Ceci dit, lorqu’on cite Turing, on oublie trop souvent l’Allemand Zuse qui était son contemporain et a créé le premier ordinateur en 1941 ; mais c’était en Allemagne, pays qui a perdu la guerre, et cela ne comptait pas pour les occidentaux qui n’ont réinventé la chose qu’en 1946.

Voyez sur mon site quelques extraits de mon dictionnaire, notamment 1936, 1941, 1946, Turing, Zuse.

NB : si Ritchie, C et Unix n’y figurent pas, c’est que tout l’ouvrage ne tient pas dans une seule page ; il fallait choisir.

85. Le lundi 17 octobre 2011 à 09:46 par yann

Le C, par les libertés (les programmeurs maladroits ne verront que les risques!) qu’il offre, reste un langage informatique très utilisé et probablement le seul qui permette encore de faire une carrière complète touchant à la programmation: Le noyau linux et les drivers/modules sont ainsi codés en C.

C’est LE language par essence du “logiciel de base”.

Pourquoi? Car c’est un langage qui offre le juste niveau d’abstraction pour offrir la portabilité (par simple recompilation) tout en permettant de contrôler le matériel sans (trop) devoir utiliser le langage machine (assembeur) propre à chaque famille de microprocesseur.

Cet apport de la portabilité de source sur un grand nombre d’architectures est d’ailleurs un fondement du logiciel libre… et sans doute la principale épine dans le pied du logiciel propriétaire, qui a toujours bien du mal à concilier la portabilité et le source clos (avec la complexité ajoutée de machines virtuelles, à porter sur chaque architecture, déroulant du bytecode indépendant du processeur: Voir C#/.NET et ses développements prévus chez Microsoft par exemple)!

Le livre co-écrit avec son compère Kernighan, toujours bien vivant, reste une bible de l’étudiant touchant à l’informatique.

Un autre grand nom de cette époque fertile des Bell Labs: Ken Thompson, dont on relira une publication qui malgré ses 25 ans, est de plus en plus d’actualité:
http://www.c-program.com/kt/reflect…

86. Le lundi 17 octobre 2011 à 19:02 par balmeyer

L’influence ?

http://www.lepoint.fr/high-tech-int…

87. Le lundi 17 octobre 2011 à 19:04 par Calibre

Ces individus n’ont aucune importance.
Si eux ne l’avait pas fait, d’autres l’auraient fait.

Croire aux hommes providentiels, c’est une pente politique bien dangereuse.

88. Le lundi 17 octobre 2011 à 19:39 par Echo des Steppes

Il y a un mort qui pourrait être encore plus illustre que Ritchie, c’est le père de tous leas langages, http://fr.wikipedia.org/wiki/John_B… Backus:
il y a près de 60 ans, après consultation des usagers (l’ancêtre des primaires, mais pour savoir quelle allure aurait Fortran: dans l’histoire de l’hunformatique, il est rare que les usagers soient invités à donner leur avis sur le langage), il a formalisé Fortran, et permis de définir tous les autres langages.

Même si Fortran n’a jamais eu la prétention de “programmer LE système”, d’^etre proche de LA machine (les gens voulaient une calculatrice simplement programmable, alors que les ordinateurs tenaient dans des hangars…) , les usagers restent conviés à donner leur avis sur son évolution (et il emprunte régulièrement ce qui se fait de mieux et de plus facile aux derniers hurlements des langages hunformatiques modernes).
En particulier, tout est fait pour simplifier la vie (les pointeurs restent cachés) des utilisateurs.
Le programmeur de g95 (un précurseur de gfortran, les deux étant des compilateurs libres) a été très chagriné de sa mort, passée inaperçue en 2007.

Naturellement, la plus simple et la plus stupide façon (les gens aiment embrasser le simple et le stupide) de rendre hommage est

echo ” je rends hommage” (sous GNU linux, Unix et cygwin, pas besoin d’includes, de printf)

En fortran, qui n’est pas fait pour ça (quelle ironie!) ça reste plus simple qu’en C (l’appel aux librairies standard, tâche répétitive, est masqué) :

echo -e “\t print * ‘je rends hommage’\n\tEND\n” | gfortran && ./a.out

89. Le lundi 17 octobre 2011 à 19:56 par Denreq

Moi aussi j’ai eu droit au K&R, au code en C, C++, C#…

Mais aussi en Assembleur, en Fortran, en Pascal, en Ada, en Prolog, en Basic, en langages IEC61331-3, en LabView, etc…

Bien sûr, le C a eu le mérite d’exister. Mais il y avait déjà bien des langages avant le C, et des considérablement mieux ! Le Pascal, par exemple. Richie a donc, trait incroyablement pénible partagé par bien des ingénieurs et techniciens à l’amour propre mal placé, réinventé le fil à couper le beurre, en moins bien. Et si le C s’est finalement imposé, ce n’est absolument pas pour ses qualités en temps que langage de programmation, mais seulement parce que Microsoft l’a choisi comme standard. En informatique, ce n’est JAMAIS la qualité qui sous-tend les choix techniques, mais toujours des critères commerciaux, marketing, politique, etc…

Bref, si j’ai un regret en pensant à la mort de Ritchie, c’est que jamais je ne pourrai lui dire personnellement à quel point son langage abscon et bidouillatoire, avec lequel des armées de mauvais informaticiens se sont ingéniées à pondre du code le plus illisible possible, a pu me mettre les nerfs à vif !

90. Le mardi 18 octobre 2011 à 11:29 par Crousti

réponse au post 89 de Denreq.

Ce n’est pas parce que tu n’as pas les connaissances nécessaires à lire et écrire du code C correct qu’il est “moins bien” que les autres langages. La preuve est d’ailleurs la continuité de son existence, quand les autres langages que tu cites sont presque tous ultra spécialisés et sur le déclin. Tu veux quelque chose de facile ? Fait du java. Tu veux quelque chose qui marche, et qui marche vite ? Fait du C. Ce n’est pas une question de “choix de microsoft”, c’est une question de possibilités; de tous les langages que tu cites, en dehors de l’assembleur, du C et du C++ aucun n’est compilé, aucun n’est rapide, et aucun ne peut marcher sans un systeme d’exploitation ! Si ms a choisi le C, c’est surtout parce qu’il n’y a pas de meilleure alternative.

J’ai moi aussi pu appendre et utiliser du fortran, du cobol, de l’ada, du C, Cpp etc … il n’en reste pas moins qu’il n’y a que C et Cpp a etre a la fois rapides, polyvalents, portables et proches du matériel. C’est a dire que ce sont les seuls langages a pouvoir tout faire, rapidement, et sur toutes les machines.

Mais bien entendu, pour s’en servir, il faut savoir organiser ses idées et connaitre le fonctionnement d’une machine de turing… sinon effectivement ca se termine en “segmentation fault - coredump”. En déduire que c’est la faute du langage me fait penser qu’il y existe chez vous un problème entre la chaise et le clavier de votre ordinateur …

91. Le mardi 18 octobre 2011 à 12:08 par Rey de los Huevones

@Crousti : en relisant le post de Cenreq, avec lequel des armées de mauvais informaticiens se sont ingéniées à pondre du code le plus illisible possible, je crois qu’il existe quelque part un problème type PeBaK du côté de vos capacités de lecture….
Quant aux capacités grammaticales des hunformaticiens, “Tu veux quelque chose de facile ? Fait du java” en donne une illustration que j’espère ironique et volontaire…

Pour garantir la cohérence au cours du temps, il est à noter que ortran a été suffisament bien conçu pour qu’un programme de calcul écrit en 1967 (hors entrés sorties)se compile et donne les mêmes résultats (sauf pb d’arrondis) actuellement, sans nécessiter des efforts fastidieux de maintenance (impliquant des capacités de compréhension).

Quid du C K&R compilé actuellement sans précaution.??
Parler de “portabilité” après ça…

A noter que faire évoluer du code , outre que c’est fastidieux, est une source d’{ho|e}rreurs.

Ceci est lié au soin avec lequel , depuis une soixantaine d’années,un langage sans prétentions reste proche des besoins des utilisateurs (savez vous au moins à quoi ça sert, un utilisateur?) , faisant de la proximité avec LA machine un slogan pitoyable.

A noter que, si vous voulez, en tutoyant (d’après le contexte,), donner des conseils de choix, vous vous engagez dans des duels très primaires : joe (joe’own editor) supporte plus d’une centaine de langages informatiques pour les décorer d’après leur syntaxe, vim encore plus, bien sûr.

92. Le mardi 18 octobre 2011 à 16:34 par Schmorgluck

Crousti a été inutilement agressif, mais le post de Denreq trahit en effet une grande ignorance de l’histoire de l’informatique.

La principale caractéristique du langage C est d’être à la fois suffisamment abstrait de la machine pour être, mmh, LARGEMENT portable, sans pour autant TROP sacrifier d’efficacité. Je ne vois pas en quoi Fortran est comparable. Il y a des langages généralistes, et il y a des langages spécialisés. Le C est le premier langage spécialisé dans le fait d’être généraliste.

Fortran est effectivement un langage d’une importance considérable pour un certain public, principalement celui des mathématiciens et d’une bonne partie des scientifiques et ingénieurs. Sa syntaxe permet à ceux d’entre eux qui se sont donné la peine de l’apprendre de construire des programmes fiables sans avoir à se soucier de concepts qui concernent peu leurs disciplines, comme l’adressage mémoire, la gestion des entrées/sorties, et autres. Et donnant des résultats pertinents pour leurs besoins. En tout cas, c’est ce que j’ai entendu dire des intéressés que je connais.

Mais je note, vous qui vous faites appeler Roi des Couillons, que vous parlez d‘“utilisateurs” ? Un langage de programmation aurait des utilisateurs ? Je n’étais pas au courant. Je connaissais des programmeurs. Mais pas des “utilisateurs de langages de programmation”

Un vrai langage de programmation n’est pas fait pour des utilisateurs, il est fait pour quiconque veut travailler à faciliter le boulot de la personne qui utilisera le programme qu’on écrit. Un langage de programmation généraliste n’a pas d’utilisateurs.

93. Le mardi 18 octobre 2011 à 17:38 par Rey de los Huevones

Les “ingénieurs et mathématiciens” (ou plutôt physiciens, (bio)chimistes, statisticiens, les mathématiciens ne demandant qu’un crayon, un papier pour démontrer des théorèmes, et un traitement de texte type TeX pour les publier) utilisent Fortran pour
faire des calculs fiables, reproductibles -pendant 60 ans : essayez de voir ce que donnerait un programme en C K& R -
et
pour se simplifier la vie et ne sont en aucun cas des programmeurs.
Merci d’avoir confirmé
le mépris que professent les hunformaticiens (spécialement dans le demi-monde du logiciel prétenduement “libre”) pour toute personne qui revendique la maîtrise de son outil de travail.
Le fait qu’il existe des “utilisateurs de langages de programmation” a pu être démontré il y a une soixantaine d’années par IBM -scusez du peu!-, qui a demandé à cette audience (et non à des programmeurs, l’informatique étant à l’époque trop chère pour être confiée à des informes atticiens) ce qu’ils voulaient comme syntaxe=> d’où
a) Fortran, et
b) la notion de langage informatique, dont Backus a été le père , de son vivant….

Fortran n’a rien à voir avec une foultitude (vim a 400 décorateurs syntaxiques pour autant de langages, et il manque celui pour http://merd.sourceforge.net/) de langages inventés par des pisseurs de code pour se faire plaisir (dans la quantité, certains atteignent temporairement une certaine popularité) et cacher leur travail (à bonne raison dans 80% des cas) aux utilisateurs finaux…

En passant, j’avais oublié, par charité bien chretienne, une perle sublimissime -parmi x- de Crousti : de tous les langages que tu cites, en dehors de l’assembleur, du C et du C++ aucun n’est compilé.

vous qui vous faites appeler Roi des Couillons

Mon royaume est malheureusement de ce monde. et spécialement du demi monde informatique.

94. Le mardi 18 octobre 2011 à 21:11 par Schmorgluck

Compilé avec le compilateur pour lequel il était prévu, un programme de K&R tourne encore parfaitement sur la totalité des machines pour lesquelles le compilateur en question existe. Vous aurez certainement reconnu là une tautologie. Eh bien, la grande contribution de Dennis Ritchie a été de permettre à cette tautologie théorique d’être un simple fait de l’informatique moderne à laquelle on pense peu, tellement c’est évident.

Formulé autrement, c’est un cas très ancien et très fondamental du design pattern Pont.

Si vous ne saviez pas, avant de lire ce commentaire, ce qu’est un design pattern, vous n’êtes tout simplement pas un informaticien. Gardez cela à l’esprit quand vous formulez vos commentaires - et vos critiques.

95. Le mardi 18 octobre 2011 à 21:18 par Schmorgluck

Je me dois de préciser, la notion de design pattern est ultérieure à l’essentiel de la carrière de DMR. Il a cependant inventé une bonne partie des pratiques de base qui ont plus tard été formalisées sous cette forme de documentation.

96. Le mardi 18 octobre 2011 à 22:23 par Schmorgluck

Promis, après ce post, j’arrête (cette série, en tout cas).
Oui, j’avais mentionné les scientifiques en général, mais c’est passé à la trappe lors d’une reformulation. Désolé pour cela.

Mais, pour finir sur un argument consistant : il y a d’excellentes raisons pour lesquelles aucun système d’exploitation significatif n’a été écrit en Fortran. Ce sont les mêmes pour lesquelles aucun système d’exploitation n’a été écrit en Perl.

97. Le mardi 18 octobre 2011 à 23:05 par Elements de Langage

Compilé avec le compilateur pour lequel il était prévu, un programme de K&R tourne encore parfaitement sur la totalité des machines pour lesquelles le compilateur en question existe.

Et les vélos ne roulent que sur les routes existant à l’époque de leur fabrication!

Et vous osez présenter ça comme un progrès, prouvant magistralement que l’informatique , si c’est une chose sérieuse, ne peut être confiée aux hun formaticiens (ils ne tiennent pas la distance).

Alors qu’un programme Fortran, sans prétentions, écrit disons en 1966,

  • arrivera à être compilé
  • donnera les mêmes résultats (c’est ça qui est important et que vous avez “omis” d’envisager : GNU linux magazine France con sance!)acre quelques pages par numéro sur l’art et la manière de coder en C pour ne pas êtretrop ennuyé lors du passage d’un processeur **actuel** à un autre tout aussi **actuel**!)

sur deux millénaires d’excellents, loyaux et **reproductibles** services, dispensant les utilisateurs de portages (fastidieux, coûteux et générateurs d’erreurs) lors d’un changement de calculateur/ de mode…..

Sachez enfin que le but de ceux qui achètent un calculateur n’est pas d’avoir un système d’exploitation (il y en de très bons gratos -BSD, GNUlinux, Osolaris-) , mais des applications utiles! Et, quand ils calculent, que les résultats restent constants d’une derbière version de la mort qui tue à la suivante, indépendamment des design patterns et des pisseurs de code se gargarisant d’anglicismes….

Enfin, pour la lisibilité / maintenabilité du C, allez voir en http://en.wikipedia.org/wiki/Intern…
comment, en 40 lignes, il calcule à 10% près pi
(print *, 4.*atan(1./4.) suffit en Fortran (pas besoin de préprocesseur, d’options de compilations esotériques!) pour une précision de 1E-6 depuis cinquante ans, soit deux millénaires -pour un amateur de C, vous ne devez pas en être à une horreur d’arrondi près!- ).
Comment peut on maintenir ce type de code?

98. Le mardi 18 octobre 2011 à 23:20 par Pot de Vin

Et je voudrais signaler que la notion de langage informatique a été formalisée par Backus, à l’occasion de la fabrication de Fortran, qui est donc le Père de tous les langages (rangés par ordre alphabètiques chez Bell, dommage qu’ils se soient arrêtes à C) bien avant tous les langages qui décoiffent parce qu’on peut programmer LE système (Apple IIe, votre machine à café {avaient|ont} ils un OS: celà ne les empêch{ait|e} pas d’être fonctionnels) ne soient provisoirement à la mode…

99. Le mercredi 19 octobre 2011 à 00:08 par gab

@97
Citer l’International *Obfuscated* C Code Contest pour critiquer la maintenabilité du C, j’espère vraiment que c’est du second degré. Mais la lecture du reste du commentaire me laisse dans le doute …

100. Le mercredi 19 octobre 2011 à 00:42 par Schmorgluck

Je ne sais pas qui vous êtes, Elements de Langage, mais vous semblez vous être attitré le devoir de répondre à la place de Rey de los Huevones. Je me permets, du coup, de vous répondre à tous deux, voire même trois si je compte Denreq, comme si vous étiez une seule entité.

Vous êtes irrécupérable. Vous n’avez pas la moindre idée de ce que signifie la notion de “niveau” en ce qui concerne les langages informatiques, mais vous vous permettez néanmoins d’être péremptoire. La manifestation la plus criante de votre ignorance (ou de votre mauvaise foi) tient dans ce simple petit morceau de post : “print *, 4.*atan(1./4.) suffit en Fortran”

Vous avez omis de préciser “suffit en Fortran pour le compilateur Fortran, qui va chercher parmi ses fonctions de base, la définition de la fonction ‘atan’ (probablement dans une bibliothèque écrite en C)”. Effectivement, la fonction arctangente ne fait pas partie des commandes de base du C, pour la bonne et simple raison qu’elle n’a rien à faire dans un langage généraliste. Elle est cependant disponible dans les bibliothèques standard, parce que, dans un langage généraliste, on peut la programmer.

Fortran est un langage de haut niveau. C est un langage de “moyen niveau”, juste au dessus de l’assembleur. C’est justement sa force. C n’inclue pas nativement une commande pour calculer l’arctangente : ça fait partie de sa force aussi.

101. Le mercredi 19 octobre 2011 à 01:06 par Schmorgluck

Euh, traiter quelqu’un d’irrécupérable juste avant de l’accuser d’être trop péremptoire, est une offense de ma part à la simple logique. Je vous prie de m’en excuser, et suggère “obtusément arrogant” comme remplacement de “irrécupérable” dans mon post précédent.

102. Le mercredi 19 octobre 2011 à 01:08 par gab

“obtusément arrogant” qu’on peut écourter en “gros troll” :-)

103. Le mercredi 19 octobre 2011 à 09:35 par Hydre de Lerne

Effectivement, la fonction atan est une fonction de libmath:
l’avantage de Fortran est qu’on n’a pas à se soucier de détails sans importance lors de l’appel du compilateur (présence de la dite lib math, options esotériques -lm du compilateur) et surtout, que l’idée de faire un programme calculant sa surface, que je vous ai liée, ne semble pas aussi nécessaire que lors de l’écriture d’un “programme” C.

Et, puisque c’est le moment de rendre hommage : comment pourrait on rendre hommage à Richie pour avoir inventé un langage de moyen niveau, dont la popularité artificielle est liée aux efforts -désespérés, IMNSHO- de maintenance de code et à l’emploi des hun formaticiens qui en découle, par effet pervers?
Comment disais-je pourrait on rendre hommage pour l’invention d’un langage informatique -parmi x- si la **notion** de langage informatique n’avait pas été inventée par Backus lors de la conception de Fortran?
(avant la programmerie se faisait, au mieux, en de très primitifs assembleurs -pas besoin de les compiler!- , au pire par des interrupteurs codant lentement du “langage ” machine -et dissuadant d’être proche DU matériel)
Gardons nos têtes sur nos épaules.

104. Le mercredi 19 octobre 2011 à 09:58 par Schmorgluck

Je ne sais pas qui vous êtes, Hydre de Lerne, mais vous semblez vous être assigné la tâche de répondre à la place de mes précédents interlocuteurs. Je vais vous dire un truc : je suis informaticien, je sais mieux que vous ce qui fait l’intérêt ou non d’un langage de programmation, et je vous emmerde.

105. Le mercredi 19 octobre 2011 à 10:08 par Titre de Noblesse

Monsieur:
n’étant pas informaticien (et ne défendant donc pas une corporation vivant de la maintenance et la correction de bugs qu’elle a elle même pondues, dans une magnifique illustration des effets pervers), je suis parfaitement en mesure de voir l’interet de cette corporation, et d’apprécier un langage de programmation donnant quelque indépendance aux utilisateurs)

Pour répondre à vos questions identitaires, veuillez noter que Maître Eolas, en 2005, a introduit la notion de polymorphisme chez les trolls (“vous êtes un troll polymorphe”“)….

106. Le mercredi 19 octobre 2011 à 10:24 par ylo

Quand je vois dire que Pascal est un meilleur langage que le C… Franchement, s’il est tombé en désuétude ce n’est pas un hasard (cf plus bas)! Inutilisable pour une grande partie des fondations, de meilleures alternatives plus haut. Il est resté cantonné à l’enseignement de debut et c’est tant mieux pour aspérer avoir du travail ensuite!

C reste tout simplement, comme dit par ailleurs, le seul langage permettant de travailler à tous les étages de l’informatique!

Il n’y a bien que les quelques premières centaines d’instruction nécessaires à l’initialisation de base d’un microprocesseur (à minima jusqu’à avoir un morceau de RAM initialisé/accessible et un pointeur de pile, désigné par l’ABI propre à l’architecture, d’initialisé dessus) et quelques primitives bas niveau touchant le microprocesseur (caches/mmu/test-and-set…) et nécessaires à un OS moderne, qui lui résistent.

Tout le reste d’un OS peut être codé en C… jusqu’à l’applicatif.

Il n’y a aucun autre langage offrant cette polyvalence tout en gardant la maitrise de ce qui sort de la chaine de compilation.

Pour le Pascal, ses limitations comparées au C avaient d’ailleurs été listées par Kernighan en 1981:
http://www.c-program.com/doc/bwk-on…

L’informatique évolue… C reste. Sans doute la virtualisation qui trace son chemin limitera à terme, sur des OS à l’architecture totalement repensés, son usage. Mais l’hyperviseur matériel continuera à faire vivre l’héritage de Ritchie et ceux qui sauront encore coder à ce niveau dans ce langage seront sans doute un peu les petits rois que sont les programmeurs Cobol dans l’informatique banque/finance!

A ceci près qu’on ne voit aucun terme à leur caractère incontournable!

107. Le mercredi 19 octobre 2011 à 10:52 par Gros Totor

Ou comment un hommage au Docteur Ritchie se termine en vieux troll C Vs Fortran

Dennis Ritchie etait un (très) grand informaticien, et cela n’enlève rien au mérite de ceux qui ne sont pas cités ici, puisqu’il ne s’agit pas de leur
éloge funebre. Ce genre de bavardages ici me semble aussi opportun, que des bigottes échangeant les potins du village au fond d’une église lors
d’un enterrement.

“Tout ce que je sais, c’est que je ne sais rien” (Socrate)

108. Le mercredi 19 octobre 2011 à 12:27 par RG

@103 Hydre de Lerne

l’avantage de Fortran est qu’on n’a pas à se soucier de détails sans importance lors de l’appel du compilateur.

ça signe plutôt son arrêt de mort. Prenez n’importe quel assemblage de processeurs, dont des DSP, et de mémoire, pour n’importe quel usage, machine à laver, GPS, dispositif d’ABS, vous arriverez à développer en C mais pas du tout en Fortran.

Quant au soi-disant plus haut niveau du Fortran, l’argument ne tient pas car les processeurs sont livrés avec leurs bibliothèques de fonction, par exemple les fonctions transformées de Fourier rapide, simple ou complexe et de 32 à 1024 points pour un DSP.

109. Le mercredi 19 octobre 2011 à 14:27 par Echo des Steppes

Fortran n’est pas fait pour des machines à laver .

Relisez le tutoriel de la fftw http://www.fftw.org/fftw2_doc/fftw_… ou les modes d’emploi (sous reserve d’existence ) de votre DSP, et comparez avec
CALL FFT(r_,r_out, N)
(il est évident que {g|Intel|absoft} fortran ont la possibilité de s’interfacer très simplement avec C si des bibliothèques en C ont quelque chose d’utile -si, si, ça arrive, dans la masse - et de fiable à proposer : la livraison ne suffit pas!).

Enfin, f2c existe http://en.wikipedia.org/wiki/F2c -je l’ai rencontré, voire utilisé dans l’urgence - , et, pour des choses simples -type conversion de coordonnées pour un GPS, intégration d’équations différentielles pour un ABS- , convertit du fortran en C -comme C peut être converti en assembleur, encore plus abscons et importable!- …

Et en quel langage les dispositifs d’ABS sont ils testés (et les logiciels de resistance des matériaux qui font que votre voiture, au freinage, ne se transforme pas en une mimolette hunforme sont écrits en Fortran, parfois depuis quarante ans, et ,ce, malgré l’annonce itérative de l’arret de mort de Fortran -je le lis tous les dix ans…, ils restent utilisables et disponibles pour toute amélioration, à la différence du C, qui n’a pas de compatibilité descendante et qui est difficile à comprendre et maintenir -tâches sans interet , mais garantissant l’emploi sur payé des informaticiens-)

Et qui est le père de tous les langages (dont Algol, C en est un dérivé parmi 200?)

110. Le mercredi 19 octobre 2011 à 17:11 par RG

@109 Echo des Steppes

Et en quel langage les dispositifs d’ABS sont ils testés …

Si vous parlez des baies de test ou d’endurance, elles sont souvent programmées en langage G comme graphique.

Si vous parlez des systèmes embarqués eux-mêmes, temps réel et de haute fiabilité, pour des raisons “stratégiques” le langage utilisé est en majorité Ada.

111. Le mercredi 19 octobre 2011 à 17:35 par Echo des Steppes

Je ne parle ni des systèmes embarqués (qui arrivent après les tests) ni des capteurs des baies de test (qui sont programmés en Labview, en C, en assembleur, voire en un autre langage), mais de la partie sous jacente de conception (simulation des mouvements ) qui sont préalables aux tests -fort coûteux, même sur des maquettes- :

soit ils utilisent une bibliothèque C récente (type ODE dans ce cas particulier du freinage) souvent créée, sans trop le dire, à partir de f2c, avec un risque de perte de compatibilité d’ici au maximum 15 ans…

soit ils utilisent un logiciel fortran, avec une maintenance minimaliste (et qui pourra servir dans quarante ans, si l’idée de maintenir une compatibilité descendante subsiste -elle a déjà duré soixante ans! quid du C? en trente ans, il a déjà fait ses preuves lors du passage de KnR à ANSI- , et s’ils continuent de consulter les utilisateurs sur les rajouts qu’ils souhaitent - les utilisateurs se foutent que, pendant dix ans, il y ait un hyperviseur matériel…-).

A noter que les risques de pertes de compatibilité et le mépris sur le long terme de la notion de compatibilité descendante sont une véritable mine d’or pour les hunformaticiens, qui ont tout loisir -chèrement payé- de maintenir en dépit du bon sens, de faire des conversions de code -source d’erreurs, qu’ils tenteront de corriger, mais à quel prix - Alors qu’un bon logiciel de calcul pourrait évoluer vers le progrès, par rajout de fonctionnalités et non par soumission à la mode du moment….

La partie embarquée devra être jetée dans cinq ou dix ans, faute de pouvoir être maintenue ; les machines à laver ne sont pas censées calculer proprement (et ont fonctionné pendant des décennies avec des minuteries et des relais, l’ajout de microprocesseurs étant une mode éphémère).

Aussi, pour les choses sérieuses et durables, il reste … Fortran.

112. Le samedi 22 octobre 2011 à 21:38 par Schmorgluck

Et pour les gens qui ont quelque chose à dire, il reste… la Netiquette.

113. Le samedi 22 octobre 2011 à 21:44 par Schmorgluck

Ouais, je sais, on est en 2011 et je mets la Netiquette sur le tapis. Ça fait bizarre. Elle n’a pas vieilli du tout…

Mes logiciels, comme mes clients, sont libres. Ce blog est délibéré sous Firefox et promulgué par Dotclear.

Tous les billets de ce blog sont la propriété exclusive du maître de ces lieux. Toute reproduction (hormis une brève citation en précisant la source et l'auteur) sans l'autorisation expresse de leur auteur est interdite. Toutefois, dans le cas de reproduction à des fins pédagogiques (formation professionnelle ou enseignement), la reproduction de l'intégralité d'un billet est autorisée d'emblée, à condition bien sûr d'en préciser la source.

Vous avez trouvé ce blog grâce à

Blog hébergé par Clever-cloud.com, la force du Chouchen, la résistance du granit, la flexibilité du korrigan.

Domaine par Gandi.net, cherchez pas, y'a pas mieux.