Pour moi, ces trucs dans cet autre article semblaient un peu radoteurs élitistes. Oui, je recommande souvent SICP aux développeurs sérieux qui veulent vraiment s'améliorer, mais seulement à ceux qui veulent aller au-delà de la "norme" et apprendre la magie profonde. En effet, pendant des années, SICP était le texte de programmation de première année du MIT; mais, beaucoup de programmeurs qui travaillaient bien n'avaient jamais eu l'occasion d'assister à cette institution fine mais chère et hautement sélective.
Alors, que dois- je recommander, en réponse à votre question? Commencez avec ce que vous avez et apprenez à penser comme un programmeur, plutôt que d'apprendre simplement un langage spécifique.
S'il vous arrive d'avoir une implémentation C # disponible, eh bien, je peux vous dire que c'est un langage parfaitement adapté à un rigoureux comme moi, tout comme Java, JavaScript, Python, Ruby, Scala, Scheme et les nombreux autres langages que j'ai appris au fil des ans. En fin de compte, j'essaie de sélectionner les bonnes langues et les bons outils pour le travail spécifique à accomplir, ce qui signifie changer de langue comme les chapeaux.
Il n'y a rien de mal à utiliser des façons amusantes d'apprendre, comme approcher Ruby via Why's Poignant Guide and Shoes (comme je l'ai recommandé dans un autre post récent ). Il y a des chemins mystérieux et mystérieux, comme se cogner la tête contre Le Petit Schémeur et Le Schémeur chevronné sur le chemin du SICP . De nombreux penseurs modernes voudraient que vous évitiez tous ces vieux trucs universitaires et "d'entreprise" et que vous plongiez directement dans JavaScript, JQuery et HTML5. Il existe de nombreuses façons de commencer, alors ne perdez pas trop de temps. Choisissez-en un et obtenez le codage!
De manière réaliste, je crois que peu de professionnels travaillant de nos jours vous enverraient en arrière pour apprendre Assembleur ou C / C ++ en premier. Franchement, s'ils le faisaient, je ne pense pas qu'ils vous rendraient un grand service.
Donc, pour embellir un peu "commencez avec ce que vous avez", j'ai trois autres conseils:
- Choisissez un langage de programmation qui vous semble cool et une approche d'apprentissage qui semble logique et donnez-leur tout. Devenez alphabétisé dans la langue de votre choix; lire autant de bon code que vous pouvez gérer!
- Mettez immédiatement la main sur votre clavier et commencez à coder au fur et à mesure que vous apprenez. Faites tous les exercices élémentaires dans vos livres de programmation par vous-même et pratiquez tous les didacticiels que vous pouvez trouver avec vos doigts en cliquant joyeusement pour les faire vraiment fonctionner. Vous serez surpris par le nombre de compétences que vous gagnerez en corrigeant les erreurs dans les démos qui sont censées fonctionner, mais ne le sont pas!
- Consacrez la plupart de vos efforts à apprendre comment les bons programmeurs réfléchissent aux problèmes. Apprenez à analyser et décomposer des problèmes et des systèmes complexes, en les décomposant jusqu'à ce que vous les compreniez vraiment. Apprenez ensuite à synthétiser et à concevoir des solutions automatisées, en les construisant afin qu'elles facilitent certaines tâches pour certains êtres humains sur cette planète.
J'ai commencé avec FORTRAN IV et QBASIC et si ceux-ci ne me ruinaient pas, C # ne vous ferait pas de mal non plus! Bonne chance et assurez-vous de vous amuser pendant que vous apprenez!