Dans quel ordre dois-je apprendre les langages de programmation?

J’ai entendu des gens dire que quand on connaît un certain langage de programmation cela rend plus facile à apprendre des autres. Quelle langue dois-je apprendre tout d’abord, et quelles langues devrais-je apprendre après cela?

Réponse

Ah ! Le grand débat quoi-programmation-langage-à apprendre. À côté de Emacs-vs-Vi (et l’amour pour Apple), je suis sûr que c’est environ aussi religieuse en tant qu’ordinateur débattre goes. Et vous poser la question suivante sur Quora? Ce que vous envisagez? Déclenchant une nouvelle croisade?

Eh bien, blague à part, l’observation que « certain langue rend plus facile à apprendre des autres » est seulement partiellement vraie. Par exemple, si vous prenez une langue de la gamme C (C, C++, Objective C, Java, c#), les autres sont en effet plus facile ; Cependant, tel fera presque certainement d’apprentissage, dit, langage Lisp-style plus difficile. À l’inverse, apprentissage langue Lisp-style (Lisp, Scheme, Clojure?) facilite l’introduction dans l’autre langue essentiellement fonctionnelle, mais sera probablement faire C style programmation plus difficile. Tout d’abord l’apprentissage BASH (Dieu sait pourquoi vous voulez que) probablement juste pousse-vous fous, sorte d’apprendre quelque chose d’autre est plus difficile.

Pour compliquer l’affaire, plusieurs langues sont explicitement conçus pour des valeurs/tâches spécifiques plus faciles. Perl, mon avis encore détient, fait beaucoup d’admin et d’arachides de tâches de filtrage de texte, mais s’érode lentement votre esprit lorsqu’il est appliqué à, dit, traitement des données. R fait le contraire : c’est comme Excel, mais en mieux, donc si vous essayez quelque chose d’intelligent, il va faire frire votre cerveau (cela dit, stat sur l’ensemble de vos données? Qui aura bonbons du bébé). Donc, si vous êtes déjà expert dans le domaine de l’expertise d’une certaine langue, peu importe ce que vous savez déjà. Si vous en dépit de certaines tâches, aussi peu importe ce que vous savez.

La complication finale sur votre question (avant d’entrer dans la réponse): certaines langues ses opinions fortes qui empêche certaines personnes de profiter/mastering il. Je le sais, car Python est la freaking *** de la mine. Je peux coder perl Je peux faire Ruby ; Je serai un peu BASH/Makefile. Je ne peux pas supporter la vue de Python. De même, pour s’attaquer, il est dit, rouille, vous devez accepter ses locaux (que vous êtes prêt à être détaillée pour accélérer avec sécurité) ; dans le cas contraire, il est tellement lourd.

Retour à la réponse (désolée pour le détournement très très long). Voici ma recommandation :

  1. Pour votre première langue, je recommande quelque chose : impraticable, défi et barebone. Je m’explique en citant ma mère : il est facile de s’habituer au luxe ; utilisé pour des difficultés est une question différente. Trop souvent, un programmeur commence avec, dit, Python ou Java ou c#. Ce sont des systèmes pratiques. Ils sont relativement faciles à utiliser, et ils ont tellement bibliothèque. Il est trop facile. Après cette langue, d’apprendre quelque chose d’autre est telle une corvée. En revanche, si votre langue maternelle est difficile, apprendre d’autres choses se sent comme vacances. Pour cette raison, je recommande C comme première langue. Non, pas cette poule mouillée C++. C. tout droit vers le haut. C’est amusant. C’est simple. Il fais peur dur à faire le bien.
  2. Pour votre 2e langue, je recommande quelque chose marche arrière de votre langue 1er. En fait, quand on connaît les deux extrémités, au milieu est facile ! Pour cela, je recommande Lisp (schéma ou CL) ou perl comme 2e langue. Je ne recommande pas Python par dépit de personne, évidemment. Lisp et perl ont quelques choses en commun :
    1. Il est facile d’écrire quelque chose qui fonctionne, mais vous perdrez la compréhension au sein des 50 ans de l’écrire. Perl est un peu mieux, mais si vous écrivez votre code Lisp mal, il est illisible. La discipline est primordiale. Pire que Python, cette discipline n’est pas appliquée par le système (ce qui est précisément pourquoi je déteste Python ; Je suis programmeur, pas son esclave), mais doit venir de l’intérieur.
    2. Lisp et perl6 disposent de système de macro grand. Système macro (macro hygiénique) est tellement génial qu’il probablement a refaite mon cerveau quelques fois plus. En fait, mon style C/C++ a changé après que j’ai touché Lisp. C’est juste ça génial. J’ai entendu que vous pouvez faire macro dans perl5, aussi, mais je n’ai personnellement pas essayé.
    3. Si vous voulez quelque chose de pratique, perl5 est excellent. CPAN dépasse awesomeness. perl5 patrimoine garantit que tous les jours de script est une joie. Par exemple, de temps en temps, je voudrais écrire quelques scripts pour télécharger toute la série de certaines nouvelles/recherches, puis enlever le contenu, puis jam dans 1 fichier HTML, puis créer un epub de cela. C’est amusant de jouer avec perl.
    4. Si vous souhaitez modifier votre cerveau, Lisp. La chose à propos de Lisp est sa régularité extrême, de la syntaxe pour l’ensemble des fonctionnalités. Il n’y a cette mentalité entre utilisateurs d’ordinateurs moindre : trucs suffisamment compliqué se sent comme par magie (sinon pourquoi serait redémarrage fonctionne?). Lisp qui cogne sur vous : tout se sent tellement ordinaire, tellement prévisible, donc pliable. L’émancipation ne saurait échapper.
  3. Pour votre troisième langue, je recommande une langue de niche. Il y a quelques uns d'entre eux, de R (pour le traitement des données et apprentissage artificiel) à Erlang/Haskell/ML/OCaml (programmation fonctionnelle) à J (au niveau des fonctions de programmation) à l’ASM (faible niveau piratage) à la rouille. Quelque chose de spécial. Quelque chose à vous faire dire, hmm, c’est intelligent. Quelque chose s’en vanter. Quelque chose de croire à la créativité de l’informaticien.
  4. Je recommande également d’apprendre le CSS, XHTML, XSLT ou SQL. Juste pour savoir combien peut être accompli sans Turing complet. Oh et d’apprendre ce que signifie Turing complet.

Une fois que vous avez terminé le 4 ci-dessus, vous êtes probablement au-delà de niveau professionnel. Je suis encore aux prises avec Lisp et R. Donc, à ce moment, revenir ici et nous apprendre.


Tags: Apprendre à programme, Programmation informatique, Langages de programmation