Voici les principaux termes en informatique que vous devriez connaître si vous êtes nouveau dans la programmation

Terminologies et concepts Crucial CS expliqués en anglais simple

Étant donné que de nombreux amis et membres de la famille issus de milieux non CS me posent des questions sur les différentes terminologies et concepts, je tenterai d'expliquer les concepts informatiques suivants dans le langage le plus simple possible.

Dans ce guide rapide, vous découvrirez ce que signifie chaque terme / concept et pourquoi il est important :

  • Développement backend
  • Développement frontend
  • Langages de programmation
  • Algorithmes
  • API
  • Punaise
  • Open source
  • Crowdsource

À la fin de cet article, je partagerai également quelques ressources pour que vous puissiez en savoir plus!

Développement backend

Vous avez peut-être déjà entendu parler du terme «développement backend». Surtout si vous avez traîné sur LinkedIn.

«Backend», dans ce cas, fait référence à une couche de la pile technologique. Cela implique principalement l'écriture ou la maintenance d'un service Web avec une base de données pour conserver les données.

Souvent, le développement backend est associé à des technologies telles que Java, Scala, Python, DynamoDB, MongoDB, nodeJS, MySQL, MapReduce et bien d'autres.

Cela contraste avec le développement frontal, qui fait souvent référence à la couche d'interface utilisateur (UI) ou au côté client d'une fonctionnalité.

Pourquoi est-ce important

Comprendre les différences entre le développement frontend et backend vous permet de savoir à quels composants vous devez penser avant de commencer à développer une application à l'avenir.

Développement frontend

Le développement frontend implique souvent de travailler sur des fonctionnalités destinées aux clients, telles qu'une page Web ou une application iOS / Android.

Il existe différents types de technologies impliquées ici, telles que HTML, CSS, JavaScript, jQuery, React, Angular, Swift, etc.

La raison pour laquelle je les appelle des technologies et non des langages de programmation est que certains d'entre eux sont des cadres qui vous aident à configurer vos bases et à guider la façon dont vous programmez, mais ce ne sont pas des langages de programmation en eux-mêmes. Des exemples de ceux-ci sont React et Angular.

Un langage de programmation est simplement un moyen pour les humains de communiquer avec les ordinateurs. Certains pourraient argumenter que HTML est un langage de programmation… Je pense que c'est un sujet pour un autre jour. ?

Pourquoi c'est important

Auparavant, le développement frontend était uniquement HTML, CSS et JavaScript. Aujourd'hui, c'est une bête à part entière avec sa propre pile technologique et ses propres outils de construction. La technologie frontend progresse à une vitesse fulgurante. J'encourage vivement l'apprentissage des outils frontaux afin que vous puissiez comprendre ce qui se passe dans le monde de la programmation d'aujourd'hui.

Langage de programmation

Un ordinateur est très bon pour exécuter les commandes qui lui sont données. Pour que nous, êtres humains, puissions communiquer avec un ordinateur, nous avons besoin d' un ensemble commun de langages compréhensibles - un ensemble d'instructions sur lesquelles les humains et les ordinateurs peuvent s'entendre et avec lesquels communiquer.

Dans le monde humain, nous utilisons des langues telles que l'anglais, le mandarin, l'espagnol, etc. pour communiquer.

En ce qui concerne les ordinateurs, nous l'appelons un langage de programmation . Un langage de programmation permet aux humains et aux ordinateurs de communiquer . Des exemples de langages de programmation sont Java, C ++, Python et bien d'autres.

Pourquoi c'est important

L'apprentissage d'un langage de programmation vous permet de comprendre comment quelque chose que vous voyez sur Internet fonctionne sous le capot - c'est comme savoir comment et pourquoi votre voiture roule. Avec un peu d'huile de coude, vous pourrez également créer vos propres applications, comme Candy Crush ou Twitter.

Algorithmes

Processus ou ensemble de règles à suivre dans les calculs ou autres opérations de résolution de problèmes, en particulier par un ordinateur. - Google :)

Les ordinateurs sont excellents pour exécuter des instructions et, en tant qu'ingénieurs logiciels, nous écrivons des instructions que les ordinateurs doivent exécuter. Un algorithme est une liste d'étapes ou d'instructions qui peuvent être effectuées avec ou sans ordinateur afin de résoudre un problème spécifique.

L'un des premiers problèmes que nous apprenons en tant qu'étudiants en informatique est le problème du tri. L'essence est de trier un ensemble ou une collection d'articles de la manière la plus efficace.

Il existe de nombreuses façons de trier. Un tri populaire est le tri à bulles, également connu sous le nom de «tri par comparaison». Cela implique de comparer et de choisir le plus grand des deux éléments et de le répéter pour tous les autres éléments jusqu'à ce que tout soit finalement trié. D'autres incluent le tri par insertion, le tri par fusion et bien d'autres encore!

Je vous encourage vivement à les explorer, car c'est une introduction fascinante aux algorithmes. Voici une vidéo Youtube pour en savoir plus sur les algorithmes de tri.

Pourquoi c'est important

Les algorithmes sont au cœur de l'informatique - comprendre ce que sont les algorithmes et comment ils fonctionnent fait de vous un meilleur ingénieur logiciel. Période.

API

API, aka interface de programmation d'application, aka une source d'informations. Plus concrètement, imaginez que vous ayez bien bu une limonade à la maison. Vos voisins veulent bien une gorgée de limonade, mais vous ne voulez pas que le puits soit pollué. Que faites-vous alors?

Vous avez décidé de construire un tuyau qui se connecte à un petit tuyau à l'extérieur de votre maison. Tous vos voisins qui veulent goûter à votre limonade magique s'aligneront et ouvriront le tuyau pour accéder à votre limonade. Tout cela sans jamais vous approcher de votre puits, et vous pouvez également contrôler quand pomper la limonade, échanger la limonade si votre puits s'assèche un jour, ou peut-être facturer les gens qui boivent beaucoup de limonade.

C'est l'idée derrière de nombreuses entreprises ces jours-ci - ces entreprises construisent un «puits» de données précieuses puis les vendent à d'autres qui souhaitent accéder à ces données via une API.

Pourquoi c'est important

Internet repose aujourd'hui sur une communication transparente entre différents services. C'est ainsi que nous sommes en mesure de créer des outils / sites Web qui se parlent. L'API est la couche fondamentale qui permet à toutes les communications d'avoir lieu. C'est pourquoi il est important de savoir comment et ce qu'utilise Internet pour communiquer.

Punaise ?

Vous avez peut-être vu le mème suivant sur les sites Web de médias sociaux et vous n'avez peut-être pas compris ce que cela signifiait vraiment.

Un bogue est une erreur dans un programme informatique qui empêche le programme de s'exécuter comme prévu.

Par exemple, supposons que vous ayez téléchargé une application iOS, qui est un type de programme informatique, censé afficher la température météorologique locale en Fahrenheit. Cependant, l'application iOS peut afficher la température en degrés Celsius uniquement, au lieu des degrés Fahrenheit attendus.

Dans un tel cas, le programme ne fonctionne pas comme prévu (devrait afficher Fahrenheit, pas Celsius), et vous appelleriez l'erreur un bogue.

C'est si courant dans l'industrie que les ingénieurs en logiciel l'ont transformé en une blague interne, d'où le meme, «ce n'est pas un bug, c'est une fonctionnalité».

Pourquoi c'est important

Les bugs arrivent tout le temps. Le savoir vous aide à naviguer sur Internet et à signaler les choses lorsque vous voyez que quelque chose ne fonctionne pas correctement. La prochaine fois, vous l'appellerez correctement un «bug» plutôt que «cette chose là-bas ne plane pas correctement».

Open source

Je vais essayer d'expliquer l'Open Source avec une simple analogie que j'ai imaginée :)

Imaginez que vous êtes propriétaire d'un stand de limonade et que vous possédez une recette spéciale pour préparer la meilleure limonade de la ville. Vous ne partagez la recette secrète avec personne parce que vous craignez que quelqu'un d'autre ne la prenne et ne vole vos clients. Votre recette secrète est considérée comme «source fermée» dans ce cas, où personne d'autre que vous n'est autorisé à y accéder.

Sinon, imaginez que vous partagez librement votre recette de limonade en ligne et utilisez la puissance d'Internet pour vous aider à l'améliorer afin que tout le monde puisse profiter et profiter de la meilleure limonade possible. Dans ce cas, votre recette est considérée comme «Open Source» car elle est mise à disposition gratuitement et d'autres peuvent y contribuer, l'utiliser et / ou la modifier.

Ce terme est devenu beaucoup plus populaire avec l'essor de Facebook et la vague d'entreprises technologiques qui encouragent la communauté Internet à participer au développement de technologies nouvelles et passionnantes.

Pourquoi c'est important

Internet a progressé beaucoup plus rapidement ces dernières années grâce à l'open source. C'est une révolution, et tout le monde devrait savoir pourquoi il est logique de créer des choses gratuitement et de les partager avec le monde.

Crowdsourcing

Crowdsourcing - Pour obtenir (des informations ou des contributions à une tâche ou un projet particulier) en faisant appel aux services d'un grand nombre de personnes, rémunérées ou non, généralement via Internet.

Crowdsource est l'idée d'amener un grand groupe de personnes à contribuer à une cause commune.

Supposons que vous dirigiez à nouveau le même stand de limonade. Vos clients disent que votre limonade a besoin d'une nouvelle saveur. Vous réalisez qu'en utilisant la puissance d'Internet, vous pouvez demander aux gens de vous aider à trouver la meilleure recette de limonade.

Vous pouvez ensuite créer un compte Twitter et commencer à amener les gens à proposer leur meilleure recette de limonade du monde entier. C'est ce qu'on appelle le Crowdsourcing, qui consiste à amener les gens à contribuer à une cause commune (dans ce cas, la fabrication de limonade).

Pourquoi c'est important

Internet a permis à toute la population de s'unir et de mettre ses meilleurs cerveaux derrière certains des défis les plus difficiles au monde. Le crowdsourcing nous a permis de le faire de manière transparente via Internet. Je pense que c'est un énorme pas en avant pour l'humanité.

Ressources recommandées

  • CS 101 en ligne de Stanford - le cours vous donne un aperçu de base des terminologies CS, comment fonctionne Internet, comment les images numériques sont formées et traitées, etc. Mieux encore, c'est GRATUIT!
  • Python Crash Course - L'une des meilleures ressources pour démarrer avec la programmation Python. Si vous souhaitez vous salir les mains avec la programmation, je vous recommande de commencer par Python et le livre suivant.
  • Python, Guide pratique - Ceci est un livre intéressant à obtenir, une fois que vous avez terminé le cours intensif Python. J'imagine que vous pouvez faire la plupart des choses ici sans le livre, mais cela vous donne des instructions plus détaillées étape par étape sur la façon de le faire. Idéal pour les personnes qui préfèrent apprendre par l'exemple.
  • Introduction aux algorithmes - Si vous souhaitez en savoir plus sur les algorithmes, qui est un principe fondamental de l'informatique, ce livre est fortement recommandé. C'est LE manuel pour de nombreux cours de CS.
  • Acing the Coding Interview - Ceci est mon cours de coaching personnel, où je vous montre comment je me suis préparé pour mes entretiens, mes trucs et astuces pour réussir l'entretien de codage, et bien d'autres.

Zhia Chong est ingénieur logiciel chez Twitter. Sans élinguer du code, il joue au tennis, écrit des articles ou crée des vidéos Youtube.

Si vous avez apprécié cet article et que vous souhaitez en obtenir une copie au format PDF, pensez à vous abonner à ma liste de diffusion où je partage des nouvelles de l'industrie, des informations sur la programmation, des notes d'entrevue et bien plus encore!