Le meilleur langage de programmation à apprendre maintenant

La meilleure façon de comprendre les ordinateurs et de les plier à notre volonté est d'apprendre à parler leur langue afin qu'ils comprennent nos commandes. Les gens qui aiment les romans fantastiques imaginent parfois qu'ils apprennent des sorts et des incantations magiques. Les pratiquants utilisent un langage plus ancré pour représenter la structure logique des nombres et des données. Dans tous les cas, il s'agit de comprendre quelle séquence de frappes et de clics de souris fera sauter l'ordinateur à travers des cerceaux métaphoriques et exécuter des danses virtuelles.

Chaque école, MOOC et site de formation doit adopter une première langue pour les jeunes Padawans. Certains endroits, comme Fusty Harvard, s'accrochent encore à l'ère C des années 70, mais de nombreuses écoles oscillent entre JavaScript, Python et Java. L'un est enterré dans tous les navigateurs, l'un est le choix clair des sciences sociales et l'autre est la préférence riche en types de gens plus mathématiciens.

L'un est-il le meilleur choix? L'un est-il clairement meilleur que les autres? Ou sont-ils tous également susceptibles d'envoyer un nombre important d'étudiants crier dans leurs oreillers la nuit? Examinons les meilleures raisons d'apprendre Java, Python ou JavaScript.

Java est classique

Le test de placement avancé a choisi Java il y a longtemps, lorsque Java était jeune et en plein essor. Peut-être que Java n'a jamais atteint le sommet de sa trajectoire initiale, alors que tout le monde semblait supposer qu'il serait complètement dominant, mais il reste l'épine dorsale de nombreux sites Web, smartphones, téléviseurs et petits appareils.

Le choix d'une langue avec une forte suite permet à l'étudiant de sauter dans un train en marche déjà entièrement équipé d'outils de développement sophistiqués. De plus, il existe des milliards de lignes de code open source que l'étudiant peut étudier, réviser et étendre pour son propre travail. Ils rejoignent un grand mouvement et il leur est facile de s'intégrer.

Python est nouveau

En fait, Python n'est pas si nouveau - le projet a commencé il y a plus de 30 ans - mais il semble nouveau car son succès est venu lentement. Ce n'est que récemment que Python a éclaté et a été largement adopté par les programmeurs occasionnels. La nouveauté signifie que les écoles qui adoptent Python créent de nouveaux plans de cours, rédigent de nouveaux examens et développent de nouveaux jeux de diapositives. Ils ne creusent pas de vieilles questions poussiéreuses des années 1990 avec des références à Pets.com et MySpace.

Le dernier cours AP, appelé Principes d'informatique, permet à l'enseignant de choisir le langage informatique et beaucoup choisissent Python en raison de sa fraîcheur. La nouveauté peut être profonde, mais tous les langages ne sont qu'une syntaxe intelligente qui cache la structure de décision if-then-else du code d'assemblage.

Tout ce succès crée une boucle de rétroaction positive. L'édition de novembre 2020 de l'indice Tiobe a marqué la première fois que Python a grimpé dans l'emplacement numéro deux (derrière C), reconnaissant à quel point le langage était de plus en plus populaire que Java.

JavaScript est partout

C'est dans le navigateur et le navigateur est la base de votre bureau, de votre téléphone et de tous ces kiosques que vous voyez partout. Au cours de la dernière décennie, JavaScript a pris le dessus sur les serveurs Web, car les applications Web Node.js sont devenues le moyen le plus populaire pour les développeurs d'écrire du «code isomorphe» qui peut s'exécuter à la fois sur les clients et les fermes de serveurs. JavaScript a pratiquement le même âge que Java et pourtant, il a fallu des années aux utilisateurs côté serveur pour découvrir sa puissance. C'est nouveau et vieux en même temps.

Java est typé

Vous n'aimerez peut-être pas passer le temps à spécifier le type de chaque variable, mais il ne faut pas beaucoup de temps pour cliquer sur trois touches pour ajouter «int» à votre code. Lorsque vous faites cela, vous gagnez toute la puissance qui vient de laisser le compilateur vérifier immédiatement votre code et trouver les erreurs stupides avant son déploiement. Les langages vérifiés de type nous obligent à réfléchir plus rigoureusement à la logique de notre code, et c'est une leçon essentielle pour les nouveaux programmeurs. La structure de type de Java réduit les bogues et crée un meilleur code.

Python n'est pas typé

Les amateurs de langage typé sont intelligents et ils écrivent du bon code, mais si vous pensez que votre code est assez bon pour fonctionner correctement sans les informations supplémentaires sur les types de données pour chaque variable, eh bien, Python est prêt pour vous. L'ordinateur peut déterminer le type des données lorsque vous les stockez dans une variable. Pourquoi faire du travail supplémentaire pour vous-même?

Notez que cette approche en roue libre peut être en train de changer, bien que lentement. La documentation Python annonce que le runtime Python n'applique pas les annotations de type fonction et variable mais elles peuvent toujours être utilisées. Peut-être qu'avec le temps, l'ajout de types deviendra le moyen dominant de programmer dans la langue, mais pour l'instant, c'est tout votre choix.

JavaScript est à la fois

JavaScript lui-même n'est pas typé, mais récemment, certains des membres de haut niveau du monde JavaScript sont passés à TypeScript, un sur-ensemble du langage d'origine qui vous donne la possibilité de définir les types quand vous le souhaitez. Et si vous ne voulez pas, eh bien, le JavaScript standard fonctionnera bien aussi. C'est une version détendue de la vérification de type.

Périphériques de règles Java

La plate-forme de téléphonie mobile la plus populaire au monde est Android, une énorme pile de code construite sur Java. Mais ce n'est que la plate-forme la plus visible. Les décodeurs, les nouveaux Chromebooks et même certains ordinateurs de bureau exécutent des applications Android comme les smartphones. Un proche cousin de Java, C #, domine le monde Windows. C # n'est pas exactement la même chose que Java mais c'est très proche. Si vous allez écrire une application pour un matériel fixe, il y a de fortes chances que Java soit le meilleur choix.

Règles Python Data Science

Si vous écrivez un logiciel pour travailler avec des données, il y a de fortes chances que vous souhaitiez utiliser Python. La syntaxe simple a accroché de nombreux scientifiques et la langue a trouvé une forte popularité dans les laboratoires du pays. Maintenant que la science des données s'installe dans toutes les couches du monde des affaires, Python suit.

L'une des meilleures inventions pour créer et partager des documents interactifs, le Jupyter Notebook, a commencé avec la communauté Python avant d'adopter d'autres langages. C'est l'un des meilleurs moyens de mélanger les logiciels, les données et le texte qui explique ce qui se passe. Les lecteurs peuvent absorber les mots, puis appuyer sur des boutons pour exécuter le logiciel sur les données.

JavaScript règne sur le Web

Les autres plates-formes sont peut-être intéressantes, mais le navigateur Web continue d'être le seul portail que presque tout le monde utilise pour se connecter au monde. Il s'agit généralement du logiciel le plus utilisé sur le bureau, le smartphone et la tablette. JavaScript a commencé comme le patron de ce client local et son influence s'est étendue à une domination totale car la croissance de Node.js a rendu plus facile pour les développeurs d'exécuter le même code sur le client et le serveur.

Il existe également des dizaines de bons frameworks JavaScript (Angular, React, Vue, etc.) qui offrent une base pour créer votre application Web et certains sont assez intelligents pour déplacer votre code entre le client et le serveur selon les besoins. 

Même dans les mondes dominés par d'autres langages, JavaScript se fraye un chemin dans la pile. De nombreux développeurs de smartphones ignorent Java et Swift pour créer leurs applications multiplateformes en JavaScript. Après tout, JavaScript détermine ce qui se passe dans le rectangle du navigateur et cela garantit à peu près qu'il prendra la décision de ce qui arrivera à la plupart des clics et des frappes partout.

Java exécute tout

Si vous écrivez du code Python, il y a de fortes chances qu'il finisse par s'exécuter en Jython, une implémentation du langage écrit en Java pour profiter de l'omniprésence de la machine virtuelle Java. Si vous avez besoin d'exécuter JavaScript, vous pouvez également le transmettre à Rhino et Nashorn, deux outils qui transforment JavaScript en bytecode Java.

Ces deux langages ne sont pas les seuls à s'appuyer sur les performances à toute épreuve de la JVM. De nombreux langages de programmation fonctionnels tels que Scala, Clojure et Kotlin reposent également sur les mêmes bases. Cela aide tout le monde en simplifiant la liaison entre ces langages basés sur JVM si vous souhaitez les utiliser dans le même projet.

Python fonctionne partout

Python n'est pas le premier choix ni même le dernier choix pour les personnes qui écrivent des émulateurs pour d'autres langages. Pourtant, il est facile de trouver Python sur de nombreux ordinateurs. Les créateurs du langage ont toujours distribué le code en open source et les packages sont à peu près partout. En effet, vous trouverez Python inclus dans MacOS et la plupart des distributions complètes de Linux. Et même si ce n'est pas inclus dans Windows, c'est un jeu d'enfant à installer - faites-le simplement de manière intelligente.

JavaScript s'exécute dans le navigateur

Il est difficile de croire que le langage jouet conçu pour créer des boîtes d'alerte dans le navigateur est désormais le fondement de nombreuses langues. Les développeurs veulent toucher les utilisateurs et si les utilisateurs vivent dans le navigateur, eh bien, trouver un moyen pour que votre code s'exécute en JavaScript est le moyen le plus rapide d'atteindre tout le monde.

Ce ne sont pas seulement les cousins ​​JavaScript comme CoffeeScript et LiveScript qui se transforment en JavaScript. Même des langages comme Lisp, OCaml et Pascal peuvent être convertis en JavaScript et exécutés dans le navigateur. Python est populaire dans le navigateur dans des projets tels que les blocs-notes Jupyter et même Java peut être traduit en JavaScript à l'aide d'outils tels que Google Web Toolkit.

Java a des IDE puissants

Eclipse, NetBeans et IntelliJ font partie des meilleurs environnements de développement intégrés. Ils ont été créés par la communauté Java et nourris au fil des ans pour créer l'un des environnements les plus favorables à l'écriture de code. Les algorithmes de complétion de code et de génération de code peuvent ne pas écrire tous vos logiciels, mais ils peuvent en taper une quantité significative. Tout cela aide vraiment les nouveaux développeurs à obtenir la syntaxe correcte. 

Ces IDE étaient si populaires que les développeurs d'autres langages ont trouvé un moyen d'exécuter leur code à l'intérieur. Si vous devenez un programmeur Java professionnel, vous en utiliserez certainement un. En attendant, si vous voulez une expérience de programmation Java plus simple et plus conviviale, essayez BlueJ ou Greenfoot. Ces «IDE débutants» ont été spécialement conçus pour apprendre Java.

Python a le cloud

Le langage Python a trouvé sa première maison dans le monde d'Unix et il n'est donc pas surprenant que les nuages ​​remplis de boîtes Linux soient des endroits naturels pour trouver beaucoup de code Python. Certains des derniers outils comme Jupyter regroupent le code, les données et les explications afin que les gens puissent partager leurs idées avec d'autres sous forme de documents de recherche qui prennent vie. Les blocs-notes Jupyter ne sont pas des documents statiques, mais des outils interactifs d'exploration.

D'autres construisent des outils sophistiqués autour de la langue pour améliorer la recherche. PyTorch, par exemple, est une boîte à outils d'apprentissage en profondeur remplie de code, de données et d'algorithmes d'analyse. Des environnements comme celui-ci domineront l'avenir de la science des données.

Il existe également plusieurs bons hôtes pour ordinateurs portables qui ajoutent des fonctionnalités supplémentaires pour le partage de données et la gestion de gros travaux d'analyse de données informatiques intensifs. Google, par exemple, exécute le Colaboratory, qui stockera vos données et offrira un accès gratuit aux GPU pour un calcul plus rapide. Le Saturn Cloud vante des performances qui peuvent être 100 fois plus rapides que votre bureau.

JavaScript a JSFiddle

Chaque navigateur est doté d'une puissance plus que suffisante pour agir comme un IDE. JSFiddle n'est que le plus important de plus d'une douzaine de sites Web qui vous permettent de partager du code JavaScript avec d'autres développeurs. Les pages Web, cependant, ne sont pas statiques, car vous pouvez manipuler le code et le regarder s'exécuter dans la même page Web. Des outils comme celui-ci facilitent l'expérimentation de tout le plaisir syntaxique de JavaScript.

Apprenez l'un - ou les trois

Le monde de la programmation adore la pollinisation croisée. Bien qu'il puisse être déroutant de rebondir entre différentes langues et de garder la syntaxe correcte, il est possible d'utiliser les trois langues dans des projets sans trop s'enliser. Les projets Java ou JavaScript qui analysent les données peuvent être liés dans des bibliothèques de science des données écrites en Python. Ou les projets Python peuvent appeler du code Java ou JavaScript.

Les développeurs intelligents ont également créé des outils pour traduire, lier et intégrer automatiquement les différentes langues les unes aux autres. Voulez-vous exécuter du code Python dans votre navigateur? Il existe plusieurs options différentes maintenant et probablement d'autres à venir. Java a une classe ScriptEngine qui évaluera JavaScript. Il existe des centaines de langues différentes qui fonctionneront en JavaScript via la traduction ou l'émulation.

Bref, les trois langues n'ont pas besoin d'être des îles, isolées les unes des autres. Vous n'avez pas besoin d'en choisir un seul à long terme. Mais commencez par un au début.

En savoir plus sur le développement de logiciels:

  • Les meilleurs cours de programmation gratuits pendant le verrouillage
  • Qu'est-ce que CI / CD? Intégration continue et livraison continue expliquées
  • Qu'est-ce que la méthodologie agile? Développement de logiciel moderne expliqué
  • Qu'est-ce qu'une API? Explication des interfaces de programmation d'application
  • Le meilleur langage de programmation à apprendre maintenant
  • Les compétences de développeur de logiciel les plus précieuses en 2020
  • 6 meilleurs langages de programmation pour le développement de l'IA
  • Les 24 rôles de développeur les mieux rémunérés en 2020
  • Développeur full-stack: qu'est-ce que c'est et comment le devenir
  • 9 écueils de carrière que tout développeur de logiciel devrait éviter