programmez-en-d/avant-propos.whata

21 lines
3.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[set
title = "Avant-propos dAndrei Alexandrescu"
partAs = chapitre
translator = "Raphaël Jakse"
]
Ceux qui, parmi nous, connaissent Ali peuvent remarquer que son livre sur le D est imprégné de sa personnalité~ : direct, patient, et sympathique sans donner dans la flatterie.
Il y a un but dans chaque phrase et, avec chacune delles, un pas en avant~ ; ni trop rapide, ni trop lent. «~ Notez que [c opApply()] elle-même est implémentée avec une boucle [c foreach]. Ainsi, la boucle [c foreach] dans [c main()] finit par faire un usage indirect de [c foreach] sur le membre [c points]~ »[footnote NdT: chapitre « [c foreach] avec les structures et les classes~ », dont la traduction est à venir]. Et ainsi de suite, avec juste le nombre de mots nécessaires. Et dans le bon ordre, aussi~ ; Ali fait un travail remarquable pour présenter les concepts du langage — qui, surtout pour un débutant, arrivent «~ en parallèle~ » de manière écrasante — de façon séquentielle.
Mais il y a aussi quelque chose que jaime beaucoup avec [i Programmer en D]: il sagit dun bon livre pour apprendre la programmation en général. Vous voyez, un bon livre introductif sur Haskell enseigne la programmation fonctionnelle en cours de route, de façon implicite~ ; un sur le C vient avec des notions de programmation système~ ; un sur le Python avec du [i scripting], et ainsi de suite. Quenseignerait, alors, un bon texte introductif au D~ ? Idéalement, la Programmation avec un P majuscule.
D encourage une attitude du style «~ utiliser le bon outil pour la tâche à réaliser~ » et permet à son utilisateur de taper dans une grande étendue de techniques de programmation, sans mettre trop de particularités en travers du chemin. La manière la plus amusante dappréhender la programmation en D est de le faire avec un esprit ouvert, parce que pour chaque façon de concevoir qui devient non naturelle, il y a la possibilité de la retravailler pour obtenir la bonne architecture en choisissant une implémentation, une approche, un paradigme différents. Pour choisir au mieux ce qui correspond le mieux, lingénieur doit connaître létendue des possibles — et [i Programmer en D] est un excellent moyen de munir quelquun de cette connaissance. Lassimiler naide pas seulement à écrire un bon code en D, mais écrire un bon code tout court.
Il y a de bons conseils stratégiques, aussi, qui agrémentent lenseignement de la programmation et des concepts du langage. Enseignement intemporel sur éviter la duplication de code, choisir de bons noms, rechercher la bonne décomposition des étapes et plus — tout est là, des bidouilles rapides et grossières progressivement transformées en solutions robustes, exactement comme elles devraient lêtre dans la pratique. Au lieu de tomber dans le piège du «~ fait rapidement~ », [i Programmer en D] se concentre sur le «~ fait proprement~ », au plus grand bénéfice de son lecteur.
Jai longtemps pensé que le D est un bon premier langage de programmation à apprendre. Il expose ses utilisateurs à une variété de concepts — systèmes, fonctionnel, orienté objet, généricité, génératif — honnêtement, simplement et sans prétention. Tout comme le livre dAli, qui, pour moi, représente une excellente occasion de le faire.
Andrei Alexandrescu
San Francisco, Mai 2015