Comment apprendre un nouveau langage de programmation cet été
Quelle meilleure façon de profiter de l'été que d'apprendre un nouveau langage de programmation ? Oubliez les romans à lire à la plage cet été et concentrez-vous plutôt sur l'apprentissage d'un nouveau langage de programmation. Mais lequel choisir ?
Selon les données rapportées par EDC, il y a environ 24 millions de développeurs de logiciels professionnels sur Terre, et près de 700 langages de programmation notables (selon Wikipedia). Je suis prêt à parier qu'il existe un nombre tout aussi important de plateformes en ligne où vous pouvez apprendre un ou plusieurs langages de programmation. Que vous soyez déjà l'un des 11 millions d'experts en programmation ou que vous débutiez, il existe une multitude d'informations à explorer.
Dans le cadre de cet article de blog, nous allons certainement examiner le monde.. Les langages de programmation les plus utilisés en 2021, mais aussi des langages importants pour la manipulation et l'interrogation des données, nous aborderons donc : C et ses dérivés (C++, C#, et Objective-C), Java, Python, R, JavaScript, Ruby, SQL, et XQuery.
Le choix du point de départ dépend entièrement du type de scénarios de développement que vous envisagez, c'est pourquoi nous avons simplifié les choses pour vous faciliter la tâche. Que vous soyez un programmeur expérimenté souhaitant ajouter un nouveau langage à vos compétences, ou un débutant qui ne connaît pas encore la différence entre C, C++, Objective-C ou C#, nous avons préparé une liste d'explications pour vous aider à choisir le langage que vous souhaitez apprendre ensuite.

Avant de nous plonger dans les détails de chaque langage et de les examiner en profondeur, discutons des six principaux domaines dans lesquels les langages de programmation sont utilisés aujourd'hui, et déterminons quels langages pourraient être utiles dans chaque contexte. Cela vous donnera une feuille de route et une première idée du langage qui pourrait être le plus approprié pour vous.
Applications mobiles
Lorsque vous souhaitez développer des applications pour smartphones ou tablettes, le choix du langage est largement déterminé par la plateforme pour laquelle vous souhaitez développer. Si vous ciblez les appareils iOS, le langage standard est Objective-C. Pour le développement Android, le langage par défaut est Java, et pour les appareils Microsoft Surface (ainsi que les appareils Windows 10 ou 11 en général), c'est C#. Si votre application mobile nécessite un serveur en arrière-plan fonctionnant dans le cloud, consultez le paragraphe ci-dessous sur le développement côté serveur pour découvrir d'autres langages. Si vous souhaitez cibler les trois plateformes mobiles et que l'idée d'apprendre tout cela en même temps vous semble un peu trop ambitieuse, je vous recommande d'examiner des outils multiplateformes tels que Altova MobileTogether, qui vous permettent de créer une seule application mobile pour toutes les plateformes à partir d'une source unique, en utilisant XQuery et la programmation visuelle ActionTree.
Développement web
Pour le développement de sites web, qu'il s'agisse de sites pour appareils mobiles ou pour navigateurs classiques, le langage de programmation privilégié, celui qui sera exécuté par le navigateur, est JavaScript. Bien sûr, le contenu principal de votre site web sera rédigé en HTML5, et il est souhaitable que toutes les informations de style soient encodées dans des feuilles de style CSS3, mais ce ne sont pas des langages de programmation à proprement parler. Et jusqu'à présent, je n'ai parlé que de la programmation côté client.
Développement côté serveur
Que vous parliez de la partie serveur d'une application mobile ou d'un serveur web classique, il existe de nombreux langages de programmation adaptés au développement côté serveur. On y retrouve notamment Java, C#, Python, PHP et Ruby, qui sont les plus utilisés. Cela s'applique aussi bien aux serveurs web traditionnels qu'aux serveurs basés sur le cloud, qui peuvent fonctionner sur les plateformes AWS ou Azure.
Applications classiques pour PC et ordinateurs de bureau
Bien que les applications Java et Visual Basic soient parfois utilisées dans les environnements d'entreprise, la majorité des applications de bureau fonctionnant sur PC ont été et sont encore développées en C, C++ ou C#. Cependant, des langages comme Python gagnent en popularité, même sur les ordinateurs de bureau, en tant que langages de script pour automatiser les tâches courantes.
Calcul scientifique
Pour l'analyse de données, les statistiques et les mathématiques avancées, il existe trois langages spécialisés qui sont couramment utilisés : Matlab, Mathematica et R. Basé uniquement sur sa popularité, R a dépassé les deux autres ces dernières années, je vais donc me concentrer sur R dans la suite.
Dispositifs embarqués et Internet des objets
En ce qui concerne les systèmes embarqués, C et C++ restent les langages de référence. Ce domaine a certainement connu des changements ces dernières années, car de plus en plus de dispositifs embarqués et d'objets connectés se transforment en véritables ordinateurs Linux, mais pour le développement de logiciels qui sont très proches du niveau matériel, ainsi que pour de nombreuses fonctions du système d'exploitation et des pilotes de périphériques, la puissance, la vitesse et l'efficacité de C en font toujours le choix privilégié dans ce domaine.
Requêtes de base de données et manipulation des données
Quel que soit le domaine qui vous intéresse, vous aurez presque toujours besoin de connaître un langage qui vous permette de requêter une partie des données stockées dans une base de données. Bien que Hadoop/MapReduce et d'autres plateformes axées sur les données massives suscitent beaucoup d'intérêt ces jours-ci, SQL, le langage de requête structuré, existe depuis les années 1970 et reste le langage de requête de base de données le plus utilisé, étant pris en charge par tous les principaux systèmes de bases de données.
En plus de SQL, je vous recommande également d'étudier attentivement XQuery, le langage de requête XML, car une grande quantité de données est aujourd'hui accessible en XML ou en JSON, et XQuery est un langage très puissant pour manipuler efficacement ce type de données. En particulier, des outils mobiles avancés comme Altova MobileTogether utilisent XQuery pour permettre une programmation fonctionnelle de la manipulation de données provenant de diverses sources, notamment XML, JSON, HTML et bases de données SQL.

Maintenant que je vous ai donné un aperçu des régions où certaines de ces langues sont le plus souvent utilisées, j'espère que vous avez une idée de quelle langue pourrait être un bon choix pour vous apprendre ensuite. Alors, parlons maintenant de chaque langue en détail et des endroits où vous pouvez les apprendre en ligne :
C
C et ses dérivés (C++, C#, et Objective-C) sont des langages de programmation à usage général, et C a connu une grande popularité depuis la publication en 1978 du livre fondateur The C Programming Language de Kernighan et Ritchie. Si vous envisagez une carrière sérieuse dans l'informatique, la connaissance de C reste essentielle, mais je ne recommanderais pas de commencer par ce langage pour les débutants, car il est le plus souvent utilisé pour des travaux liés au matériel ou pour d'autres applications de bas niveau. C a été initialement conçu pour être utilisé sur le système d'exploitation UNIX et est aujourd'hui principalement utilisé pour la mise en œuvre de systèmes d'exploitation, de pilotes de périphériques et d'applications embarquées.
Voici quelques ressources pour apprendre le langage C : https://alison.com/courses/Diploma-in-Programming-in-C https://www.udemy.com/c-programming-for-beginners/ http://c.learncodethehardway.org/book/
C++
Le C++ est dérivé du langage C et existe depuis un certain temps. Il nécessite au moins un niveau intermédiaire en programmation pour commencer à apprendre ce langage. Le C++ possède des fonctionnalités de programmation impérative, orientée objet et générique, ce qui le rend extrêmement puissant, mais exige également une compréhension de plusieurs concepts avancés de l'informatique pour le maîtriser pleinement. Ce langage est principalement utilisé pour le développement de logiciels système, de jeux vidéo, d'applications et d'applications client/serveur, ainsi que de logiciels serveur basés sur le cloud.
Voici quelques ressources pour apprendre le C++ : http://www.learncpp.com/ http://www.cplusplus.com/doc/tutorial/
C#
C#, initialement conçu par Microsoft dans le cadre de son initiative .NET, est utilisé pour développer des applications logicielles pour les plateformes Windows. Étant une composante essentielle du framework .NET, si vous souhaitez développer pour Microsoft, c'est le langage qu'il vous faut. Il ressemble beaucoup à Java, donc si vous connaissez l'un de ces langages, il ne sera pas difficile de passer à l'autre. Comme Java, C# a été initialement conçu pour introduire les concepts de la programmation orientée objet dans un langage similaire à C, sans la complexité de C++.
Voici quelques ressources pour apprendre C# : https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/ https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners
Java
Java est un langage orienté objet et, actuellement, l'un des langages les plus utilisés. Les programmeurs apprécient Java car il est conçu pour être portable et fonctionne bien sur de nombreuses plateformes logicielles. Java est un langage polyvalent qui peut être utilisé pour développer des applications mobiles, des applications côté serveur, ainsi que des logiciels d'entreprise.
Voici quelques ressources pour apprendre Java : https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/ https://www.codecademy.com/edn/courses/learn-java/
R
R est un langage spécialisé, utilisé pour l'analyse statistique et la création de graphiques, notamment pour les analyses bivariées et les corrélations. Ce langage a gagné en popularité en raison de la forte demande en science des données, tant dans le milieu académique que dans le monde des affaires, où la visualisation et l'analyse des données sont essentielles pour faire avancer les projets. R est un excellent choix si vous avez besoin de créer un projet d'analyse de données, ou si vous estimez que les fonctionnalités limitées d'Excel sont trop rudimentaires pour analyser correctement les corrélations qui pourraient exister dans vos données.
Voici quelques ressources pour apprendre le langage R : https://cran.r-project.org/manuals.html https://www.edx.org/course/r-programming-fundamentals https://www.datacamp.com/courses/free-introduction-to-r

Python
Python, souvent présenté comme l'un des langages de programmation les plus faciles à apprendre, est un langage de script de haut niveau et à usage général. Utilisé pour créer tout, des sites web aux applications mobiles, en passant par l'analyse de données, Python dispose d'une bibliothèque standard vaste et complète. En raison de sa simplicité, Python est également l'un des langages de programmation les plus enseignés dans les écoles américaines. Si vous débutez en programmation, c'est effectivement un excellent point de départ.
Voici quelques ressources pour apprendre Python : https://www.python.org/doc/ http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/ https://developers.google.com/edu/python/?hl=en
Rubis
Ruby est un autre langage de scripting très performant qui a connu une certaine popularité ces 10 à 15 dernières années, mais qui semble connaître un léger déclin actuellement. Il est utilisé pour le développement de sites web et d'applications mobiles. Ce langage open source bénéficie d'une communauté active, ce qui facilite grandement la recherche de ressources pour apprendre Ruby. Ruby a été créé au milieu des années 1990 au Japon par Yukihiro Matsumoto, qui a combiné des éléments de certains de ses langages préférés (Perl, Smalltalk, Eiffel, Ada et Lisp) pour créer un nouveau langage qui est intrinsèquement orienté objet et fonctionnel.
Voici quelques ressources pour apprendre Ruby :
https://www.ruby-lang.org/en/documentation/quickstart/
https://rubymonk.com/
JavaScript
JavaScript est un langage basé sur Java, fréquemment utilisé pour ajouter des fonctionnalités programmatiques aux pages web HTML. C'est un langage relativement simple à apprendre, et de nombreux tutoriels pratiques sont disponibles en ligne pour vous aider à démarrer. Il est généralement exécuté dans un navigateur web, bien que d'autres applications côté serveur soient également possibles. Ces dernières années, JavaScript s'est également étendu à d'autres domaines, notamment les applications mobiles, et même certains appareils embarqués.
JavaScript utilise un format de sérialisation intégré pour écrire des objets de la mémoire sur un disque ou dans un flux de données, appelé JSON (JavaScript Object Notation). JSON a gagné en popularité pour la transmission de données entre ordinateurs, de manière similaire à XML, car c'est un moyen rapide et efficace de transférer des données. La maîtrise de JavaScript vous prépare donc à une bonne connaissance de JSON et de JSON Schema, qui sont tous deux des éléments essentiels pour développer des applications web et des services web.
Voici quelques ressources pour apprendre JavaScript : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide https://www.codecademy.com/tracks/javascript
SQL
SQL, ou langage de requête structuré, est un langage de requête de base de données utilisé pour gérer les données dans les bases de données relationnelles. Qui devrait apprendre SQL ? Tout le monde ! SQL est omniprésent, et son apprentissage n'est pas si difficile. Si vous avez un jour besoin de récupérer ou de manipuler des données dans une base de données (et soyons honnêtes, qui ne pourrait pas bénéficier de cette compétence), c'est un excellent langage à apprendre.
Ressources pour apprendre SQL : https://www.codecademy.com/learn/learn-sql http://www.sqlcourse.com/ http://www.w3schools.com/sql/ http://www.tutorialspoint.com/sql/
XQuery
XQuery est un langage de programmation fonctionnel conçu à la fois pour interroger et transformer les données XML et JSON. Selon le W3C, XQuery remplace des programmes Java ou C++ complexes par quelques lignes de code, car il est plus simple à utiliser et plus facile à maintenir. XQuery est également devenu le langage privilégié pour la manipulation de données puissante à partir d'une grande variété de sources de données sur les plateformes mobiles, comme Altova MobileTogether. XQuery est très puissant et n'est pas un langage difficile à apprendre.
Ressources pour apprendre XQuery : https://www.altova.com/training/xquery3/ https://www.w3schools.com/xml/xquery_intro.asp http://www.tutorialspoint.com/xquery/
En plus de toutes ces ressources en ligne, de nombreux excellents ouvrages sur toutes ces langues sont disponibles sur Amazon. N'hésitez pas à les consulter également et à lire les avis des clients avant de décider lequel acheter.

Il n'y a pas de mauvais langage de programmation à ajouter à votre arsenal ; en réalité, chacun d'eux ne fera qu'accroître votre employabilité. Alors, lancez-vous et commencez à apprendre un nouveau langage de programmation cet été !