This commit is contained in:
Raphaël JAKSE 2015-09-15 13:46:13 +02:00
parent 86775670da
commit 33497a792a
2 changed files with 22 additions and 22 deletions

View File

@ -1,20 +1,20 @@
[set
title = "Avant-propos d'Andrei Alexandrescu"
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 d'elles, 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.
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 j'aime beaucoup avec [i Programmer en D]: il s'agit d'un 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. Qu'enseignerait, alors, un bon texte introductif au D~ ? Idéalement, la Programmation avec un P majuscule.
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 d'appré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, l'ingénieur doit connaître l'étendue des possibles — et [i Programmer en D] est un excellent moyen de munir quelqu'un de cette connaissance. L'assimiler n'aide pas seulement à écrire un bon code en D, mais écrire un bon code tout court.
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 l'enseignement 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.
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.
J'ai 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 d'Ali, qui, pour moi, représente une excellente occasion de le faire.
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

View File

@ -5,48 +5,48 @@
proofreader = "Stéphane Goujet"
]
D est un langage de programmation multi-paradigme qui combine un large panel de concepts de programmation, du plus bas au plus haut niveau. Il met l'accent sur la sécurité des accès à la mémoire, la correction des programmes et le pragmatisme.
D est un langage de programmation multi-paradigme qui combine un large panel de concepts de programmation, du plus bas au plus haut niveau. Il met laccent sur la sécurité des accès à la mémoire, la correction des programmes et le pragmatisme.
Le but principal de ce libre est d'enseigner le D à des lecteurs qui sont débutants en programmation. Même si une expérience dans d'autres langages de programmation peut aider, ce livre commence de zéro.
Le but principal de ce libre est denseigner le D à des lecteurs qui sont débutants en programmation. Même si une expérience dans dautres langages de programmation peut aider, ce livre commence de zéro.
Afin que ce livre soit utile, vous aurez besoin d'un environnement pour écrire, compiler et lancer vos programmes D. Cet environnement de développement doit inclure au moins un compilateur D et un éditeur de texte. Nous allons apprendre à installer un compilateur et à compiler un programme dans le chapitre suivant.
Afin que ce livre soit utile, vous aurez besoin dun environnement pour écrire, compiler et lancer vos programmes D. Cet environnement de développement doit inclure au moins un compilateur D et un éditeur de texte. Nous allons apprendre à installer un compilateur et à compiler un programme dans le chapitre suivant.
Chaque chapitre est basé sur le contenu des précédents, introduisant aussi peu de nouveaux concepts que possible. Je recommande que vous lisiez le livre de façon linéaire, sans sauter de chapitre. Même si ce livre a été écrit avec les débutants à l'esprit, il couvre presque toutes les fonctionnalités du D. Les programmeurs les plus expérimentés peuvent utiliser le libre comme un référence du langage D en utilisant l'index.
Chaque chapitre est basé sur le contenu des précédents, introduisant aussi peu de nouveaux concepts que possible. Je recommande que vous lisiez le livre de façon linéaire, sans sauter de chapitre. Même si ce livre a été écrit avec les débutants à lesprit, il couvre presque toutes les fonctionnalités du D. Les programmeurs les plus expérimentés peuvent utiliser le libre comme un référence du langage D en utilisant lindex.
Certains chapitres incluent des exercices et leurs solutions pour que vous puissiez écrire des petits programmes et comparer vos méthodes aux miennes.
La programmation est une occupation satisfaisante qui implique la découverte et l'apprentissage continus de nouveaux outils, nouvelles techniques et nouveaux concepts. Je suis sûr que vous aimerez programmer en D autant que moi. Apprendre à programmer est plus facile et plus amusant quand on le partage avec les autres. Profitez du [[http://forum.dlang.org/group/digitalmars.D.learn/ |forum [c D.lean]] pour suivre les discussions et pour poser et répondre à des questions.
La programmation est une occupation satisfaisante qui implique la découverte et lapprentissage continus de nouveaux outils, nouvelles techniques et nouveaux concepts. Je suis sûr que vous aimerez programmer en D autant que moi. Apprendre à programmer est plus facile et plus amusant quand on le partage avec les autres. Profitez du [[http://forum.dlang.org/group/digitalmars.D.learn/ |forum [c D.lean]] pour suivre les discussions et pour poser et répondre à des questions.
Ce livre est également disponible dans d'autres langues comme le turc et l'anglais
Ce livre est également disponible dans dautres langues comme le turc et langlais
[ = Remerciements de l'auteur original ([[http://acehreli.org/|Ali Çehreli]])
[ = Remerciements de lauteur original ([[http://acehreli.org/|Ali Çehreli]])
Je suis redevable envers personnes suivantes qui ont jouer un rôle important durant l'évolution de ce livre~ :
Je suis redevable envers personnes suivantes qui ont jouer un rôle important durant lévolution de ce livre~ :
Mert Ataol, Zafer Çelenk, Salih Dinçer, Can Alpay Çiftçi, Faruk Erdem Öncel, Muhammet Aydın (aka Mengü Kağan), Ergin Güney, Jordi Sayol, David Herberth, Andre Tampubolon, Gour-Gadadhara Dasa, Raphaël Jakse, Andrej Mitrović, Johannes Pfau, Jerome Sniatecki, Jason Adams, Ali H. Çalışkan, Paul Jurczak, Brian Rogoff, Михаил Страшун (Mihails Strasuns), Joseph Rushton Wakeling, Tove, Hugo Florentino, Satya Pothamsetti, Luís Marques, Christoph Wendler, Daniel Nielsen, Ketmar Dark, Pavel Lukin, Jonas Fiala, Norman Hardy, Rich Morin, Douglas Foster, Paul Robinson, Sean Garratt, Stéphane Goujet, Shammah Chancellor, Steven Schveighoffer, Robbin Carlson, Bubnenkov Dmitry Ivanovich, Bastiaan Veelo, Stéphane Goujet, Olivier Pisano et Dave Yost.
Remerciements spécifiques à Luís Marques qui, avec son travail conséquent, a amélioré chaque chapitre de ce livre. Si vous trouvez un quel passage de ce livre utile, c'est certainement grâce à ses modifications assidues.
Remerciements spécifiques à Luís Marques qui, avec son travail conséquent, a amélioré chaque chapitre de ce livre. Si vous trouvez un quel passage de ce livre utile, cest certainement grâce à ses modifications assidues.
Merci à Luís Marques, Steven Schveighoffer, Andrej Mitrović, Robbin Carlson, and Ergin Güney pour leurs suggestions qui ont élevé mon englais au rang d'anglais.
Merci à Luís Marques, Steven Schveighoffer, Andrej Mitrović, Robbin Carlson, and Ergin Güney pour leurs suggestions qui ont élevé mon englais au rang danglais.
Je suis reconnaissant envers la communauté D entière pour avoir garder mon enthousiasme et ma motivation à un niveau. D a une communauté extraordinaire d'individus infatigables tels que bearophile et Kenji Hara.
Je suis reconnaissant envers la communauté D entière pour avoir garder mon enthousiasme et ma motivation à un niveau élevé. D a une communauté extraordinaire dindividus infatigables tels que bearophile et Kenji Hara.
Ebru, Damla et Derin, merci d'avoir été si patients et encourageants pendant que j'étais perdu à écrire ces chapitres.
Ebru, Damla et Derin, merci davoir été si patients et encourageants pendant que jétais perdu à écrire ces chapitres.
Ali Çehreli
Mountain View, Août 2015
]
[ = Note du traducteur (Raphaël Jakse)
[[L'œuvre originale | http://ddili.org/ders/d.en/] est sous la [[http://creativecommons.org/licenses/by-nc-sa/3.0/us/ | licence Creative Commons BY-NC-SA]], j'ai choisi de conserver cette licence pour cette traduction.
[[Lœuvre originale | http://ddili.org/ders/d.en/] est sous la [[http://creativecommons.org/licenses/by-nc-sa/3.0/us/ | licence Creative Commons BY-NC-SA]], jai choisi de conserver cette licence pour cette traduction.
Merci à Munrek pour permettre la publication de cette traduction sur le Web grâce à [[dlang-fr.org | dlang-fr]] et merci à Ali pour son œuvre de qualité et l'accueil qu'il a réservé à cette traduction.
Merci à Munrek pour permettre la publication de cette traduction sur le Web grâce à [[dlang-fr.org | dlang-fr]] et merci à Ali pour son œuvre de qualité et laccueil quil a réservé à cette traduction.
Merci à sclytrac (forum D) pour ses corrections.
Merci à Hassan Azi pour sa traduction du chapitre sur les fonctions membres.
Merci à Olivier Pisano pour une traduction d'excellente qualité de pas mal de chapitres.
Merci à Olivier Pisano pour une traduction dexcellente qualité de pas mal de chapitres.
Merci à Stéphane Goujet pour ses relectures attentives et pointilleuses qui ont permise d'élever la qualité et la cohérence de la traduction.
Merci à Stéphane Goujet pour ses relectures attentives et pointilleuses qui ont permise délever la qualité et la cohérence de la traduction.
]