mirror of
https://forge.chapril.org/tykayn/orgmode-to-gemini-blog
synced 2025-10-09 17:02:45 +02:00
up paths
This commit is contained in:
parent
895996cf6b
commit
8daf1e23e4
2055 changed files with 119377 additions and 31850 deletions
|
|
@ -0,0 +1,884 @@
|
|||
|
||||
: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
|
||||
#+post_tags: null
|
||||
#+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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
À 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.
|
||||
|
||||
On finit par être forcé de grandir. Pourtant, ça reste une enfance
|
||||
chanceuse.
|
||||
|
||||
|
||||
|
||||
|
||||
À un certain moment j'ai eu la chance de jouer à des jeux vidéo, et
|
||||
d'utiliser des ordinateurs.
|
||||
|
||||
Il pourrait croire que c'était comme avoir le monde imaginaire que vous
|
||||
aviez voulu tout ce temps, matérialisé en face de vous.
|
||||
|
||||
Cela vous consume, et pendant un moment vous vivez une vie différente.
|
||||
|
||||
|
||||
Mais il y a quelque chose de commun à la plupart des jeux vidéo : vous
|
||||
ne créez pas, vous réagissez, vous consommez.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
[[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.
|
||||
|
||||
** *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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
"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.
|
||||
|
||||
** *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.
|
||||
|
||||
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.
|
||||
Quand il l'a compilé et fait tourner correctement, le petit printf a été
|
||||
émerveillé. Mais le programme n'a pas encore assez.
|
||||
|
||||
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.
|
||||
|
||||
Et il est crasha encore et encore.
|
||||
|
||||
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.
|
||||
|
||||
[[http://ferd.ca/static/img/printf/spaghetti.png]]
|
||||
|
||||
ça n'arrêtait pas de faire des spaghetti.
|
||||
|
||||
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.
|
||||
J'aurais dû savoir que c'était trop beau pour marcher
|
||||
vraiment.
|
||||
|
||||
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.
|
||||
|
||||
Les journaux continuaient à s'accumuler, jusqu'à ce
|
||||
que le disque dur ne puisse plus en ajouter.
|
||||
|
||||
|
||||
** *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.
|
||||
|
||||
[[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.
|
||||
|
||||
|
||||
|
||||
|
||||
** *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.
|
||||
|
||||
"-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.
|
||||
|
||||
"-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.
|
||||
|
||||
-Avez-vous entendu parler de l'effet Dunning-Kruger
|
||||
?, demanda l'homme.
|
||||
|
||||
-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.
|
||||
|
||||
-Donc, si je pense que je suis bon, je ne suis
|
||||
probablement pas bon.
|
||||
|
||||
-Oui exactement. Vous êtes probablement mauvais.
|
||||
D'autre part, je dis ouvertement que je suis un programmeur horrible.
|
||||
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.
|
||||
|
||||
-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.
|
||||
De cette façon, vous avez l'air intelligent, même si vous n'avez pas
|
||||
grand chose à apporter.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
|
||||
|
||||
|
||||
** *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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
** *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.
|
||||
|
||||
-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..
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
|
||||
** *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.
|
||||
|
||||
"Salut, dit le petit printf."
|
||||
|
||||
La femme n'a pas arrêté ce qu'elle faisait. Elle a
|
||||
continué à taper furieusement.
|
||||
|
||||
"Bonjour?" demanda-t-il à nouveau.
|
||||
|
||||
La femme s'arrêta d'un coup, pris un flacon d'un
|
||||
tiroir dans son bureau, et a pris une gorgée.
|
||||
|
||||
"J'ai un travail terrible, dit-elle. Je fais DevOps.
|
||||
ç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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-Alors, vous êtes malchanceuse," dit le petit
|
||||
printf.
|
||||
|
||||
Et son pager sonna encore.
|
||||
|
||||
"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.
|
||||
|
||||
** *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.
|
||||
|
||||
"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.
|
||||
|
||||
"Qu'est-ce que c'est ?," demanda notre ami, en
|
||||
montrant les fenêtres.
|
||||
|
||||
"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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
-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.
|
||||
|
||||
|
||||
|
||||
|
||||
** *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é.
|
||||
|
||||
"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.
|
||||
|
||||
-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.
|
||||
|
||||
-Pourquoi est ce que je me sens si gêné, alors?
|
||||
questionna le petit printf.
|
||||
|
||||
-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.
|
||||
|
||||
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.
|
||||
|
||||
-Alors, comment puis-je me sentir
|
||||
mieux?" le petit printf était visiblement anxieux.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
** *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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue