La réponse à la question la plus fréquemment posée sur l’apprentissage du code
As a technical writer, my mission is to make complex topics easy to understand, so you won’t find much technical jargon in this article. I could rant and rave about object-oriented programming and data structures, but if you’re new to coding and computer science, this won’t mean much to you (yet). The purpose of this article is to give you a very broad and simple introduction to the world of programming, and to help you figure out how (and what) to start learning.
Quel langage de programmation dois-je apprendre en premier ?
C’est la question la plus fréquente que j’ai reçue depuis la publication de What I Wish I Knew Before I Learned To Code. La plupart des gens supposent qu’il y a un choix évident, mais la réponse n’est pas toujours aussi claire.
De nombreux bootcamps de codage se concentrent exclusivement sur JavaScript, peut-être avec l’hypothèse que tous ceux qui veulent être un développeur devraient juste commencer par le travail frontal. JavaScript est à peu près inévitable si vous voulez vous lancer dans le développement frontal, mais beaucoup de gens s’y jettent avant même de considérer ce qu’ils essaient d’accomplir en apprenant à coder.
De nombreux programmes d’informatique commencent par Python, peut-être parce qu’il a une syntaxe simple et une documentation robuste, ce qui en fait un excellent langage pour un débutant. Hé, Python est génial pour toutes sortes de choses, y compris la science des données, alors pourquoi ne pas l’apprendre en premier ? C’est un langage polyvalent, après tout.
Le problème est que beaucoup de gens se mettent en tête qu’ils veulent » apprendre à coder « , mais ils ne s’arrêtent pas pour réfléchir à ce qu’ils veulent apprendre à faire.
Programmer ne consiste pas à choisir un langage, à apprendre sa syntaxe, puis à comprendre ce qu’il peut faire plus tard.
Si vous voulez être développeur, et que vous ne savez pas par où commencer, je vous encourage vivement à commencer par la fin. Le résultat final. Que voulez-vous faire ?
Si la réponse est » beaucoup d’argent « , alors allez-y et parcourez les offres d’emploi et choisissez n’importe quelle langue recherchée par votre entreprise préférée. Mais bonne chance pour apprendre quelque chose sans avoir un objectif tangible en tête.
Après tout, peu importe qu’une langue particulière soit « facile » ou « difficile » à apprendre. Vous savez ce qui est vraiment difficile ? Essayer de pousser un langage au-delà de ses limites pour créer quelque chose qui ne peut pas (ou ne devrait pas) être créé avec ce langage.
Je ne suis pas sûr de ce que je veux faire, mais je sais que j’aime le défi de la programmation.
D’accord – mais à un moment donné, vous devez réaliser que vous essayez d’apprendre quelque chose de difficile hors contexte. C’est comme essayer d’apprendre une langue étrangère mais admettre que vous ne savez même pas où elle est parlée et que vous n’avez aucun intérêt à en prononcer un mot à haute voix. Vous pouvez apprendre toute la grammaire hors contexte que vous voulez, mais vous ne serez jamais un linguiste.
Quelles sont certaines des choses que vous pouvez faire ?
- Sites web
- Jeux sur ordinateur
- Applications mobiles (iOS ? Android ?)
Quelles sont certaines des choses que vous pouvez faire ?
- science des données
- intelligence artificielle
- apprentissage machine
- sécurité informatique
- rédaction technique
- administration de bases de données
Cette liste n’est évidemment pas exhaustive, mais vous comprenez l’essentiel. Que voulez-vous faire exactement ? Déterminez-le avant de choisir un langage de programmation pour commencer. Bien que certaines personnes disent que le choix n’a pas d’importance tant que vous l’apprenez bien, vous trouverez probablement que ce n’est pas le meilleur conseil – surtout si vous avez déjà essayé et échoué.
Vous ne devriez probablement pas passer des mois et des mois sur des défis JavaScript si votre rêve est de concevoir le prochain Fortnite, tout comme vous n’avez pas besoin de suivre un cours de Swift si vous essayez d’être un développeur Android.
En revanche, si votre rêve est de décrocher un poste d’ingénieur logiciel dans une grande entreprise de technologie, on s’attendra probablement à ce que vous appreniez de nouveaux langages de programmation une fois que vous commencerez à travailler. Votre compréhension des algorithmes et des principes informatiques pourrait être plus importante que le langage que vous choisissez d’utiliser lors de votre entretien de codage.
Indubitablement, il est plus facile de se familiariser avec de nouveaux langages de programmation après en avoir vraiment bien appris un, mais si vous débutez, il est préférable de choisir un langage qui s’aligne bien sur vos objectifs à court et à long terme au lieu d’en choisir un au hasard, ou de choisir celui qui, selon vous, vous rapportera le plus d’argent.
Quels sont les langages de programmation les plus populaires ? À quoi servent-ils le plus souvent ?
Si vous voulez faire quoi que ce soit avec le développement frontal, supposez que HTML et CSS sont une évidence. Que vous les considériez comme des langages de programmation ou non (techniquement, HTML est un langage de balisage et CSS est un langage de feuille de style), vous devez les apprendre, et vous devriez être capable de les apprendre rapidement. Il y a une raison pour laquelle les bootcamps de codage passent rapidement par le HTML et le CSS, en les intégrant parfois dans les cours pré-bootcamp.
Simplicitement, le HTML est utilisé pour mettre du texte, des images et d’autres éléments sur un site Web. Les en-têtes, les pieds de page, les sauts de ligne, les liens, le texte en italique, et ainsi de suite sont créés avec le HTML. Toute la hiérarchie de votre page se fait avec le HTML.
Le CSS est utilisé pour modifier l’apparence de ces éléments. De l’opacité aux bordures, de la taille des polices aux grilles, CSS vous permet de personnaliser l’aspect de chaque élément de votre page. Vous pouvez également utiliser CSS pour créer des animations avant même de penser au mot JavaScript.
Si vous voulez être un développeur frontal, passez une semaine ou deux à vraiment apprendre HTML et CSS, et réalisez quelques sites Web à partir de zéro avant de passer à autre chose. Apprenez Flexbox et Grid pour rendre les pages réactives (afin qu’elles s’adaptent aux différentes tailles d’écran), et voyez jusqu’où vous pouvez pousser CSS, car il peut vraiment faire beaucoup plus que ce que vous pouvez imaginer. Jouez avec Bootstrap, qui est un framework front-end open-source. Puis, une fois que vous en êtes arrivé là, vous constaterez que votre parcours de programmation vous a naturellement conduit à…
JavaScript
JavaScript peut être utilisé de nombreuses façons, mais il est le plus souvent utilisé dans le développement frontal. JavaScript est utilisé pour rendre les sites Web interactifs et pour rendre les éléments Web fonctionnels. Vous pouvez ajouter un bouton à votre site Web avec HTML, le styliser avec CSS et lui donner une fonctionnalité avec JavaScript. Sans JavaScript, votre bouton ne fera rien lorsque les utilisateurs cliqueront dessus.
Vous n’aurez pas besoin d’utiliser le Terminal pour utiliser JavaScript. Vous travaillerez dans un éditeur de code et dans votre navigateur.
JavaScript peut être utilisé pour concevoir des jeux sur navigateur. (Si vous avez déjà essayé de jouer à des jeux basés sur un navigateur sur un ordinateur scolaire et que vous avez rencontré des problèmes, c’est probablement parce que JavaScript a été bloqué par l’administrateur de l’école dans une tentative futile de vous empêcher de jouer.)
Il existe de nombreuses bibliothèques et frameworks qui facilitent le travail avec JavaScript. Vous ne commencerez pas avec ceux-ci, mais vous pourriez les utiliser largement plus tard.
Vous pouvez même utiliser JavaScript pour le travail back-end en utilisant Node.js.
JavaScript pardonne relativement les erreurs. Relativement.
If you want to be a front-end developer, you’ll need to learn HTML, CSS, and JavaScript. There’s really no way around it.
Python
Python est un langage polyvalent, puissant et généraliste. Vous pouvez l’utiliser pour à peu près tout, du développement web aux jeux, ce qui explique pourquoi beaucoup de gens le choisissent comme premier langage.
Si vous êtes juste curieux de coder, vous pouvez commencer avec Python. Il est facile à apprendre.
Mais si votre rêve est d’obtenir un emploi en tant que data scientist… vous feriez mieux d’arrêter de lire maintenant parce que vous pouvez définitivement commencer avec Python.
Pour faire court, Python est le rêve d’un data scientist. Ses paquets et ses bibliothèques permettent de travailler facilement avec des quantités massives de données. Vous pouvez créer des visualisations avec Matplotlib, vous pouvez analyser des données tabulaires avec Numpy et Pandas… et ainsi de suite.
Python dispose d’une documentation robuste. S’il y a quelque chose que vous devez rechercher, vous serez en mesure de trouver la réponse rapidement. C’est une considération importante pour toute personne qui apprend de manière autonome.
Veillez à votre indentation, cependant. L’indentation marque les blocs de code, vous obtiendrez donc une erreur si vous vous y prenez mal. Un espace manquant ou un espace supplémentaire est un problème. Je le mentionne parce que c’est une caractéristique distinctive de Python. Avec JavaScript, vous pouvez mettre autant d’espaces que vous le souhaitez, même si vous faites des dégâts. N’essayez pas cela avec Python.
Ruby
Ruby est un langage back-end. » Ruby on Rails » n’est pas un langage. Ruby est le langage, et Rails est le framework. Ruby est devenu populaire grâce à Rails.
Ruby est un langage génial avec une syntaxe douce. Pas de point-virgule à la fin de chaque ligne ! La plupart des développeurs s’accordent à dire qu’il est amusant à utiliser, mais qu’il est assez intolérant aux erreurs. Un petit conseil. Si le débogage n’est pas votre forté, vous ne passerez pas un bon moment en commençant avec Ruby.
C’est un langage de haut niveau qui peut accomplir pas mal de choses avec seulement quelques lignes de code. Ruby devient populaire auprès des startups, vous avez donc peut-être vu des offres d’emploi pour des « développeurs Ruby on Rails ».
Ruby peut être un bon premier langage si vous apprenez de manière indépendante et si vous n’êtes pas un fan de Python. D’un autre côté, Ruby a été conçu pour rendre la programmation aussi amusante et agréable que possible pour les développeurs expérimentés, ce n’est donc pas un langage que les académies de codage ou les programmes d’informatique enseignent en premier. Si vous espérez apprendre dans un environnement présentiel, vous n’aurez pas beaucoup de chance de trouver un cours d' » introduction à la programmation » axé sur Ruby.
SQL
SQL (certains le prononcent S-Q-L tandis que d’autres disent » sequel » ; nous pouvons garder cet argument pour un autre jour) n’est pas vraiment un langage de » programmation « . Vous ne créerez pas des applications entières avec SQL. Vous l’utiliserez pour communiquer avec des bases de données ou en obtenir des informations.
Données. Bases.
Si vous voulez travailler dans la science des données, vous devrez apprendre SQL, sinon vous n’obtiendrez aucune donnée. Si vous voulez faire quoi que ce soit qui implique des bases de données, vous devrez apprendre SQL. Mais si vous n’avez jamais écrit une seule ligne de code de votre vie, vous ne devriez probablement pas commencer par SQL. Pourquoi ? Vous ne pouvez pas développer une application autonome avec SQL (ce n’est pas ce genre de langage), donc vous allez plutôt apprendre à reculons.
Swift
Si vous voulez être un développeur iOS, il est tout à fait correct de commencer avec Swift. Swift est un langage relativement nouveau, mais il est facile à apprendre (les enfants peuvent le faire) et il a été littéralement fait pour développer des applications iOS.
Il n’y a pas grand-chose d’autre à dire ici. Il n’y a aucune raison que Swift ne puisse pas être votre premier langage si votre objectif est de devenir un développeur iOS.
Java
Si vous voulez construire des applications Android, Java est votre langage. Vous pouvez l’utiliser pour les applications de bureau, aussi. Et certains jeux. Java était autrefois l’un des langages les plus couramment enseignés dans les programmes d’informatique, mais Python l’a dépassé ces dernières années. Java est toujours très populaire, mais Python et Ruby sont sans doute plus faciles à apprendre. Si vous avez à cœur de devenir un développeur Android, commencez par Java – mais si ce n’est pas le cas, vous pourriez trouver que vous bénéficiez d’une plus grande polyvalence (et d’un meilleur rapport qualité-prix, pour ainsi dire) en apprenant d’abord Python à la place.
C#
Si vous voulez être un développeur de jeux – en particulier si vous voulez développer des jeux pour consoles ou pour ordinateurs de bureau – vous avez peut-être jeté un œil à Unity. Si ce n’est pas le cas, ouvrez ce lien dans une nouvelle fenêtre et explorez-le dès que vous aurez fini de lire.
Avec Unity, vous pouvez construire (et monétiser) des jeux incroyables, même si vous êtes un débutant. Vous utiliserez probablement C#.
Bien qu’Unity ait eu l’habitude de prendre en charge UnityScript (qui est essentiellement un « dialecte » de JavaScript), il a commencé à supprimer progressivement le support d’UnityScript en 2017, laissant C# comme le concurrent le plus fort.
C# est un excellent langage à apprendre en premier si votre objectif est de devenir un développeur de jeux. Il n’a pas besoin d’être difficile. Unity a une documentation parmi les plus robustes que j’ai jamais vues. Ils ont des tutoriels comme aucun autre.
Une autre raison d’apprendre C# : Microsoft. Si vous voulez construire des applications Microsoft, C# est votre langage.
PHP
PHP est un langage de script, et il est un peu sous-estimé, compte tenu du fait que 80% du web est alimenté par PHP. Il est plutôt connu pour être la base des thèmes WordPress, donc si vous êtes intéressé par la création de thèmes personnalisés, vous devrez être à l’aise avec PHP.
Vous pouvez faire beaucoup de choses avec PHP. Cela semble juste être un langage bizarre à recommander comme premier parce qu’il ne sera probablement pas suffisant pour répondre à tous vos besoins en matière de programmation. PHP a ses limites, mais il est en fait très facile à apprendre pour un débutant.
Il existe beaucoup d’autres langages, et ceci n’est pas censé être une liste exhaustive.
Si l’intérêt est suffisant, je mettrai à jour cet article avec d’autres langages. Rappelez-vous juste une chose : chaque développeur a un langage préféré, et chaque développeur vous dira d’apprendre ce langage en premier.
Mais vous n’êtes pas chaque développeur.
Vous devriez commencer par le langage qui a le plus de sens pour vous une fois que vous avez compris exactement ce que vous voulez faire. Ne lâchez pas 18 000 $ dans un bootcamp qui enseigne JavaScript (peu importe à quel point JavaScript est incroyable) si vous savez que vous voulez faire des applications mobiles.
Parlons des langages de programmation peu pratiques.
Je ne vais pas citer de noms, mais si vous êtes tombé par hasard sur un « langage cool » et que vous n’avez aucune idée de ce à quoi il sert, il y a de fortes chances que ce ne soit pas un bon premier langage à apprendre.
Cela inclut les langages « hérités ». Si littéralement personne n’a utilisé un langage particulier depuis des décennies, n’en faites pas votre premier langage de programmation. C’est comme essayer d’apprendre l’araméen comme première langue étrangère. Vous ne trouverez pas assez de documentation pour dépasser le niveau « débutant », et les gens rouleront des yeux sur vous si vous essayez d’utiliser une langue ancienne pendant un entretien de codage. Je dis simplement.
Soyez pratique.
Le meilleur premier langage est celui qui fait ce que vous avez besoin qu’il fasse.