orgmode-to-gemini-blog/sources/cipherbliss_blog/lang_fr/20160421T131007__le-petit-printf.org

971 lines
36 KiB
Org Mode
Raw Normal View History

2024-11-19 13:49:39 +01:00
:PROPERTIES:
:ID: 6a6edba0-42be-4e68-8404-2e676332a98e
:END:
#+title: le-petit-printf
#+post_ID: 193
#+post_slug: le-petit-printf
#+post_url: https://www.ciperbliss.com/2016/le-petit-printf
#+post_title: Le petit Printf
2024-11-19 23:50:42 +01:00
#+post_tags:
2024-11-19 13:49:39 +01:00
#+post_type: post
#+post_mime_types:
#+post_guid: undefined
#+post_status: publish
#+post_date_published: <2016-04-21T13:10:07>
#+post_date_modified: <2016-05-12T14:30:14>
#+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9
#+retrieved_from_db_at: <2024-11-18 16:25:08>
* Le petit Printf
:PROPERTIES:
:CUSTOM_ID: le-petit-printf
:END:
''J'ai été conquis par l'histoire du petit printf, que j'ai découvert
[[http://www.hteumeuleu.fr/the-little-printf/][par Hteumeuleu]],
[[http://ferd.ca/the-little-printf.html][écrit par Fred T-H]] c'est
presque comme le petit prince mais version pour les codeurs, avec toute
sa poésie et sa réflexion sur les absurdités de ce que l'on fait. Comme
il est écrit en English et qu'il faudrait carrément que plein de codeurs
le lisent, et pas forcément des plus spécialisés en Angliche j'ai
entrepris de vous le traduire.''
[[http://ferd.ca/static/img/printf/printf.png]]
*Le petit printf, pourquoi codons nous?*
** *Chapitre 1*
:PROPERTIES:
:CUSTOM_ID: chapitre-1
:END:
J'ai eu la chance d'être né avant que les ordinateurs et les jeux vidéo
étaient omniprésents. J'ai eu la chance de jouer à l'extérieur avec des
amis et mon frère, et d'inventer nos propres jeux.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Nous pourrions être nos propres héros, utilisez une brindille qui
pouvait soudainement devenir un arc, une arme à feu, une épée, ou un
télescope. La brindille pouvait devenir n'importe quoi, sauf peut-être
un boomerang, car une fois que vous jetez le bâton, il faut aller le
chercher.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
À un certain moment j'ai grandi, et il est devenu embarrassant de jouer
de cette façon. Vous ne pouvez pas traiter une pomme de pain comme une
grenade et faire semblant d' avoir des pouvoirs magiques lorsque les
autres enfants pensent qu'être un adulte est cool. ça ne vous correspond
plus.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
On finit par être forcé de grandir. Pourtant, ça reste une enfance
chanceuse.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
À un certain moment j'ai eu la chance de jouer à des jeux vidéo, et
d'utiliser des ordinateurs.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Il pourrait croire que c'était comme avoir le monde imaginaire que vous
aviez voulu tout ce temps, matérialisé en face de vous.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Cela vous consume, et pendant un moment vous vivez une vie différente.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Mais il y a quelque chose de commun à la plupart des jeux vidéo : vous
ne créez pas, vous réagissez, vous consommez.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
J'ai fait du théâtre d'improvisation étant adolescent. Alors, de
nouveau, il était normal d'être avec les gens et de créer et de faire
semblant à partir de rien.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Bien sûr, le théâtre d'improvisation au Québec est différent ; il y a
une patinoire là, tout n'est que hockey.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Quand je suis arrivé à une école professionnelle pour étudier le
multimédia à partir de 2005 jusqu'à 2008, j'ai finalement débarqué dans
le domaine de la programmation. Je l'ai trouvé incroyable! La créativité
était encore là, et ça pouvait m'apporter de l'argent! Je me suis alors
conçu le mécanisme de mon premier jeu, et c'était époustouflant.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
[[http://ferd.ca/static/img/printf/game.png]]Ce
n'est pas un vrai jeu vidéo, m'a-t-on dit. C'est juste un formulaire
HTML. Vous devriez avoir utilisé un tableau pour le texte et les options
qu'il aurait été mieux. Le code a besoin de
nettoyage.J'étais un peu découragé ; le jeu était
vraiment sur les 11 pages de texte que j'avais écrites pour son aspect "
choisissez votre aventure ". Mais je compris que si je voulais faire les
choses de sorte que bien plus de gens pensaient qu'il s'agissait d'un
bon jeu, j'avais beaucoup à apprendre.Je dois
apprendre " la vraie programmation ". Passer de JScript dans une boîte à
outils de GUI pour quelque chose de mieux, comme PHP. Alors j'appris sur
le tas, avec le Javascript. Puis finalement on m'a dit d' apprendre à
faire de nouveau de la vraie programmation; PHP est atroce. On m'a dit
d'essayer peut-être Python, que j'ai donc appris.Mais
les vrais programmeurs connaissent des choses plus impressionnantes, et
les noobs de python ne pouvaient résister à l'appel, la programmation
orientée objet n'était pas où je voulais être. Lire le SICP (Structure
and Interpretation of Computer Programs) serait la prochaine bonne
étape, m'a-t-on dit, parce qu'elle était comme la bible de la science
informatique.[[http://ferd.ca/static/img/printf/sicp.png]]Cela
m'a fait entrer dans le moule. Et j'ai pris le livre de K & R, car les
vrais programmeurs dans le monde réel font du C, et je me suis inscrit
pour les cours à temps partiel à mon université locale tout en jonglant
avec mon travail, parce que de vrais programmeurs connaissent les
structures de données et les mathématiques,Choses que
j'ai appris dans une certaine mesure. Je commencé à lire des documents
et des livres, parce que de vrais programmeurs restent à jour et
connaissent des algorithmes incroyables.à un moment
donné je me suis essayé au Erlang et j'ai commencé à en faire une
carrière. J'ai écrit un livre sur le sujet. Curieusement, personne n'a
jamais remis en question si j'étais un véritable auteur, ou un véritable
écrivain, ou un vrai illustrateur. C'était dingue, j'ai obtenu un poste
d'enseignant en Erlang sans jamais l'avoir utilisé dans un système en
production.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 2*
:PROPERTIES:
:CUSTOM_ID: chapitre-2
:END:
Donc, je vivais ma vie en faisant le tour du monde,
en disant aux gens comment faire les choses que je n'avais parfois
jamais fait, alors tout le monde semblait soudain croire que j'étais un
vrai programmeur, pour des choses que je faisais qui la plupart du temps
n'avaient aucun lien avec la programmation.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Un jour, j'étais coincé dans un aéroport en revenant
d'une conférence, en tapant furieusement sur un terminal, quand une voix
douce et étrange me demanda :
"Si vous plaît, concevez moi un
système! -Quoi?! Concevez -moi un
système !"
Je levai les yeux de mon écran, surpris par la
demande. Je regardai autour et ai vu ce gamin qui aspirait à être un
développeur et attendait de moi de l'appeller " printf", un nom que je
trouvais très stupide et fantaisiste. Il ressemblait à peu près à
ça:
[[http://ferd.ca/static/img/printf/printf-nocover.png]]
"Je ne sais pas encore grand chose à propos des
ordinateurs, mais on dirait que vous oui. Je veux écrire des programmes,
faire un blog sur eux et que les gens les utilisent et les lisent. S'il
vous plaît, concevez moi un système!"
Voilà une demande surprenante, et j'avait été éveillé
pendant les 20 dernières heures, je n'étais pas trop sûr d'avoir bien
compris ou si j'en avais envie. Je lui ai dit les systèmes étaient
compliqués. Je ne savais pas vraiment quel système il voulait faire,
comment il voulait le faire échouer, combien de lecteurs il devrait
supporter, où il voudrait l'héberger, et je ne pouvais donc pas
concevoir un système approprié avec si peu d'informations.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Cela n'a pas d'importance. Concevez-moi un
système."
Je fis donc le schéma d' architecture
suivante:
[[http://ferd.ca/static/img/printf/arch1.png]]
Il regarda et dit : "Non, ce système n'est pas assez
bon. Faites-moi une autre."Donc je l'ai
fait:
[[http://ferd.ca/static/img/printf/arch2.png]]
et je lui ai donné un aperçu de la façon dont cela
fonctionnerait.Mon nouvel ami sourit poliment. "Cela
ne fait pas ce que je veux, il est beaucoup trop complexe et fait
beaucoup de choses dont je ne ai pas besoin"Je me
sentais un peu insulté, après avoir examiné la redondance, la
surveillance, les sauvegardes, les caches et d'autres mécanismes pour
réduire la charge, le processeur de paiement externe pour la protection
juridique, les basculements, le déploiement facile, et tout le reste. Je
pourrais l'avoir décemment facturé en tant que frais de consultation
pour cela! à bout de patience, je dessinais ceci:
[[http://ferd.ca/static/img/printf/blackbox.png]]
Et j'ajouté : "Voici la conception. Le système que tu
veux est à l'intérieur de la boîte noire", espérant cette réponse
pourrie me laisse tranquille. Mais je fus surpris d'entendre de retour
:
"C'est exactement comme je le voulais !"
Et voilà comment je fis la connaissance du petit
printf.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 3*
:PROPERTIES:
:CUSTOM_ID: chapitre-3
:END:
J'ai rapidement fait un tour sur le portefolio de ce
petit bonhomme. Ses dépôts ne sont que de petits programmes, des pages
web simples avec des formulaires, des utilitaires en ligne de commande
triviales. Ils étaient peu spectaculaires, venaient rapidement à la vie,
et disparaîtraient aussitôt.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Puis à un moment donné, il a commencé à travailler
sur un programme plus vaste, qui a utilisé plusieurs modules. Il fallait
des sockets, accéder au disque, parler à une base de données réelle.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Quand il l'a compilé et fait tourner correctement, le petit printf a été
émerveillé. Mais le programme n'a pas encore assez.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Il fallait refactoriser, de meilleurs tests, de la
documentation, de la vérification et de l'analyse. Le programme marchait
pendant un certain temps, et un matin, il crasha.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Et il est crasha encore et encore.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Les configurations étaient mauvaises, les journaux
ne se recyclaient pas, le disque avait une vitesse imprévisible, le
réseau avait le hoquet, les bugs défilaient, les encodages étaient
confondus, la base de données avait besoin de nettoyage, les
transactions se suspendaient, les certificats expiraient, les
vulnérabilités continuaient à venir, et les mesures restaient
silencieuses.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
[[http://ferd.ca/static/img/printf/spaghetti.png]]
ça n'arrêtait pas de faire des spaghetti.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Il m'a dit : le fait est que je ne sais rien !
J'aurai du concevoir selon mes besoins. J'ai eu la prétention de vouloir
écrire un système perfectionné, et j'ai passé tellement de temps à le
réparer, ça a annulé le temps qu'il était censé me faire gagner.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
J'aurais dû savoir que c'était trop beau pour marcher
vraiment.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Un matin, il décide de quitter son bureau. "Au
revoir" dit-il à une faible lueur qui semblait s'être éteinte. Il est
parti pour voir ce que le monde du logiciel avait à offrir en dehors de
son petit serveur salissant.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Les journaux continuaient à s'accumuler, jusqu'à ce
que le disque dur ne puisse plus en ajouter.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 4*
:PROPERTIES:
:CUSTOM_ID: chapitre-4
:END:
[[http://ferd.ca/static/img/printf/building.png]]
Il vint à un espace de travail, à la recherche de
développeurs expérimentés de qui obtenir des conseils et de
l'aide. Le premier qu'il a rencontré était un
ingénieur senior très fier qui semblait se sentir plutôt
supérieur.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
[[http://ferd.ca/static/img/printf/pro.png]]
"Ah, voici un apprenant ! Bienvenue dans mon
domaine, dont je suis l'expert" at-il dit. "Un
expert?" Demanda le petit printf. Est- ce que cela signifie que vous
pouvez programmer quoi que ce soit avec tous les langages
?" "Oui!" répondit l'expert. Il a ajouté "Enfin
presque ; Je programme uniquement les programmes qui valent le coup de
les programmer. Je ne perds pas mon temps sur des futilités. Il est de
nombreux programmes que je n'ai jamais écrit, mais je pourrais le faire
avec toute la facilité dans le monde." "Ah,
pourriez-vous m' aider avec mon système?" Dit le petit printf qui
commença à présenter son entreprise, l' expert du domaine l'interrompit
: "Je suis désolé, mais je ne vois vraiment pas
l'intérêt de le faire." "Pourquoi
pas?" "L'expérience. Je suis bon à la programmation
des choses que je programme, et je programme des choses pour lesquelles
je suis bon. En améliorant cet ensemble assez restreint de choses pour
lesquelles je suis déjà bon, je fais en sorte d'être plus précieux que
jamais dans ce domaine. Appelez ça la sécurité d'emploi, la survie du
plus fort, mais voilà comment je marche."
"Et pourquoi vous ne pouvez pas m'aider?"
"Eh bien, vous voyez, en prenant mon temps avec
vous, signifie que je me détourne de mon auto-investissement important
pour faire avancer les progrès réalisés par d'autres - ce qui est une
stratégie perdante pour moi. La meilleure façon d'apprendre pour toi est
la façon dont je m'y suis pris: lutter très dur et comprendre par
soi-même. Ca te forgera le caractère."
"Cela ne semble pas très efficace..."
"Eh bien, tu peux aller à l'école et apprendre, ou
tu peux apprendre par toi même. Vraiment ce qu'il faut pour distinguer
les des mauvaises herbes des autres c'est de virer les paresseux qui
veulent juste que ça soit facile, tout ce qu'il faut c'est faire en
sorte que ceux qui restent ici sont ceux qui le méritent vraiment. Le
moment où nous laissons les glandeurs entrer, la valeur même du travail
que je produis s'amoindrit."
"Ne pensez-vous pas la coopération ou collègues
pourrait vous aider?"
"Pas vraiment. Je travaille mieux lorsqu'on me
laisse seul loin des distractions. Chaque fois que je suis forcé de
travailler avec les autres, il est presque impossible de faire marcher
le tout ensemble. Je finis, exaspéré, par prendre
leur travail et le réécrire en grande partie d'une façon plus saine;
puis il fonctionne bien."
Le petit printf a été surpris de rencontrer un
expert qui semblait si désintéressée d'aider les autres, tout en étant
si contrarié par leur manque apparent de compétence. Il était un peu
triste que cet homme dont l'étroite vision de lui-même le réduisait au
seul domaine qu'il connaissait, au point où il ne fait rien d'autre que
créer des problèmes qu'il devrait lui-même réparer!
"Je vois... eh bien je suppose que je suis heureux
que vous ne me donnerez pas votre aide", dit mon petit ami
"Que voulez-vous dire?" demanda l'homme
méritocratique, dont la valeur semblait soudainement déclassé. Vous ne
pensez pas le travail que je fais est intéressant ?
"Oh si. Il semble juste comme vous me voyez comme un
obstacle et une gêne plus que toute autre chose, et ce que je cherche de
l'aide, et non pas l'affliction."
Et le petit printf sortit rapidement, laissant
l'expert se rendre compte qu'il avait fait de lui-même un intouchable à
plus d'un titre que concernant uniquement sa sécurité d'emploi.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 5*
:PROPERTIES:
:CUSTOM_ID: chapitre-5
:END:
[[http://ferd.ca/static/img/printf/books.png]]
Sur son chemin, le petit printf est allé en face de
la porte d'un bureau occupé par un homme entouré de livres à la
couverture rigide et épaisse, avec des images géniales sur la couverture
comme des sorciers et des dragons et des fractales et des modèles
mathématiques.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"-Jolis livres, monsieur," dit printf
"-Merci. Je pense qu'ils sont un matériau essentiel
pour les programmeurs. Si vous ne les avez pas, vous n'êtes pas vraiment
un pro"
"-Je suppose que je ne suis pas un pro alors", dit
le petit printf.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"-Lequel est votre préféré?"
"-Oh, eh bien je n'ai pas lu la plupart d'entre
eux."
"-N'êtes-vous pas un bon programmeur alors?"
"-Non, je ne suis pas." Le développeur ajouta
fièrement: "En fait, je suis un programmeur affreusement mauvais."
"C'est une honte, dit le petit printf, qui a
continué: Personnellement je m'améliore.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Avez-vous entendu parler de l'effet Dunning-Kruger
?, demanda l'homme.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Non c'est quoi?
-C'est une question de biais cognitif. Cet effet dit
essentiellement que les gens qui sont moins compétents ont tendance à
surestimer leurs qualifications, et les gens qui sont compétents ont
tendance à sous-estimer systématiquement les leurs.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Donc, si je pense que je suis bon, je ne suis
probablement pas bon.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Oui exactement. Vous êtes probablement mauvais.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
D'autre part, je dis ouvertement que je suis un programmeur horrible.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Mais selon Dunning-Kruger, je vais probablement me sous-estimer, et cela
fait de moi un bon développeur, ne voyez-vous pas?
-J'imagine?
-En effet, l'auto-dévalorisation est un outil
essentiel du développeur. Le moment où vous sentez que vous êtes bon,
vous allez vous détendre et arrêter l'amélioration.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Est-ce que cela signifie pas que le moment vous
vous sentez être bon vous-même, vous êtes en route vers l'échec et alors
vous devriez vous sentir mal?
-Oui. Mais le chemin à parcourir à ce sujet est de
dire que tout est terrible, même si vous avez pas de solutions à offrir.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
De cette façon, vous avez l'air intelligent, même si vous n'avez pas
grand chose à apporter.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Que voulez-vous dire?
-Disons que je me ballade sur le net que que je
tombe sur un projet que je n'aime pas. L'astuce est de souligner tout ce
qui ne va pas, sans donner plus d'informations que cela. Vous pouvez
aussi faire subtilement remarquer que les façons dont la personne qui a
fait la chose est un idiot sans problème.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Et comment s'améliore-t-on avec cela?
-Eh bien, j'aime à penser qu'ils sont meilleurs en
sachant qu'ils sont sur la mauvaise voie, et je suis un bienfaiteur pour
eux de le leur montrer. C'est un peu de fumée et des miroirs. Personne
ne sait ce qu'il fait, mais cette façon, il semble que moi je sais ce
que je fais.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Et qu'est ce qui se passe quand on vous demande de
l'aide et que vous ne pouvez rien faire à ce sujet?
-Voilà où vous pouvez revenir à dire tout est
pourri; que vous auriez plein de coupes franches à faire, qu'il faudrait
améliorer d'autres choses, tout en étant bien pessimiste. Ils sont
livrés à eux-mêmes.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Donc, c'est juste une posture? Vous jouez un
personnage pour faire votre chemin et esquiver ? Vous êtes la personne
qui prétend être incompétent sur des choses qu'ils savent, ce qui rend
les gens qui ne savent vraiment rien à se sentir encore pire, et vous
êtes la personne qui prétend être compétent à des choses que vous ne
savez pas, de sorte que les gens qui essaient de s'y améliorer aussi se
sentent mal.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Dans tous les cas, la compétence a très peu à voir
avec tout cela. La réputation est très important cependant. Les gens
embauchent des amis, et les personnes qui ne sont pas aimé et get non
essentiels se font virer en premier; essayez de changer le système et
vous devenez détesté. Tout est un jeu très social. C'est comme ça que ça
fonctionne dans l'industrie, et probablement dans le milieu
universitaire aussi, bien que je ne sais pas? Tout
est une question de qui vous connaissez, il faut savoir vous vendre, et
faire connaître votre marque personnelle vous savez? Voilà comment vous
obtenez des emplois dans ce buisness.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Si cela est la façon dont les choses sont et que
vous devez vous sentir mal et de faire en sorte que d'autres se sentent
mal lorsqu'ils font bien les choses, peut-être que je ne veux pas un
emploi dans ce buisness, dit le petit printf, avant de sortir.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 6*
:PROPERTIES:
:CUSTOM_ID: chapitre-6
:END:
[[http://ferd.ca/static/img/printf/realprog.png]]
Pendant le temps qui aurait été la pause déjeuner,
Printf interrompu une personne qui avait apparemment oublié de manger,
regardant un sandwich devenir de plus en plus froid à côté d'elle, assis
à son bureau et en regardant leur écran.Cela semblait
être une personne très occupée qui savait ce qu'elle faisait.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Printf demande:"Si une base de
données primaire peut crasher, la suivante peut elle échouer
aussi?-Tout ce que vous avez, dit la personne, peut
et va échouer tôt ou tard.-Même les choses qui vous
disent des choses ont échoué?-Oui, même ceux-ci. Tous
les grands systèmes sont dans un état d'échec partiel à un moment
donné.-Mais, à quoi bon essayer de faire des systèmes
fiables alors?-La personne ne savait pas, à ce moment
là, qu'elle essayait de répondre à une page (pour éviter que le ciel ne
lui tombe sur la tête en raison d'un cloud brisé) qui lui demandait la
même chose.-Donc, rendre les systèmes fiables, pour
quoi faire? appuya à nouveau le petit printf.énervé,
car la personne avait affaire à un problème de production, avec ce gamin
qui ne voulait pas le lâcher et un sandwich qui allait se perdre, la
personne avec impatience balança:-C'est complètmeent
inutile. Toute programmation est de la merde de toute
façons.-oh !", s'étonna-t-il.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Puis il y eut un moment de silence
complet.[[http://ferd.ca/static/img/printf/trashcan.png]]Le
petit gars a répondu, avec un soupçon de
ressentiment:"Je ne vous crois pas. Les programmes
sont fragiles, mais les programmeurs peuvent faire de bons efforts et
améliorer les choses, et les rendre utiles."Aucune
réponse est revenue. À ce stade, la personne avait ouvert le document
expliquant comment démarrer une nouvelle copie de l'ensemble du cluster
à partir de zéro, et les choses semblaient aller de mal en
pis."Et vous croyez vraiment que les bons
progr-"-Oh non!" s'écria la personne. "Non non Non!
Je ne crois pas à de bons programmes ou fiables! Plus maintenant! Ils
sont tous dégueulasses! Je viens de vous dire la première chose qui
vient à ma tête parce que je fais face à un de ces systèmes de merde en
ce moment. Ne voyez-vous pas que je suis en train de tenter de garder en
vie ce genre de choses? Cette merde est en fait de la
conséquence.Printf regarda ailleurs, avec une
expression choquée."En fait, des conséquences? Vous
parlez comme un «vrai programmeur»."Il a
ajouté:"Vous mélangez tout, vous confondez tout. Il y
a eu des millions de programmes, et pour les années qu'ils ont été en
cours d'exécution ils meurent tous de la même manière. Et les gens les
ont utilisés et en ont eu besoin. Et je connais certains programmes qui
fonctionnent nulle part, sauf sur un seul ordinateur portable, et en une
seule erreur pourrait détruire des communautés entières, sans même que
personne ne le remarque. Et vous pensez que cela n'a pas
d'importance?"La personne resta
silencieuse.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 7*
:PROPERTIES:
:CUSTOM_ID: chapitre-7
:END:
[[http://ferd.ca/static/img/printf/frameworks.png]]Le
quatrième espace de travail de mon ami visita avait un homme dont
l'ordinateur a été couvert de tant d'autocollants que personne ne
pouvait dire quelle marque il était."moteur-mvc,
quadrangulaire JS, GoQuery, cometeor, quelque chose sonnant
japonais,...""-Salut, l'interrompit printf. Qu'est-ce
que tu fais?""Alchimiste, bongodb, mochascript,
walktime.js, portasql,...," l'homme poursuivit."Que
fais-tu ?," demanda-t-il à nouveau, plus fort cette
fois."Oh, je suis en train d'essayer de nouveaux
frameworks, des outils, des bases de données, les langues.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Whoa, vous semblez aller vite, peut-être aussi vite
que 10 programmeurs mis ensemble!-Oui! Enfin,
l'industrie se déplace aussi très vite !"
il regarda son téléphone pour une seconde, et il a
ajouté " Voilà! le framework de cardboard.io a sorti sa version 3.5 qui
a brisé la compatibilité avec la 3.4 et cela a abouti à 4 fourchettes
dans la communauté! Je dois les essayer tous de savoir lequel choisir!
-et que faites-vous à apprendre tout cela?
-Je suis un des premiers. Si vous ne restez pas à
jour, vous restez coincé à écrire du COBOL ou du MUMPS pour vivre. Vous
voulez trouver la prochaine grande chose, et surfer sur la vague vers le
haut!
-ça a déjà fonctionné?
-Oh oui! J'ai appris Rails avant qu'il ne soit grand,
et j'ai compris node.js avant qu'il soit connu, et j'étais sur les
premières bêta de Redis, MongoDB et Riak! J'étais le premier à utiliser
Vagrant et je nous ai fait passer à Docker mais bien sûr, maintenant le
truc ce sont les Unikernels..
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Cool, et toutes ces choses où vous étiez à
l'avant-garde, ça a payé?
-oh non; Le temps que Rails devienne énorme j'étais
passé à la prochaine grande chose, donc je ne me suis pas retrouvé hors
du coup. De même, pour les autres. Il me reste de l'espoir pour les
unikernels cependant
-Je vois, ajouta le petit printf, pensif. Quels
problèmes avez-vous résolu avec tous ces frameworks alors?
Oh, je fais en sorte que nous n'utilisons pas quelque
chose qui ne va pas être grand, de sorte que cette société n'aille pas
de miser sur des technologies qui n'ont aucun avenir. C'est un travail
très important, parce que si vous ne faites pas cela, vous ne pouvez pas
trouver quelqu'un à embaucher en dehors de vieilles barbes grises du
fond des âges passés, et que vous voulez fonceurs auto-motivés, qui sont
aussi les premiers à adopter les nouvelles technos, dit
l'homme.-C'est drôle, renchérit notre ami.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-C'est très dur! dans le monde des startups, si vous
voulez des joueurs alphas, vous avez besoin d'une bonne technologie pour
les mettre en appétit! Sinon, vous êtes coincé avec les retardataires
inflexibles. Personne ne veut être un retardataire inflexible.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Le petit printf intervint: Non, ce n'est pas ce que
je veux dire."et il ajoute ensuite "ce que je veux
dire, il est drôle que les outils sont destinés à résoudre des problèmes
pour nous, mais pour vous, les outils eux-mêmes sont devenus un
problème."
Et tandis que l'homme se tenait là en silence (sur
son nouveau bureau à roulettes trop cool), le petit printf se dirigea
hors de la salle.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 8*
:PROPERTIES:
:CUSTOM_ID: chapitre-8
:END:
[[http://ferd.ca/static/img/printf/ops.png]]
Dans le bureau d'à côté se trouvait un employé
fatigué, avec des dizaines de tasses à café vides, recroquevillée sur
ton clavier, à taper avec énervement.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Salut, dit le petit printf."
La femme n'a pas arrêté ce qu'elle faisait. Elle a
continué à taper furieusement.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Bonjour?" demanda-t-il à nouveau.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
La femme s'arrêta d'un coup, pris un flacon d'un
tiroir dans son bureau, et a pris une gorgée.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"J'ai un travail terrible, dit-elle. Je fais DevOps.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
ça avait bien commencé, la plupart du temps je développais et puis
parfois je debuguais des choses, mais plus le temps passait, plus à a a
empiré. J'ai commencé à lutter contre les incendies dans notre pile,
puis plus d'incendies ont commencé à se produire. Je me suis débarrassé
de la plupart d'entre eux, tirant de petits miracles ici et là pour
ensuite respecter les délais de dev sur des choses que je devais aussi
faire en plus.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Et ont-ils embauché quelqu'un pour aider?
-Non, c'est ça le truc. Les petits feux continuent de
se produire ici et là, et en raison du temps que je prends pour les
combattre, je ne peux pas être aussi prudente qu' avant avec le dev,
donc je crée plus de feux tout le temps. Maintenant, je lutte contre les
incendies toute la journée et toute la nuit et je déteste mon
travail.-Pourquoi votre employeur ne fait pas quelque
chose?
-Je suis douée à faire mon travail, et je suis
parvenu à garder les choses sous contrôle assez longtemps que tout le
monde s'y soit habitué. Lorsque vous prenez l'habitude de petits
miracles, les gens sont habitués. Ensuite, vous êtes coincé à faire des
miracles tout le temps ou ils vont penser que vous ne faites pas votre
travail du tout.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Cela semble très triste
-ça l'est; et parce que vous êtes la personne la plus
familière avec ces feux, vous obtenez seulement de travailler sur eux de
plus en plus, jusqu'à ce que votre employeur embauche quelqu'un d'autre
pour couvrir votre ancien emploi, celui que vous aimiez. Si vous vous
souciez assez dur sur votre travail pour être celui qui fait les choses
que tout le monde déteste, on vous remerciera en vous donnant de plus en
plus de ce travail qui ne vous plaît pas, jusqu'à ce que ce soit tout ce
que vous faites. Et puis il n'y a plus rien pour vous plaire dans votre
job.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Alors, vous êtes malchanceuse," dit le petit
printf.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Et son pager sonna encore.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Cette femme," dit le petit printf à lui-même, en
continuant plus loin son voyage, "cette femme serait méprisée par tous
les autres: par l'expert spécialisé, par le développeur de rockstar, par
l'adoptant premier. Néanmoins, elle est la seule d'entre eux tous à
sembler utile. Peut-être est parce qu'elle pense à autre chose qu'à
elle-même.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 9*
:PROPERTIES:
:CUSTOM_ID: chapitre-9
:END:
[[http://ferd.ca/static/img/printf/architect.png]] A
l'angle du bâtiment, printf trouvé un grand bureau avec de grandes
fenêtres donnant une vue imprenable sur la région. Dedans, est assis un
vieux monsieur avec des rames de documentation sur son
bureau.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Ah, voici un développeur!" s'écria l'homme, alors
que printf se tenait à la porte. "Entrez!" En
regardant à travers les fenêtres, le petit printf a remarqué qu'ils
étaient pleins d'écriture. Avec l'aide d'un stylo effaçable à sec, la
vue sur le monde extérieur a été masqué par des tonnes de cercles, des
flèches, des cylindres, et les nuages. Alors qu'il était curieux les
nuages de l'homme nécessaire tirées où les vrais pouvaient être vus à
l'extérieur, tout l'ensemble était plus intrigant.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Qu'est-ce que c'est ?," demanda notre ami, en
montrant les fenêtres.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Oh ça? Ceci est notre système de production!" Dit
l'homme, en pensant non pas une seule fois que la question portait sur
le monde extérieur. "Je suis un architecte
logiciel.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Qu'est-ce qu'un architecte logiciel?
-La plupart du temps, il est quelqu'un qui sait
comment structurer au mieux et coordonne les composants d'un grand
système pour que tout aille bien ensemble. Il est quelqu'un qui doit
connaître les bases de données, des langages, des framewords, des
éditeurs de code, des formats de sérialisation, des protocoles et des
concepts tels que l'encapsulation et la séparation des préoccupations.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Très intéressant! dit le petit printf, voici
quelqu'un qui peut répondre à toutes mes questions! Il regarda les
diagrammes d'architecture. Votre système est très impressionnant. Est-il
très rapide à fonctionner?
-Je ne pouvais pas vous dire, dit l'architecte. ça
doit être le cas, je pense. -Comment est le code
alors, est-il bon?
-Je ne pouvais pas vous dire
-les utilisateurs sont-ils heureux?
-Je ne pouvais pas vous dire non plus, je crains
-Mais vous êtes un architecte logiciel!
-Exactement! Mais je ne suis pas un développeur. Ce
n'est pas l'architecte qui va et écrit les modules et les classes,
combine les bibliothèques. L'architecte logiciel est
beaucoup trop important pour aller toucher au code. Mais il parle avec
les programmeurs et les développeurs, leur pose des questions, leur
donne des conseils. Et si le problème se trouve être assez intéressant,
l'architecte prend en charge la planification.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Et pourquoi ça?
-Parce que nous sommes plus expérimentés. Nous en
savons plus sur les systèmes et ce qui fonctionne ou non. Les
développeurs peuvent alors être une extension de nos connaissances pour
produire de grands systèmes!
-Mais comment savez-vous si les choses vont bien
sans s'impliquer avec le code?
-Nous faisons confiance aux développeurs
-Donc, vous leur faites confiance pour mettre en
œuvre vos idées correctement, mais pas assez pour venir avec leurs
propres idées?"
L'architecte logiciel était visiblement ébranlé par
ce commentaire. "Je suppose que je pourrais avoir été un peu
déconnecté," il a finalement admis. "Le problème est que, après un
certain temps, vous êtes invité à travailler avec des idées tellement
vous ne disposez pas d'un bon moyen de les faire tester ou vérifier..."
Il baissa les yeux, pensif. "Parfois, un architecte logiciel ne fait ni
logiciel, ni architecture, on dirait."
Le petit printf a quitté la salle, ayant terminé de
sa visite, il quitta le bâtiment.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 10*
:PROPERTIES:
:CUSTOM_ID: chapitre-10
:END:
[[http://ferd.ca/static/img/printf/charity.png]]
le petit printf, une fois à l'extérieur, a rencontré
un homme collectant de l'argent pour la charité.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
"Salut, dit l'homme. Que diriez vous d'aider
quelqu'un aujourd'hui?
-ça m'aiderait sans doute à me faire sentir mieux,
répondit printf. Je suis allé dans ce bureau toute la journée, et
maintenant je suis plus confus que jamais.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Ah, je vois. Ces personnes sont tous les
développeurs. Ils ne sont pas vraiment utiles, n'est-ce pas? Ce qu'ils
aiment à dire est qu'ils changent le monde, et ils ont pas mal réussir à
à le faire, en fait.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Pourquoi est ce que je me sens si gêné, alors?
questionna le petit printf.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Eh bien, le meilleur qu'ils font est souvent
d'aider à convertir les emplois de certaines personnes dans des
programmes, ou de rendre les loisirs de tout le monde plus
tranquilles.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Le logiciel est en train de manger le monde et de
lui faire changer de visage, c'est certain... mais au fond, c'est le
même vieux monde, avec un visage mutilé. La raison pour laquelle on se
sent gêné est que le changement de cette façon ne veut pas dire les
choses deviennent mieux. Nous avons les mêmes défauts et les problèmes
que nous avons toujours eu, les mêmes trous à combler à l'intérieur.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
-Alors, comment puis-je me sentir
mieux?" le petit printf était visiblement anxieux.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
L'homme a pensé pendant un certain temps, et a
offert printf à venir l'aider à aider les autres, car c'était la façon
que cet homme avait de se sentir mieux. Au cours de l'après-midi, printf
raconta à l'homme ses problèmes et son aventure. Après un long silence,
l'homme dit:
"Les jeux que les gens jouent, les rôles et les
réputations qu'ils poursuivent et entretiennent, le plaisir éphémère
qu'ils tirent de la résolution de problèmes complexes, c'est amusant
pendant un certain temps. En fin de compte, si vous ne résolvez pas
quelque chose de valable, si vous oubliez les personnes impliquées, ça
ne va jamais être vraiment satisfaisant.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Et cela peut être très bien, ou ça pourrait ne pas
l'être, et vous pouvez ou ne pouvez pas obtenir cela par ailleurs que
sur votre lieu de travail quand vous grandissez. Le travail peut être un
travail; il peut être pour l'argent, il peut être pour le plaisir. C'est
bon. Tant que vous parvenez à obtenir de l'accomplissement quelque part
dans votre vie. À la fin cependant, il est seulement
quand vous résoudre les problèmes avec un visage humain que vous pouvez
vraiment sentir bien; Ce qui est essentiel est invisible pour
l'ordinateur.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
C' est le temps que vous avez passé sur votre
système qui le rend si important », l'homme a ajouté," et quand vous
avez perdu de vue pourquoi il était logique de passer du temps
là-dessus, quand il est devenu un jeu d'orgueil, alors il a causé plus
de douleur que de soulagement.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Les développeurs ont souvent oublié cette vérité; Si
vous perdez de vue des choses, travailler sur votre système devient son
propre problème, et la solution la plus efficace est de se débarrasser
du système, étant donné qu'il est le problème."
"C'est seulement quand vous résolvez les problèmes
avec un visage humain que vous pouvez sentir vraiment bien", répéta le
petit printf à lui-même, de sorte qu'il s'en
souvienne.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
** *Chapitre 11*
:PROPERTIES:
:CUSTOM_ID: chapitre-11
:END:
[[http://ferd.ca/static/img/printf/printf-end.png]]
Printf, qui est maintenant assis juste en face de
moi, est sur le chemin du retour. Parler avec lui m'a fait réaliser à
quel point ce que je fais m'éloigne ce que je voulais, ce pour quoi j'ai
commencé à programmer. Chacune des personnes que le petit Printf a
rencontré sont les rôles que je me vois prendre moi-même un jour ou
l'autre au fil du temps. J'ai été encouragé par eux pour devenir comme
eux, et j'ai probablement encouragé des gens à faire la même
chose.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Lorsque je me suis lancé dans le jeu d'essayer de
devenir un véritable programmeur, Printf ne l'a pas fait. Il a dit qu'il
était correct de ne pas être un vrai programmeur, qu'il préférait être
un programmeur avec un visage humain.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Aujourd'hui, je suis coincé dans la situation où je
regarde en arrière, je dois comprendre si je peux, aussi, devenir un
programmeur avec un visage humain ; ou si tout ce que je fais est juste
un emploi. Il ne semble pas y avoir tellement de choses qui vaille la
peine entre-deux.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
En tous les cas, là où printf a estimé qu'il n'a pas
besoin d'être un vrai programmeur, je pense que je ressens la même chose
maintenant.
2024-11-19 23:50:42 +01:00