Article original : What is Programming? A Handbook for Beginners

Bienvenue dans le monde merveilleux de la programmation. Il s'agit de l'une des compétences les plus utiles et les plus puissantes que vous pouvez apprendre et utiliser pour réaliser vos visions.

Dans ce guide, nous allons plonger dans l'importance de la programmation, ses applications, ses concepts de base et les compétences dont vous avez besoin pour devenir un programmeur à succès.

Vous apprendrez :

Êtes-vous prêt ? Commençons ! 488

44F9 Qu'est-ce que la programmation ?

Image La programmation est essentielle dans notre vie quotidienne.

Saviez-vous que la programmation informatique fait déjà partie intégrante de votre vie quotidienne ? Voyons pourquoi. Je suis sûr que vous serez grandement surpris.

Chaque fois que vous allumez votre smartphone, votre ordinateur portable, votre tablette, votre téléviseur intelligent ou tout autre appareil électronique, vous exécutez du code qui a été planifié, développé et écrit par des développeurs. Ce code crée le résultat final et interactif que vous pouvez voir sur votre écran.

C'est exactement ce qu'est la programmation. Il s'agit du processus d'écriture de code pour résoudre un problème particulier ou pour implémenter une tâche spécifique.

La programmation est ce qui permet à votre ordinateur d'exécuter les programmes que vous utilisez tous les jours et à votre smartphone d'exécuter les applications que vous aimez. C'est une partie essentielle de notre monde tel que nous le connaissons.

Que vous consultiez votre calendrier, assistiez à des conférences virtuelles, naviguiez sur le web ou modifiiez un document, vous utilisez du code qui a été écrit par des développeurs.

"Et qu'est-ce que le code ?" pourriez-vous demander.

Le code est une séquence d'instructions qu'un programmeur écrit pour dire à un appareil (comme un ordinateur) quoi faire.

L'appareil ne peut pas savoir par lui-même comment gérer une situation particulière ou comment effectuer une tâche. Les développeurs sont donc responsables de l'analyse de la situation et de l'écriture d'instructions explicites pour implémenter ce qui est nécessaire.

Pour ce faire, ils suivent une syntaxe particulière (un ensemble de règles pour écrire le code).

Un développeur (ou programmeur) est la personne qui analyse un problème et implémente une solution en code.

Cela semble incroyable, n'est-ce pas ? C'est très puissant et vous pouvez également faire partie de ce monde merveilleux en apprenant à coder. Voyons comment.

Vous, en tant que développeur.

Mettons-vous dans la peau d'un développeur pendant un instant. Imaginez que vous développez une application mobile, comme celles que vous avez probablement installées sur votre smartphone en ce moment.

Quelle est la première chose que vous feriez ?

Réfléchissez-y un instant.

La réponse est...

Analyser le problème. Que tentez-vous de construire ?

En tant que développeur, vous commenceriez par concevoir la mise en page de l'application, son fonctionnement, ses différents écrans et fonctionnalités, et tous les petits détails qui feront de votre application un outil génial pour les utilisateurs du monde entier.

Ce n'est qu'après avoir tout soigneusement planifié que vous pouvez commencer à écrire votre code. Pour cela, vous devrez choisir un langage de programmation avec lequel travailler. Voyons ce qu'est un langage de programmation et pourquoi ils sont super importants.

44F8 Qu'est-ce qu'un langage de programmation ?

Image Logos des langages de programmation populaires.

Un langage de programmation est un langage que les ordinateurs peuvent comprendre.

Nous ne pouvons pas simplement écrire des mots en anglais dans notre programme comme ceci :

"Ordinateur, résous cette tâche !"

et espérer que notre ordinateur comprenne ce que nous voulons dire. Nous devons suivre certaines règles pour écrire les instructions.

Chaque langage de programmation a son propre ensemble de règles qui déterminent si une ligne de code est valide ou non. Pour cette raison, le code que vous écrivez dans un langage de programmation sera légèrement différent des autres.

4E1 Conseil : Certains langages de programmation sont plus complexes que d'autres, mais la plupart d'entre eux partagent des concepts et des fonctionnalités de base. Si vous apprenez à coder dans un langage de programmation, vous serez probablement capable d'apprendre un autre plus rapidement.

Avant de pouvoir commencer à écrire des programmes et des applications incroyables, vous devez apprendre les règles de base du langage de programmation que vous avez choisi pour la tâche.

4E1 Conseil : un programme est un ensemble d'instructions écrites dans un langage de programmation pour que l'ordinateur les exécute. Nous écrivons généralement le code de notre programme dans un ou plusieurs fichiers.

Par exemple, voici une ligne de code en Python (un langage de programmation très populaire) qui affiche le message "Bonjour, le monde !" :

print("Bonjour, le monde !")

Mais si nous écrivons la même ligne de code en JavaScript (un langage de programmation principalement utilisé pour le développement web), nous obtiendrons une erreur car elle ne sera pas valide.

Pour faire quelque chose de très similaire en JavaScript, nous écririons plutôt cette ligne de code :

console.log("Bonjour, le monde !");

Visuellement, ils semblent très différents, n'est-ce pas ? C'est parce que Python et JavaScript ont une syntaxe différente et un ensemble différent de fonctions intégrées.

4E1 Conseil : les fonctions intégrées sont essentiellement des tâches qui sont déjà définies dans le langage de programmation. Cela nous permet de les utiliser directement dans notre code en écrivant leurs noms et en spécifiant les valeurs dont elles ont besoin.

Dans nos exemples, **print()** est une fonction intégrée en Python tandis que **console.log()** est une fonction que nous pouvons utiliser en JavaScript pour voir le message dans la console (un outil interactif) si nous exécutons notre code dans le navigateur.

Les exemples de langages de programmation incluent Python, JavaScript, TypeScript, Java, C, C#, C++, PHP, Go, Swift, SQL et R. Il existe de nombreux langages de programmation et la plupart d'entre eux peuvent être utilisés pour de nombreuses fins différentes.

4E1 Conseil : Voici les langages de programmation les plus populaires selon le Stack Overflow Developer Survey 2022 :

Image Les 14 langages de programmation les plus populaires parmi tous les répondants du StackOverflow Developer Survey 2022. Il s'agit d'une enquête annuelle qui collecte des informations sur les technologies populaires et les tendances dans la communauté des développeurs.

Il existe de nombreux autres langages de programmation (des centaines, voire des milliers !), mais généralement, vous apprendrez et travaillerez avec certains des plus populaires. Certains d'entre eux ont des applications plus larges comme Python et JavaScript, tandis que d'autres (comme R) ont des objectifs plus spécifiques (et même scientifiques).

Cela semble très intéressant, n'est-ce pas ? Et nous commençons à peine à parler des langages de programmation. Il y a beaucoup à apprendre à leur sujet et je vous promets que si vous plongez plus profondément dans la programmation, votre temps et vos efforts en vaudront totalement la peine.

Super ! Maintenant que vous savez ce qu'est la programmation et ce que sont les langages de programmation, voyons comment la programmation est liée aux nombres binaires.

44F9 Programmation et nombres binaires

Lorsque vous pensez à la programmation, peut-être que la première chose qui vous vient à l'esprit est quelque chose comme l'image ci-dessous, n'est-ce pas ? Une séquence de 0 et de 1 sur votre ordinateur.

Image Les nombres binaires sont 0 et 1.

La programmation est effectivement liée aux nombres binaires (0 et 1), mais de manière indirecte. Les développeurs n'écrivent pas réellement leur code en utilisant des zéros et des uns.

Nous écrivons généralement des programmes dans un langage de programmation de haut niveau, un langage de programmation avec une syntaxe qui reconnaît des mots spécifiques (appelés mots-clés), des symboles et des valeurs de différents types de données.

En gros, nous écrivons du code de manière à ce que les humains puissent le comprendre.

Par exemple, voici les mots-clés que nous pouvons utiliser en Python :

False               class               from                or
None                continue            global              pass
True                def                 if                  raise
and                 del                 import              return
as                  elif                in                  try
assert              else                is                  while
async               except              lambda              with
await               finally             nonlocal            yield
break               for                 not

Chaque langage de programmation a son propre ensemble de mots-clés (mots écrits en anglais). Ces mots-clés font partie de la syntaxe et de la fonctionnalité de base du langage de programmation.

Mais les mots-clés ne sont que des mots courants en anglais, presque comme ceux que nous trouverions dans un livre.

Cela nous amène à deux questions très importantes :

  • Comment l'ordinateur comprend-il et interprète-t-il ce que nous essayons de dire ?
  • Où le système de nombres binaires entre-t-il en jeu ici ?

L'ordinateur ne comprend pas directement ces mots, symboles ou valeurs.

Lorsque qu'un programme s'exécute, le code que nous écrivons dans un langage de programmation de haut niveau que les humains peuvent comprendre est automatiquement transformé en code binaire que l'ordinateur peut comprendre.

Image Processus de transformation d'un programme en code binaire.

Cette transformation du code source que les humains peuvent comprendre en code binaire que l'ordinateur peut comprendre est appelée compilation.

Selon Britannica, un compilateur est défini comme :

Logiciel informatique qui traduit (compile) le code source écrit dans un langage de haut niveau (par exemple, C++) en un ensemble d'instructions en langage machine qui peuvent être comprises par le CPU d'un ordinateur numérique.

Britannica mentionne également que :

Le terme compilateur a été inventé par la scientifique informatique américaine Grace Hopper, qui a conçu l'un des premiers compilateurs au début des années 1950.

Certains langages de programmation peuvent être classés comme langages de programmation compilés, tandis que d'autres peuvent être classés comme langages de programmation interprétés, selon la manière dont ils sont transformés en instructions en langage machine.

Cependant, ils doivent tous passer par un processus qui les convertit en instructions que l'ordinateur peut comprendre.

Super. Maintenant, vous savez pourquoi le code binaire est si important pour l'informatique. Sans lui, la programmation n'existerait pas, car les ordinateurs ne pourraient pas comprendre nos instructions.

Maintenant, plongeons dans les applications de la programmation et les différents domaines que vous pouvez explorer.

44F8 Applications réelles de la programmation

Image La programmation a de nombreuses applications réelles dans pratiquement toutes les industries que vous pouvez imaginer.

La programmation a de nombreuses applications différentes dans de nombreuses industries différentes. C'est vraiment incroyable car vous pouvez appliquer vos connaissances dans pratiquement n'importe quelle industrie qui vous intéresse.

De l'ingénierie à l'agriculture, du développement de jeux à la physique, les possibilités sont infinies si vous apprenez à coder.

Regardons quelques-unes d'entre elles. (Je vous le promets. Elles sont incroyables ! 44F0).

Développement Web Front-End

Image Les développeurs Web Front-End développent les parties des sites web et des applications web que les utilisateurs peuvent voir et avec lesquelles ils peuvent interagir.

Si vous apprenez à coder, vous pouvez utiliser vos compétences en programmation pour concevoir et développer des sites web et des plateformes en ligne. Les développeurs Web Front-End créent les parties des sites web que les utilisateurs peuvent voir et avec lesquelles ils peuvent interagir directement.

Par exemple, en ce moment, vous lisez un article sur la publication de freeCodeCamp. La publication ressemble à ceci et fonctionne ainsi grâce au code que les développeurs web front-end ont écrit ligne par ligne.

4E1 Conseil : Si vous apprenez le développement web front-end, vous pouvez faire cela aussi.

Image Le code HTML et CSS de la page d'accueil de freeCodeCamp (il s'agit d'un aperçu du code dans les outils de développement Chrome).

Les développeurs Web Front-End utilisent HTML et CSS pour créer la structure du site web (ce sont des langages de balisage, utilisés pour présenter des informations) et ils écrivent du code JavaScript pour ajouter des fonctionnalités et de l'interactivité.

Si vous êtes intéressé par l'apprentissage du développement web front-end, vous pouvez apprendre HTML et CSS avec ces cours gratuits sur la chaîne YouTube de freeCodeCamp :

Vous pouvez également apprendre JavaScript gratuitement avec ces cours en ligne gratuits :

4E1 Conseil : Vous pouvez également obtenir une Certification en Responsive Web Design tout en apprenant avec des exercices interactifs sur freeCodeCamp.

Développement Web Back-End

Image Les développeurs Web Back-End développent des serveurs et des bases de données pour gérer tout ce qui fonctionne en coulisses afin de faire fonctionner correctement des applications web plus complexes.

Les applications web plus complexes et dynamiques qui fonctionnent avec des données utilisateur nécessitent également un serveur. Il s'agit d'un programme informatique qui reçoit des requêtes et envoie des réponses appropriées. Ils ont également besoin d'une base de données, une collection de valeurs stockées de manière structurée.

Les développeurs Web Back-End sont responsables du développement du code pour ces serveurs. Ils décident comment gérer les différentes requêtes, comment envoyer des ressources appropriées, comment stocker les informations et, en gros, comment faire fonctionner tout ce qui se passe en coulisses de manière fluide et efficace.

Un exemple concret de développement web back-end est ce qui se passe lorsque vous créez un compte sur freeCodeCamp et que vous complétez un défi. Vos informations sont stockées dans une base de données et vous pouvez y accéder plus tard lorsque vous vous connectez avec votre email et votre mot de passe.

Image Un défi interactif de freeCodeCamp.

Cette fonctionnalité interactive incroyable a été implémentée par des développeurs web back-end.

4E1 Conseil : Les développeurs Full-stack Web sont responsables à la fois du développement Web Front-End et Back-End. Ils ont des connaissances spécialisées dans les deux domaines.

Toutes les plateformes complexes que vous utilisez tous les jours, comme les plateformes de médias sociaux, les plateformes de shopping en ligne et les plateformes éducatives, utilisent des serveurs et le développement web back-end pour alimenter leur fonctionnalité incroyable.

Python est un exemple de langage de programmation puissant utilisé à cette fin. Il s'agit de l'un des langages de programmation les plus populaires, et sa popularité continue de croître chaque année. Cela est en partie dû au fait qu'il est simple et facile à apprendre, tout en étant suffisamment puissant et polyvalent pour être utilisé dans des applications réelles.

4E1 Conseil : si vous êtes curieux des applications spécifiques de Python, voici un article que j'ai écrit sur ce sujet.

JavaScript peut également être utilisé pour le développement web back-end grâce à Node.js.

D'autres langages de programmation utilisés pour développer des serveurs web sont PHP, Ruby, C#, et Java.

Si vous souhaitez apprendre le développement Web Back-End, voici des cours gratuits sur la chaîne YouTube de freeCodeCamp :

4E1 Conseil : freeCodeCamp propose également une certification gratuite en Back End Development et APIs.

Développement d'applications mobiles

Image Les développeurs d'applications mobiles conçoivent et développent les applications mobiles que nous utilisons tous les jours.

Les applications mobiles sont devenues une partie de notre vie quotidienne. Je suis sûr que vous ne pourriez pas imaginer la vie sans elles.

Pensez à votre application mobile préférée. Qu'est-ce que vous aimez chez elle ?

Nos applications préférées nous aident dans nos tâches quotidiennes, elles nous divertissent, elles résolvent un problème et elles nous aident à atteindre nos objectifs. Elles sont toujours là pour nous.

C'est le pouvoir des applications mobiles et vous pouvez également faire partie de ce monde incroyable si vous apprenez le développement d'applications mobiles.

Les développeurs axés sur le développement d'applications mobiles sont responsables de la planification, de la conception et du développement de l'interface utilisateur et de la fonctionnalité de ces applications. Ils identifient un manque dans les applications existantes et tentent de créer un produit fonctionnel pour améliorer la vie des gens.

4E1 Conseil : quel que soit le domaine que vous choisissez, votre objectif en tant que développeur devrait toujours être d'améliorer la vie des gens. Les applications ne sont pas simplement des applications, elles ont le potentiel de changer nos vies. Vous devez toujours vous en souvenir lorsque vous planifiez vos projets. Votre code peut améliorer la vie de quelqu'un et c'est une responsabilité très importante.

Les développeurs d'applications mobiles utilisent des langages de programmation comme JavaScript, Java, Swift, Kotlin et Dart. Des frameworks comme Flutter et React Native sont super utiles pour construire des applications mobiles multiplateformes (c'est-à-dire des applications qui fonctionnent de manière fluide sur plusieurs systèmes d'exploitation différents comme Android et iOS).

Selon la documentation officielle de Flutter :

Flutter est un framework open source de Google pour construire de belles applications multiplateformes compilées de manière native à partir d'une seule base de code.

Si vous souhaitez apprendre le développement d'applications mobiles, voici des cours gratuits que vous pouvez suivre sur la chaîne YouTube de freeCodeCamp :

Développement de jeux

Image

Les jeux créent des souvenirs durables. Je suis sûr que vous vous souvenez encore de vos jeux préférés et de la raison pour laquelle vous les aimez (ou les aimiez) tant. Être un développeur de jeux signifie avoir l'opportunité d'apporter de la joie et du divertissement aux joueurs du monde entier.

Les développeurs de jeux conçoivent, planifient et implémentent la fonctionnalité d'un jeu. Ils doivent également trouver ou créer des actifs tels que des personnages, des obstacles, des arrière-plans, de la musique, des effets sonores, et plus encore.

4E1 Conseil : si vous apprenez à coder, vous pouvez créer vos propres jeux. Imaginez créer un jeu génial et captivant que les utilisateurs du monde entier aimeront. C'est ce que j'aime personnellement dans la programmation. Vous n'avez besoin que de votre ordinateur, de vos connaissances et de quelques outils de base pour créer quelque chose d'incroyable.

Les langages de programmation populaires utilisés pour le développement de jeux incluent JavaScript, C++, Python et C#.

Si vous êtes intéressé par l'apprentissage du développement de jeux, vous pouvez suivre ces cours gratuits sur la chaîne YouTube de freeCodeCamp :

Biologie, Physique et Chimie

Image

La programmation peut être appliquée dans chaque domaine scientifique que vous pouvez imaginer, y compris la biologie, la physique, la chimie et même l'astronomie. Oui ! Les scientifiques utilisent la programmation tout le temps pour collecter et analyser des données. Ils peuvent même exécuter des simulations pour tester des hypothèses.

Biologie

En biologie, les programmes informatiques peuvent simuler la génétique des populations et la dynamique des populations. Il existe même un domaine entier appelé bioinformatique.

Selon cet article.) "Bioinformatics" par Ardeshir Bayat, membre du Centre pour la recherche médicale génomique intégrée à l'Université de Manchester :

La bioinformatique est définie comme l'application d'outils de calcul et d'analyse à la capture et à l'interprétation de données biologiques.

Dr. Bayat mentionne que la bioinformatique peut être utilisée pour le séquençage du génome. Il mentionne également que ses découvertes peuvent conduire à des découvertes de médicaments et à des thérapies individualisées.

Les langages de programmation fréquemment utilisés pour la bioinformatique incluent Python, R, PHP, PERL et Java.

4E1 Conseil : R est un langage de programmation "et un environnement pour le calcul statistique et les graphiques" (source).

Un exemple d'un excellent outil que les scientifiques peuvent utiliser pour la biologie est Biopython. Il s'agit d'un framework Python avec "des outils librement disponibles pour le calcul biologique".

Si vous souhaitez en savoir plus sur la manière d'appliquer vos compétences en programmation dans la science, voici des cours gratuits que vous pouvez suivre sur la chaîne YouTube de freeCodeCamp :

Physique

La physique nécessite l'exécution de nombreuses simulations et la programmation est parfaite pour cela. Avec la programmation, les scientifiques peuvent programmer et exécuter des simulations basées sur des scénarios spécifiques qui seraient difficiles à reproduire dans la vie réelle. Cela est beaucoup plus efficace.

Les langages de programmation couramment utilisés pour les simulations de physique incluent C, Java, Python, MATLAB et JavaScript.

Chimie

La chimie repose également sur des simulations et l'analyse de données, c'est donc un domaine où la programmation peut être un outil très utile.

Dans cet article scientifique du Dr. Ivar Ugi et ses collègues de l'Institut de chimie organique de l'Université technique de Munich, ils mentionnent que :

La conception de synthèses entièrement nouvelles, et la classification et la documentation des structures, sous-structures et réactions sont des exemples de nouvelles applications de l'informatique à la chimie.

Les expériences scientifiques génèrent également des données et des résultats détaillés qui peuvent être analysés avec des programmes informatiques développés par des scientifiques.

Pensez-y : écrire un programme pour générer un diagramme en boîte ou un nuage de points ou tout autre type de graphique pour visualiser les tendances dans des milliers de mesures peut faire gagner beaucoup de temps et d'efforts aux chercheurs. Cela leur permet de se concentrer sur la partie la plus importante de leur travail : analyser les résultats.

Image Exemple de visualisations de données que vous pouvez créer avec Seaborn, une bibliothèque de visualisation de données Python. Cela est très utile pour analyser les données, n'est-ce pas ?

4E1 Conseils : si vous êtes intéressé à approfondir ce sujet, voici une liste de simulations de chimie par l'American Chemical Society. Ces simulations ont été programmées par des développeurs et elles aident des milliers d'étudiants et d'enseignants à travers le monde.

Pensez-y... Vous pourriez construire la prochaine grande simulation. Si vous êtes intéressé par un domaine scientifique, je vous recommande vivement d'apprendre à coder. Votre travail sera beaucoup plus productif et vos résultats seront plus faciles à analyser.

Si vous êtes intéressé par l'apprentissage de la programmation pour des applications scientifiques, voici des cours gratuits sur la chaîne YouTube de freeCodeCamp :

Science des données et ingénierie

Image

En parlant de données... la programmation est également essentielle pour un domaine appelé Science des données. Si vous êtes intéressé à répondre à des questions par le biais de données et de statistiques, ce domaine pourrait être exactement ce que vous cherchez et avoir des compétences en programmation vous aidera à atteindre vos objectifs.

Les scientifiques des données collectent et analysent des données afin de répondre à des questions dans de nombreux domaines différents. Selon UC Berkeley dans l'article "Qu'est-ce que la science des données ?" :

Les scientifiques des données efficaces sont capables d'identifier des questions pertinentes, de collecter des données à partir d'une multitude de sources de données différentes, d'organiser les informations, de traduire les résultats en solutions et de communiquer leurs conclusions de manière à affecter positivement les décisions commerciales.

Il existe de nombreux langages de programmation puissants pour analyser et visualiser des données, mais peut-être l'un des plus fréquemment utilisés à cette fin est Python.

Voici un exemple du type de visualisations de données que vous pouvez créer avec Python. Elles sont très utiles pour analyser les données visuellement et vous pouvez les personnaliser pour répondre à vos besoins.

Image Exemples de visualisations de données provenant des galeries [Seaborn](https://matplotlib.org/">Matplotlib et <a href="https://seaborn.pydata.org/examples/index.html)

Si vous êtes intéressé par l'apprentissage de la programmation pour la science des données, voici des cours gratuits sur la chaîne YouTube de freeCodeCamp :

4E1 Conseil : vous pouvez également obtenir ces certifications gratuites sur freeCodeCamp :

Ingénierie

L'ingénierie est un autre domaine où la programmation peut vous aider à réussir. Savoir écrire vos propres programmes informatiques peut rendre votre travail beaucoup plus efficace.

Il existe de nombreux outils créés spécifiquement pour les ingénieurs. Par exemple, le langage de programmation R est spécialisé dans les applications statistiques et Python est très populaire dans ce domaine également.

Un autre excellent outil pour la programmation en ingénierie est MATLAB. Selon son site officiel :

MATLAB est une plateforme de programmation et de calcul numérique utilisée par des millions d'ingénieurs et de scientifiques pour analyser des données, développer des algorithmes et créer des modèles.

Vraiment, les possibilités sont infinies.

Vous pouvez apprendre MATLAB avec ce cours accéléré sur la chaîne YouTube de freeCodeCamp.

Si vous êtes intéressé par l'apprentissage des outils d'ingénierie liés à la programmation, voici un cours gratuit sur la chaîne YouTube de freeCodeCamp qui couvre AutoCAD, un logiciel de conception assistée par ordinateur 2D et 3D utilisé par les ingénieurs :

Médecine et Pharmacologie

Image La programmation a aidé les scientifiques à développer de nouvelles techniques et dispositifs médicaux.

La médecine et la pharmacologie évoluent constamment en trouvant de nouveaux traitements et procédures. Voyons comment vous pouvez appliquer vos compétences en programmation dans ces domaines.

Médecine

La programmation est vraiment partout. Si vous êtes intéressé par le domaine de la médecine, apprendre à coder peut également être très utile pour vous. Même si vous souhaitez vous concentrer sur l'informatique et le développement de logiciels, vous pouvez appliquer vos connaissances dans les deux domaines.

Les développeurs spécialisés sont responsables du développement et de l'écriture du code qui alimente et contrôle les dispositifs et machines utilisés par la médecine moderne.

Pensez-y... toutes ces machines et dispositifs sont contrôlés par des logiciels et quelqu'un doit écrire ces logiciels. Les dossiers médicaux sont également stockés et suivis par des systèmes spécialisés créés par des développeurs. Cela pourrait être vous si vous décidez de suivre cette voie. Cela semble excitant, n'est-ce pas ?

Selon l'article scientifique Application des techniques informatiques en médecine :

Les principales utilisations des ordinateurs en médecine incluent le système d'information hospitalier, l'analyse de données en médecine, l'informatique de laboratoire d'imagerie médicale, l'aide à la décision médicale assistée par ordinateur, les soins aux patients gravement malades, la thérapie assistée par ordinateur, etc.

Pharmacologie

La programmation et l'informatique peuvent également être appliquées pour développer de nouveaux médicaments dans le domaine de la pharmacologie.

Un exemple remarquable de ce que vous pouvez accomplir dans ce domaine en apprenant à coder est présenté dans cet article par MIT News. Il décrit comment une étudiante de dernière année au MIT, Kristy Carpenter, utilisait l'informatique en 2019 pour développer "de nouveaux médicaments plus abordables". Kristy mentionne que :

L'intelligence artificielle, qui peut aider à calculer les combinaisons de composés qui seraient meilleurs pour un médicament particulier, peut réduire le temps d'essais et d'erreurs et idéalement accélérer le processus de conception de nouveaux médicaments.

Un autre exemple d'une application réelle de la programmation en pharmacologie est lié à Python (oui, Python a de nombreuses applications !). Parmi ses histoires de succès, nous trouvons que Python a été sélectionné par AstraZeneca pour développer des techniques et des programmes qui peuvent aider les scientifiques à découvrir de nouveaux médicaments plus rapidement et plus efficacement.

La documentation explique que :

Pour économiser du temps et de l'argent sur les travaux de laboratoire, les chimistes expérimentaux utilisent des modèles computationnels pour réduire le champ des bons candidats médicaments, tout en vérifiant que les candidats à tester ne sont pas de simples variations de la structure chimique de base de chacun.

Si vous êtes intéressé par l'apprentissage de la programmation pour la médecine ou les domaines liés à la santé, voici un cours gratuit sur la chaîne YouTube de freeCodeCamp sur la programmation pour l'imagerie médicale :

Éducation

Image La programmation peut être utilisée pour créer des outils qui aident les enseignants et les étudiants à avoir une expérience d'apprentissage plus productive et engageante. Enseigner aux étudiants à coder développe également leurs compétences en résolution de problèmes.

Avez-vous déjà pensé que la programmation pourrait être utile pour l'éducation ? Eh bien, laissez-moi vous dire que c'est le cas et que c'est très important. Pourquoi ? Parce que les outils d'apprentissage numériques que les étudiants et les enseignants utilisent de nos jours sont programmés par des développeurs.

Chaque fois qu'un étudiant ouvre une application éducative, navigue sur une plateforme éducative comme freeCodeCamp, écrit sur un tableau blanc numérique ou assiste à un cours via une plateforme de réunion en ligne, la programmation rend cela possible.

En tant que programmeur ou enseignant qui sait coder, vous pouvez créer la prochaine grande application qui améliorera l'expérience d'apprentissage des étudiants du monde entier.

Peut-être s'agira-t-il d'une application de prise de notes, d'une plateforme d'apprentissage en ligne, d'une application de présentation, d'un jeu éducatif ou de toute autre application qui pourrait être utile pour les étudiants.

L'important est de la créer en pensant aux étudiants si votre objectif est de faire quelque chose d'incroyable qui créera des souvenirs durables.

Si vous l'imaginez, alors vous pouvez le créer avec du code.

Les enseignants peuvent également apprendre à leurs élèves à coder pour développer leurs compétences en résolution de problèmes et leur enseigner des compétences importantes pour leur avenir.

4E1 Conseil : si vous enseignez aux étudiants comment coder, Scratch est un excellent langage de programmation pour enseigner les bases de la programmation. Il est particulièrement axé sur l'enseignement aux enfants de la programmation de manière interactive.

Selon le site officiel de Scratch :

Scratch est la plus grande communauté de codage au monde pour les enfants et un langage de codage avec une interface visuelle simple qui permet aux jeunes de créer des histoires numériques, des jeux et des animations.

Si vous êtes intéressé par l'apprentissage de la programmation à des fins éducatives, voici des cours que vous pourriez trouver utiles sur la chaîne YouTube de freeCodeCamp :

Apprentissage automatique, Intelligence artificielle et Robotique

Image L'apprentissage automatique et l'intelligence artificielle sont très populaires de nos jours car les plateformes peuvent apprendre comment les utilisateurs interagissent avec leur contenu afin de leur suggérer des informations et des produits pertinents.

Certains des domaines les plus incroyables directement liés à la programmation sont l'apprentissage automatique, l'intelligence artificielle et la robotique. Voyons pourquoi.

L'intelligence artificielle est définie par Britannica comme :

Le projet de développer des systèmes dotés des processus intellectuels caractéristiques des humains, tels que la capacité de raisonner, de découvrir du sens, de généraliser ou d'apprendre de l'expérience passée.

L'apprentissage automatique est une branche ou un sous-ensemble du domaine de l'intelligence artificielle dans lequel les systèmes peuvent apprendre par eux-mêmes en fonction des données. L'objectif de ce processus d'apprentissage est de prédire la sortie attendue. Ces modèles apprennent continuellement à "penser" et à analyser des situations en fonction de leur formation précédente.

Les langages de programmation les plus couramment utilisés dans ces domaines sont Python, C, C#, C++ et MATLAB.

L'intelligence artificielle et l'apprentissage automatique ont des applications incroyables dans divers secteurs, tels que :

  • Détection d'images et d'objets.
  • Faire des prédictions basées sur des motifs.
  • Reconnaissance de texte.
  • Moteurs de recommandation (comme lorsqu'une plateforme de shopping en ligne vous montre des produits que vous pourriez aimer ou lorsque YouTube vous montre des vidéos que vous pourriez aimer).
  • Détection de spam pour les emails.
  • Détection de fraude.
  • Fonctionnalités des médias sociaux comme les flux personnalisés.
  • Et bien plus encore... il y a littéralement des millions d'applications dans pratiquement tous les secteurs.

Si vous êtes intéressé par l'apprentissage de la programmation pour l'intelligence artificielle et l'apprentissage automatique, voici des cours gratuits sur la chaîne YouTube de freeCodeCamp :

4E1 Conseil : vous pouvez également obtenir une Certification en Apprentissage automatique avec Python sur freeCodeCamp.

Robotique

La programmation est également très importante pour la robotique. Oui, les robots sont également programmés !

La robotique est définie par Britannica comme la :

Conception, construction et utilisation de machines (robots) pour effectuer des tâches traditionnellement réalisées par des êtres humains.

Les robots sont comme des ordinateurs. Ils ne savent pas quoi faire jusqu'à ce que vous leur disiez quoi faire en écrivant des instructions dans vos programmes. Si vous apprenez à coder, vous pouvez programmer des robots et des machines industrielles que l'on trouve dans les installations de fabrication.

Si vous êtes intéressé par l'apprentissage de la programmation pour la robotique, l'électronique et les domaines connexes, voici un cours gratuit sur Arduino sur la chaîne YouTube de freeCodeCamp :

Autres applications

Il existe de nombreuses autres applications fascinantes de la programmation dans presque tous les domaines. Voici quelques points forts :

  • Agriculture : dans cet article de MIT News, un agriculteur a développé une application pour tracteur autonome après avoir appris à coder.
  • Voitures autonomes : les voitures autonomes dépendent de logiciels pour analyser leur environnement et prendre des décisions rapides et précises sur la route. Si vous êtes intéressé par ce domaine, voici un cours sur ce sujet sur la chaîne YouTube de freeCodeCamp.
  • Finance : la programmation peut également être utile pour développer des programmes et des modèles qui prédisent les indicateurs financiers et les tendances. Par exemple, voici un cours sur le trading algorithmique sur la chaîne YouTube de freeCodeCamp.

Les possibilités sont infinies. J'espère que cette section vous donnera une idée de pourquoi apprendre à coder est si important pour votre présent et pour votre futur. Ce sera une compétence précieuse à avoir dans n'importe quel domaine que vous choisissez.

Super. Maintenant, plongeons dans les compétences non techniques dont vous avez besoin pour devenir un programmeur à succès.

44F9 Compétences d'un programmeur à succès

Image

Après avoir parcouru la diversité des applications de la programmation, vous devez être curieux de savoir quelles compétences sont nécessaires pour réussir dans ce domaine.

Curiosité

Un programmeur doit être curieux. Que vous commeniez tout juste à apprendre à coder ou que vous ayez déjà 20 ans d'expérience, les projets de codage vous présenteront toujours de nouveaux défis et opportunités d'apprentissage. Si vous saisissez ces opportunités, vous améliorerez continuellement vos compétences et réussirez.

Enthousiasme

L'enthousiasme est une qualité clé d'un programmeur à succès, mais cela s'applique en général à tout domaine si vous voulez réussir. L'enthousiasme vous gardera heureux et curieux de ce que vous créez et apprenez.

4E1 Conseil : Si vous avez l'impression de ne plus être aussi enthousiaste qu'avant, il est temps de trouver ou d'apprendre quelque chose de nouveau qui peut rallumer l'étincelle en vous et vous remplir d'espoir et de rêves.

Patience

Un programmeur doit être patient car transformer une idée initiale en un produit fonctionnel peut prendre du temps, des efforts et de nombreuses étapes différentes. La patience vous gardera concentré sur votre objectif final.

Résilience

La programmation peut être difficile. C'est vrai. Mais ce qui vous définit, ce n'est pas le nombre de défis que vous rencontrez, c'est la manière dont vous les affrontez. Si vous prospérez malgré ces défis, vous deviendrez un meilleur programmeur et vous pourriez créer quelque chose qui pourrait changer le monde.

Créativité

Les programmeurs doivent être créatifs car même si chaque langage de programmation a un ensemble particulier de règles pour écrire le code, coder est comme utiliser des LEGOs. Vous avez les blocs de construction, mais vous devez décider quoi créer et comment le créer. Le processus d'écriture du code nécessite de la créativité tout en suivant les meilleures pratiques établies.

Résolution de problèmes et analyse

La programmation consiste essentiellement à analyser et à résoudre des problèmes avec du code. Selon votre domaine de choix, ces problèmes seront plus simples ou plus complexes, mais ils nécessiteront tous un certain niveau de compétences en résolution de problèmes et une analyse approfondie de la situation.

Des questions comme :

  • Que devrais-je construire ?
  • Comment puis-je le construire ?
  • Quelle est la meilleure façon de construire cela ?

Font partie de la routine quotidienne d'un programmeur.

Capacité à se concentrer pendant de longues périodes

Lorsque vous travaillez sur un projet de codage, vous devrez vous concentrer sur une tâche pendant de longues périodes. De la création du design à la planification et à l'écriture du code, en passant par le test du résultat et la correction des bugs (problèmes avec le code), vous consacrerez de nombreuses heures à une tâche particulière. C'est pourquoi il est essentiel de pouvoir se concentrer et de garder votre objectif final à l'esprit.

Prendre des notes détaillées

Cette compétence est très importante pour les programmeurs, en particulier lorsque vous apprenez à coder. Prendre des notes détaillées peut vous aider à comprendre et à retenir les concepts et outils que vous apprenez. Cela s'applique également aux programmeurs expérimentés, car être un programmeur implique un apprentissage tout au long de la vie.

Communication

Initialement, vous pourriez penser que la programmation est une activité solitaire et imaginer qu'un programmeur passe des centaines d'heures seul assis à un bureau.

Mais la réalité est que lorsque vous trouverez votre premier emploi, vous verrez que la communication est super importante pour coordonner les tâches avec les autres membres de l'équipe et pour échanger des idées et des retours.

Ouvert aux retours

En programmation, il y a généralement plus d'une façon d'implémenter la même fonctionnalité. Différentes alternatives peuvent fonctionner de manière similaire, mais certaines peuvent être plus faciles à lire ou plus efficaces en termes de temps ou de consommation de ressources.

Lorsque vous apprenez à coder, vous devez toujours prendre les retours constructifs comme un outil d'apprentissage. De même, lorsque vous travaillez en équipe, prenez les retours de vos collègues de manière positive et essayez toujours de vous améliorer.

Apprentissage tout au long de la vie

La programmation équivaut à un apprentissage tout au long de la vie. Si vous êtes intéressé par l'apprentissage de la programmation, vous devez savoir que vous devrez toujours apprendre de nouvelles choses à mesure que de nouvelles technologies émergent et que les technologies existantes sont mises à jour. Pensez-y... c'est génial car il y a toujours quelque chose d'intéressant et de nouveau à apprendre !

Ouvert à essayer de nouvelles choses

Enfin, une compétence essentielle pour être un programmeur à succès est d'être ouvert à essayer de nouvelles choses. Sortez de votre zone de confort et soyez ouvert aux nouvelles technologies et produits. Dans l'industrie technologique, les choses évoluent très rapidement et s'adapter au changement est essentiel.

44F8 Conseils pour apprendre à coder

Image

Maintenant que vous en savez plus sur la programmation, les langages de programmation et les compétences dont vous avez besoin pour être un programmeur à succès, voyons quelques conseils pour apprendre à coder.

4E1 Conseil : ces conseils sont basés sur mon expérience personnelle et mes opinions.

  • Choisissez un langage de programmation à apprendre en premier. Lorsque vous apprenez à coder, il est facile de se sentir submergé par le nombre d'options et de chemins d'entrée. Mon conseil serait de vous concentrer sur la compréhension des concepts essentiels de l'informatique et d'un langage de programmation en premier. Python et JavaScript sont de bonnes options pour commencer à apprendre les bases.
  • Prenez des notes détaillées. Les compétences en prise de notes sont essentielles pour enregistrer et analyser les sujets que vous apprenez. Vous pouvez ajouter des commentaires et des annotations personnalisés pour expliquer ce que vous apprenez.
  • Pratiquez constamment. Vous ne pouvez améliorer vos compétences en résolution de problèmes qu'en pratiquant et en apprenant de nouvelles techniques et outils. Essayez de pratiquer tous les jours.

4E1 Conseil : Il existe un défi appelé le défi #100DaysOfCode auquel vous pouvez participer pour pratiquer tous les jours.

  • Essayez toujours à nouveau. Si vous ne pouvez pas résoudre un problème à votre première tentative, prenez une pause et revenez encore et encore jusqu'à ce que vous le résolviez. C'est la seule façon d'apprendre. Apprenez de vos erreurs et apprenez de nouvelles approches.
  • Apprenez à rechercher et à trouver des réponses. Les langages de programmation, les bibliothèques et les frameworks ont généralement des documentations officielles qui expliquent leurs éléments et outils intégrés et comment vous pouvez les utiliser. Il s'agit d'une ressource précieuse à laquelle vous devriez définitivement vous référer.
  • Parcourez Stack Overflow. Il s'agit d'une plateforme incroyable. C'est comme une encyclopédie en ligne de réponses aux questions courantes de programmation. Vous pouvez trouver des réponses à des questions existantes et poser de nouvelles questions pour obtenir de l'aide de la communauté.
  • Fixez-vous des objectifs. La motivation est l'un des facteurs les plus importants pour la réussite. Se fixer des objectifs est très important pour rester concentré, motivé et enthousiaste. Une fois que vous avez atteint vos objectifs, fixez-vous de nouveaux objectifs que vous trouvez stimulants et excitants.
  • Créez des projets. Lorsque vous apprenez à coder, appliquer vos compétences vous aidera à élargir vos connaissances et à mieux retenir les choses. Créer des projets est le moyen idéal pour pratiquer et créer un portfolio que vous pouvez montrer à d'éventuels employeurs.

44F9 Concepts de base de la programmation

Image

Super. Si la lecture de cet article vous a aidé à confirmer que vous voulez apprendre la programmation, faisons vos premiers pas.

Voici quelques concepts de base de la programmation que vous devriez connaître :

  • Variable : une variable est un nom que nous attribuons à une valeur dans un programme informatique. Lorsque nous définissons une variable, nous attribuons une valeur à un nom et nous allouons un espace en mémoire pour stocker cette valeur. La valeur d'une variable peut être mise à jour pendant le programme.
  • Constante : une constante est similaire à une variable. Elle stocke une valeur mais elle ne peut pas être modifiée. Une fois que vous avez attribué une valeur à une constante, vous ne pouvez pas la changer pendant tout le programme.
  • Conditionnelle : une conditionnelle est une structure de programmation qui permet aux développeurs de choisir ce que l'ordinateur doit faire en fonction d'une condition. Si la condition est vraie, quelque chose se produira, mais si la condition est fausse, quelque chose de différent peut se produire.
  • Boucle : une boucle est une structure de programmation qui nous permet d'exécuter un bloc de code (une séquence d'instructions) plusieurs fois. Elles sont super utiles pour éviter la répétition de code et pour implémenter une fonctionnalité plus complexe.
  • Fonction : une fonction nous aide à éviter la répétition de code et à réutiliser notre code. C'est comme un bloc de code auquel nous attribuons un nom, mais il a également certaines caractéristiques spéciales. Nous pouvons écrire le nom de la fonction pour exécuter cette séquence d'instructions sans les réécrire.

4E1 Conseil : Les fonctions peuvent communiquer avec les programmes principaux et les programmes principaux peuvent communiquer avec les fonctions via des paramètres, des arguments et des instructions return.

  • Classe : une classe est utilisée comme un plan pour définir les caractéristiques et la fonctionnalité d'un type d'objet. Tout comme nous avons des objets dans notre monde réel, nous pouvons représenter des objets dans nos programmes.
  • Bug : un bug est une erreur dans la logique ou l'implémentation d'un programme qui entraîne une sortie inattendue ou incorrecte.
  • Débogage : le débogage est le processus de recherche et de correction des bugs dans un programme.
  • IDE : cet acronyme signifie Environnement de Développement Intégré. Il s'agit d'un environnement de développement logiciel qui possède les outils les plus utiles dont vous aurez besoin pour écrire des programmes informatiques, tels qu'un éditeur de fichiers, un explorateur, un terminal et des options de menu utiles.

4E1 Conseil : un IDE couramment utilisé et gratuit est Visual Studio Code, créé par Microsoft.

Super ! Maintenant, vous connaissez certains des concepts fondamentaux en programmation. Comme vous l'avez appris, chaque langage de programmation a une syntaxe différente, mais ils partagent tous la plupart de ces structures et concepts de programmation.

44F8 Types de langages de programmation

Image

Les langages de programmation peuvent être classés selon différents critères. Si vous voulez apprendre à coder, il est important pour vous d'apprendre ces classifications de base :

Complexité

  • Langages de programmation de haut niveau : ils sont conçus pour être compris par les humains et doivent être convertis en code machine avant que l'ordinateur puisse les comprendre. Ce sont les langages de programmation que nous utilisons couramment. Par exemple : JavaScript, Python, Java, C#, C++ et Kotlin.
  • Langages de programmation de bas niveau : ils sont plus difficiles à comprendre car ils ne sont pas conçus pour les humains. Ils sont conçus pour être compris et traités efficacement par les machines.

Conversion en code machine

  • Langages de programmation compilés : les programmes écrits avec ce type de langage de programmation sont convertis directement en code machine par un compilateur. Les exemples incluent C, C++, Haskell et Go.
  • Langages de programmation interprétés : les programmes écrits avec ce type de langage de programmation dépendent d'un autre programme appelé interpréteur, qui est responsable de l'exécution du code ligne par ligne. Les exemples incluent Python, JavaScript, PHP et Ruby.

4E1 Conseil : selon cet article sur la publication de freeCodeCamp :

La plupart des langages de programmation peuvent avoir des implémentations compilées et interprétées – le langage lui-même n'est pas nécessairement compilé ou interprété. Cependant, pour simplifier, ils sont généralement appelés ainsi.

Il existe d'autres types de langages de programmation basés sur différents critères, tels que :

  • Langages de programmation procéduraux
  • Langages de programmation fonctionnels
  • Langages de programmation orientés objet
  • Langages de script
  • Langages de programmation logique

Et la liste des types de langages de programmation continue. C'est très intéressant car vous pouvez analyser les caractéristiques d'un langage de programmation pour vous aider à choisir celui qui convient à votre projet.

44F9 Comment contribuer aux projets open source

Image Page d'accueil de GitHub.

Enfin, vous pourriez penser que coder implique de rester assis à un bureau pendant de nombreuses heures en regardant votre code sans aucune interaction humaine. Mais laissez-moi vous dire que cela n'a pas du tout à être vrai. Vous pouvez faire partie d'une communauté d'apprentissage ou d'une communauté de développeurs.

Initialement, lorsque vous apprenez à coder, vous pouvez participer à une communauté d'apprentissage comme freeCodeCamp. De cette façon, vous partagerez votre parcours avec d'autres qui apprennent à coder, tout comme vous.

Ensuite, lorsque vous aurez suffisamment de compétences et de confiance en vos connaissances, vous pourrez pratiquer en contribuant à des projets open source et rejoindre des communautés de développeurs.

Le logiciel open source est défini par Opensource.com comme :

Logiciel avec un code source que tout le monde peut inspecter, modifier et améliorer.

GitHub est une plateforme en ligne pour héberger des projets avec contrôle de version. Là, vous pouvez trouver de nombreux projets open source (comme freeCodeCamp) auxquels vous pouvez contribuer et pratiquer vos compétences.

4E1 Conseil : de nombreux projets open source accueillent les contributions des débutants et des contributeurs de tous niveaux. Ce sont de grandes opportunités pour pratiquer vos compétences et contribuer à des projets réels.

Image Dépôt GitHub de freeCodeCamp.

Contribuer à des projets open source sur GitHub est idéal pour acquérir de nouvelles expériences de travail et de communication avec d'autres développeurs. Il s'agit d'une autre compétence importante pour trouver un emploi dans ce domaine.

Image GitHub suit vos contributions et les affiche sur votre profil. Elles sont représentées par des carrés gris et verts interactifs qui représentent les jours de l'année en cours. Une teinte plus foncée de vert signifie que plus de contributions ont été faites ce jour-là. Image prise de cet article GitHub.

Travailler en équipe est une expérience formidable. Je le recommande vivement une fois que vous vous sentez suffisamment à l'aise avec vos compétences et vos connaissances.

Vous l'avez fait ! Vous avez atteint la fin de cet article. Excellent travail. Maintenant, vous savez ce qu'est la programmation. Voyons un bref résumé.

44F8 En résumé

  • La programmation est une compétence très puissante. Si vous apprenez à coder, vous pouvez réaliser votre vision.
  • La programmation a de nombreuses applications différentes dans de nombreux domaines différents. Vous pouvez trouver une application pour la programmation dans pratiquement n'importe quel domaine que vous choisissez.
  • Les langages de programmation peuvent être classés selon différents critères et ils partagent des concepts de base tels que les variables, les conditionnelles, les boucles et les fonctions.
  • Fixez toujours des objectifs et prenez des notes détaillées. Pour réussir en tant que programmeur, vous devez être enthousiaste et constant.

Merci beaucoup d'avoir lu mon article. J'espère que vous l'avez aimé et que vous l'avez trouvé utile. Maintenant, vous savez pourquoi vous devriez apprendre à coder.

44F5 Je vous invite à me suivre sur Twitter (@EstefaniaCassN) et YouTube (Coding with Estefania) pour trouver des tutoriels de codage.