Chris Castiglione Professeur à One Month. Faculté de l'Université Columbia où j'enseigne la littératie numérique.

Qu’est-ce que le codage?

7 min read

Qu'est-ce que le codage?

Aujourd’hui, nous allons parler de codage. Plus précisément, je vais répondre à la question: Mais que peut bien être le codage? Nous verrons aussi ce qui se passe lorsque nous codons.

Avant de poursuivre votre lecture, je souhaite toutefois que vous cliquiez dans la fenêtre de votre navigateur avec le bouton droit de la souris et que vous choisissiez l’option «Afficher le code source de la page».

Qu'est-ce que le codage?
Comment afficher la source de la page: cliquez avec le bouton droit n’importe où sur la page et sélectionnez «Afficher le source de la page».

Lorsque vous faites cela, vous obtenez une vue du code source de la page Web. C’est-à-dire que vous voyez maintenant le langage qui indique à votre ordinateur comment rendre cette page Web aussi esthétique.

Qu'est-ce que le codage
Quel est le code? Voici un exemple de code HTML, CSS et JavaScript exécutant ce site Web (oui, celui sur lequel vous vous trouvez actuellement).

J’ai eu une révélation la première fois que j’ai vu le code dans une fenêtre de navigateur ! Je voyais en effet internet et son propre langage! Je ne comprenais pas grand-chose, mais je pouvais voir des extraits de mots et de phrases qui me semblaient familiers. J’ai reconnu quelques noms de police et j’ai plus ou moins reconnu  la taille des pixels. Le reste m’était totalement étranger. Je voyais ainsi la langue parlée par mon ordinateur. Du moins, c’est ce que je pensais…

Si vous envisagez d’apprendre à coder, il est utile de réfléchir aux mécanismes de codage. Savoir exactement ce qui se passe lorsque vous codez, ce que cela signifie lorsque nous disons que quelqu’un code, quelle est la différence entre coder et programmer, dans quels langages vous pourriez finir par coder, et comment commencer à coder, cela vous aidera à devenir un meilleur codeur.

Le codage informatique pour débutants

Il y a une hyper médiatisation autour du codage; commençons par clarifier ce que le codage n’est pas. J’ai mentionné ci-dessus que, lorsque j’ai vu pour la première fois le code source d’une page Web, je pensais que je voyais la langue parlée par mon ordinateur. C’est une manière courante d’expliquer ce qu’est un code, mais ce n’est pas tout à fait vrai.

Votre ordinateur ne comprend pas les nuances du langage. En fait, les seuls termes que votre ordinateur comprend très bien sont «Oui» et «Non».

Imaginez que vous construisez un pont avec un groupe d’ingénieurs. Vous êtes d’un côté, ils sont de l’autre et vous devez communiquer pour terminer le projet. Le problème est que votre téléphone est mort et que votre radio ne fonctionne que dans un sens. Tout ce que vous avez pour  communiquer avec eux est une lampe de poche. Un flash pour oui, deux pour non. Cela prendra du temps, mais finalement, le pont sera construit.

Voici comment un ordinateur communique avec les gens. La langue parlée par l’ordinateur est un code binaire, un langage mathématique composé de uns et de zéros. Tout comme la lampe de poche, il n’y a que deux options. L’ordinateur comprend «allumé» et «éteint», et rien d’autre. Donc, à moins de taper des chaînes de uns et de zéros dans votre éditeur de texte, vous n’écrivez pas vraiment de code dans le langage de l’ordinateur.

Mais si vous n’écrivez pas dans le langage de l’ordinateur, que faites-vous?

Le code informatique est une langue

Voyez plutôt le codage comme cela. Vous ne parlez pas binaire et la machine ne parvient pas à comprendre les langues humaines. Donc, pour que vous puissiez dire à l’ordinateur quoi faire, vous devez concevoir un traducteur pouvant servir d’intermédiaire. C’est le but du code. Le code est une forme d’écriture qui n’est pas binaire, qui est facile à apprendre et à interpréter pour les humains, mais que l’ordinateur peut toujours comprendre.

Pour la plupart des programmes sur lesquels vous êtes susceptible de travailler, le code que vous écrivez est en fait une étape vers le code binaire que l’ordinateur traitera. Vous allez écrire dans un langage tiré du langage humain. Les programmes intégrés à votre ordinateur traduiront ensuite ce que vous avez écrit en langage binaire. C’est comme si vous aviez besoin de parler à quelqu’un en mandarin alors que vous ne connaissez que l’anglais, et que le seul traducteur que vous ayez pu trouver ne parle que le mandarin et le français. Vous aurez besoin d’un autre traducteur pour traduire de l’anglais vers le français et le premier traducteur pourra alors traduire le français en mandarin, sans avoir à vous perdre dans le processus.

Ce qui me frappe le plus dans tout ça, c’est que ça fonctionne. Nous avons des programmes traduisant des programmes pour une machine qui ne parle que binaire. C’est un processus incroyablement compliqué, mais je suis en train de taper des mots humains sur mon ordinateur binaire.

Bien sûr, il y a beaucoup plus à faire, mais ce sont des éléments essentiels à connaître avant de commencer une conversation avec votre ordinateur par le biais de codes.

Codage contre programmation : quelle est la différence?

J’ai grandi dans un environnement rempli de programmeurs : Mon père ainsi que les personnes avec qui il travaillait étaient des programmeurs. Cela explique les raisons pour lesquelles je comprends les programmeurs et leurs codes depuis longtemps.

Plus récemment, il semblait y avoir eu un changement de terminologie ou de secteur. Tout à coup, ceux qui écrivaient pour des ordinateurs devenaient des codeurs. Ce changement m’a amené à me demander s’il y avait une différence entre ce que font les programmeurs et ce que font les codeurs.

Beaucoup disent qu’il n’y a pas vraiment de différence entre un codeur et un programmeur. C’est une différence de terminologie plutôt que d’activité. À mon humble avis, dire que vous êtes un codeur est légèrement plus général que de dire que vous êtes un programmeur . Selon moi, le mot programmeur est souvent associé à des cours de programmation informatique (et de sciences informatiques) dans une université. Cependant, le codage me fait plus penser à quelque chose que tout le monde peut faire.

Jonah Bitautas, le concepteur de “Cards Against Humanity” a fait valoir un point de vue intéressant en affirmant qu’il existait une réelle différence et qu’elle était enracinée dans des problèmes d’échelle. Essentiellement, un codeur est une personne qui écrit un langage pour les ordinateurs. Un programmeur est quelqu’un qui supervise l’écriture de tout un programme, qui va donc s’occuper de la codification d’un projet tout entier.

Au bout du compte, il n’existe pas de définition officielle du codeur ou du programmeur. Et ainsi, il est tout à fait correct d’utiliser ces termes de manière interchangeable: vous pouvez dire «je suis un codeur» ou «je suis un programmeur» et personne ne vous jugera pour cela. Mais si vous allez sur Hacker News, le site Web d’informations sur la programmation où les codeurs aguerris (et avisés) se retrouvent, ils pourraient dire quelque chose. Il suffit passer outre et de continuer.

Qu'est-ce que le codage
Programmation contre codage: quelle est la différence?

Les types de langages de codage

Il existe des dizaines de langages de codage. Certains langages sont universels (ou polyvalents), mais la plupart ont une fonction spécifique. CSS, par exemple, fonctionne principalement pour rendre les choses jolies. JavaScript, un langage relativement ancien, existe pour rendre les pages Web plus fonctionnelles. Il existe des langages spécialisés qui sont parfaits si vous avez besoin de quelque chose de très spécifique, mais vous n’avez vraiment besoin que des plus courants pour commencer.

HTML

Lorsque je vous ai demandé d’ouvrir le code source de cette page Web, cela vous a amené à des lignes de code écrites en HTML. Abréviation de “Hypertext Markup Language”, HTML est la pierre angulaire d’Internet. Il indique aux pages Web ce qui doit être affiché, où et comment elles vont s’inscrire dans une feuille de style donnée. Il indique également à votre navigateur où rechercher du contenu, comme des images ou des vidéos que vous souhaitez éventuellement inclure dans votre projet et où trouver la feuille de style à partir de laquelle vous souhaitez travailler.

Une chose à prendre en compte: le langage HTML n’est techniquement pas un «langage de programmation», car il n’utilise pas d’expressions basées sur la logique, comme, par exemple, Python. Le HTML est un langage de balisage – mais, tout comme le débat entre programmeur, codeur ou développeur, il est peu probable qu’on vous reproche de l’appeler un langage de programmation, surtout si vous êtes nouveau.

CSS

CSS est la feuille de style. Si vous ouvrez un fichier CSS, vous verrez beaucoup de références aux familles de polices, aux couleurs et aux styles de mise en forme de la police (en: gras, souligné et italique). Lorsque votre navigateur charge une page, le code HTML lui indique: “Fais en sorte que cette partie de la page ressemble à un en-tête, ok?”  Il indique également “Voici où regarder pour comprendre à quoi un en-tête doit ressembler”. Ce sera toujours un fichier CSS.

Javascript

Javascript est le langage qui apporte de l’interactivité à une page Web. Lorsque vous cliquez sur un bouton d’un site Web, par exemple, c’est JavaScript qui donne l’impression que le bouton ressemble à un clic. Les commandes pour les lecteurs vidéo sur le Web et les animations sont également souvent en Javascript.

Ruby vs Python

Nous avons déjà un article sur les différences entre Ruby et Python , mais la version courte indique que ces deux langages de programmation sont souvent utilisés pour développer des applications Web.

En d’autres termes, ils créent des programmes qui permettent aux pages Web de faire des choses avec un haut niveau d’interactivité. Si vous souhaitez, par exemple, créer un bot pour créer un système de paiement automatique pour vos clients, vous en utiliserez probablement un. Ce sont d’excellents langages pour apprendre à travailler, car ils sont extrêmement polyvalents et qu’il existe beaucoup de codes disponibles sur le Web pour vous permettre de commencer à vous initier.

Qu'est-ce que le codage
Apprendre à coder est un peu comme apprendre une langue étrangère. C’est une compétence qui demande de la pratique au quotidien!

Comment apprendre à coder?

Il existe un certain nombre de parallèles entre apprendre à coder et apprendre à parler une nouvelle langue (humaine). La similitude la plus frustrante est que, comme pour apprendre une langue, il faut pratiquer!

Certaines personnes sont des codeurs nés, bien sûr, tout comme il existe des personnes qui peuvent parler italien après avoir écouté quelques opéras. Pour la grande majorité d’entre nous, cependant, apprendre à coder est un processus d’essais et d’erreurs. Le codage est une compétence. Cela prend du temps et il est utile d’être guidé.  

Heureusement, il existe de nombreux cours en ligne abordables pour apprendre à coder! Si vous débutez dans la programmation et que vous ne savez pas par où commencer, je vous suggère “Programmer pour les non-programmeurs” . Ce cours vous donnera le vocabulaire et la perspective nécessaire pour donner un sens au monde du codage.

Si vous êtes prêt à plonger directement dans l’apprentissage du code, apprenez Python. C’est ce que font tous les jeunes de nos jours. Python est un excellent langage que vous pouvez utiliser pour créer presque tous les sites Web ou applications que vous pourriez souhaiter. Vous ne me croyez pas? Google, Uber, Netflix et bien d’autres ne sont que quelques exemples d’entreprises qui utilisent Python.

Budget serré? Il existe des dizaines de sites Web sur lesquels vous pouvez apprendre à coder gratuitement. Alors maintenant, vous n’avez plus aucune excuse!

 

Learn to Code Comment Avatar
Chris Castiglione Professeur à One Month. Faculté de l'Université Columbia où j'enseigne la littératie numérique.