Une langue pour les gouverner tous

Cachée sous une couche de code, une langue languit, aspirant à être apprise.

Une langue pour les gouverner tous

Au moment d'écrire ces lignes, la requête « programmer quelle langue apprendre en premier » renvoie 517 millions de résultats de recherche. Chacun de ces sites fera l’éloge d’un langage spécifique, et 90 % d’entre eux finiront par recommander Python ou JavaScript.

Sans plus tarder, je voudrais déclarer officiellement que tous ces 517 millions de sites Web sont faux et que la langue que vous devriez apprendre en premier est logique fondamentale.

Il ne suffit pas de savoir coder. Le marché est tellement saturé de diplômés d'instituts et de cours que le poste junior a pratiquement cessé d'exister*. Pour réussir dans le monde d’aujourd’hui, vous devez à la fois coder et avoir une pensée logique fondamentale avancée.

*ci-après, n'oubliez pas qu'il s'agit d'une traduction et que la situation sur le marché du travail pour l'auteur et dans votre pays peut être différente (ainsi que d'autres nuances), ce qui, cependant, en soi n'aggrave pas l'article original - environ. traduction

Mon premier cours d'informatique

Ma première exposition à l'informatique était un cours au choix que j'ai suivi en 10e année. Dès le premier jour, en entrant dans la classe, j'ai été ravi de voir devant moi un grand nombre de seaux de glaces et de garnitures diverses. Une fois que tout le monde fut assis, le professeur annonça :

«Aujourd'hui, nous dégusterons des glaces préparées par nos soins. Mais à une condition : vous devez faire une liste d'instructions précises sur la façon de préparer le dessert, et je les suivrai."

"Pas de problème", ai-je pensé, "cette leçon ne sera pas longue." En une minute environ, j'avais noté la recette parfaite de la glace de mes rêves :

  1. Prélevez et déposez trois boules de glace à la framboise dans un bol
  2. Ouvrez la sauce au chocolat et ajoutez deux cuillères à soupe dans le même bol
  3. Ajouter la crème fouettée dans le bol
  4. Saupoudrez le tout de bâtonnets de sucre et déposez une cerise dessus

Mon professeur – l’« ordinateur » dans cette jolie métaphore – a présenté une performance plus sarcastique et littérale que je n’avais jamais vue auparavant. Elle commença à fouiller avec zèle le seau à glace avec une cuillère sans même toucher le couvercle.

"D'accord, d'accord, mais vous devez d'abord l'ouvrir !" - M'exclamai-je en essayant d'obtenir la friandise le plus rapidement possible.

« Tu n’as pas écrit cela dans les instructions et je ne pouvais pas te préparer de glace. SUIVANT!"

Passons rapidement à la tentative n°2

  1. Ouvrir la glace à la framboise en retirant le couvercle
  2. Prélevez et déposez trois boules de glace à la framboise dans un bol
  3. Ouvrez la sauce au chocolat et ajoutez deux cuillères à soupe dans le même bol
  4. Ajouter la crème fouettée dans le bol
  5. Saupoudrez le tout de bâtonnets de sucre et déposez une cerise dessus

Eh bien, maintenant, il ne devrait plus y avoir de problèmes. Juste au cas où, je me suis assuré que tous les ingrédients nécessaires à la réalisation de mon chef-d'œuvre culinaire étaient ouverts.

L'enseignant a retiré le couvercle, a ramassé et placé trois boules de glace dans un bol. « Enfin, ma belle glace a commencé à devenir réalité ! Elle ouvrit ensuite la sauce au chocolat et ajouta deux cuillères à soupe dans le bol. Elle n'a pas "ajouté de sauce au chocolat à partir de deux cuillères à soupe" - je ne pense pas - elle a bien sûr mis les cuillères elles-mêmes dans le bol. Pas de sauce dedans. Encore une fois, je n’ai pas pris la peine de tout écrire exactement. Une fois le reste fait dans le même esprit, j'ai reçu un bol de glace et deux cuillères à soupe, à peine perceptibles sous la mer de chantilly. Au-dessus se trouvait une paire de bâtonnets de sucre.

Il semble qu'à ce moment-là, j'ai enfin compris : un ordinateur est une logique dans le vide. Il n'est pas conscient des circonstances environnantes et ne fait aucune hypothèse. Il n'exécute que des instructions clairement formulées et les suit mot pour mot.

Mon résultat final était le résultat d’une longue mais nécessaire série d’essais et d’erreurs :

  1. Si ce n'est pas déjà fait, ouvrez chacun des paquets suivants : glace framboise, sauce chocolat, chantilly, bâtonnets de sucre.
  2. Sortez un bol et placez-le devant vous
  3. Prenez une cuillère à glace et placez trois boules de glace à la framboise une à une dans un bol. Remettez la cuillère à glace en place.
  4. Prenez un pot de sauce au chocolat, versez la sauce et versez le contenu d'une cuillère à soupe dans un bol. Répétez le processus de ramassage et de versement une fois de plus. Remettez la cuillère et le pot en place.
  5. Prenez le paquet de chantilly à l'envers et, en le tenant au-dessus du bol, versez-le sur la glace pendant 3 secondes, puis remettez le paquet à sa place.
  6. Prenez un pot de bâtonnets de sucre, versez une quarantaine de bâtonnets dans un bol et remettez le pot.
  7. Prenez une cerise du bol de cerises et placez-la sur la glace.
  8. Donnez à l'élève un bol avec la glace finie et une cuillère.

Le dernier point était particulièrement important, car sans lui, l’avant-dernière fois, le professeur s’est simplement mis à manger ma glace.

Mais c'est de la programmation. Le stress lié à la création d’un ensemble minutieux d’instructions pour un ordinateur. Essentiellement, c’est à cela que se résume tout langage de programmation : écrire des instructions.

Carrière en programmation

La programmation a atteint le point où il est difficile d’en discuter en tant qu’industrie unique, tout comme il est difficile d’utiliser le seul mot « programmeur » comme description de poste. Deux développeurs peuvent être également recherchés par le marché, connaissant des langues complètement différentes, ce qui signifie que la capacité de développement est plus importante que la connaissance d'une langue spécifique. Un attribut universel partagé par tous les développeurs à succès est logique fondamentale.

Le meilleur programmeur est celui qui est capable d’examiner le code sous un nouvel angle. Et cela est d’une importance fondamentale, car la plupart des produits logiciels sont un ensemble de fragments non documentés de mauvais code. Il faut constamment les rassembler, en comblant les lacunes si nécessaire. Les personnes incapables de relier des points disparates avec une seule ligne devront rester à jamais sur la touche.

Tout cela m’amène à une autre déclaration, cette fois en gras : les connaissances fondamentales ont toujours été et seront primordiales pour un programmeur.

Les langues vont et viennent. Les cadres deviennent obsolètes et les entreprises répondent à la demande en modifiant la pile technologique qu'elles utilisent. Y a-t-il une chose qui ne changera jamais ? Oui, la connaissance fondamentale, qui est dite fondamentale parce qu'elle est à la base de tout !

Comment améliorer les connaissances fondamentales

Une langue pour les gouverner tousPhoto de Christophe Jeschke sur Unsplash

Si vous cherchez un point de départ pour améliorer votre pensée logique fondamentale, essayez de commencer ici :

Connaître la complexité de votre programme

Aussi appelé Grand O La « complexité de l'algorithme » fait référence à la dépendance du temps nécessaire à l'exécution d'un programme par rapport à la taille de ses données d'entrée. (n). Garder le doigt sur le pouls des algorithmes utilisés est une étape importante.

Connaissez vos structures de données

Les structures de données sont au cœur de tout programme moderne. Savoir quelle structure utiliser dans quel cas est une discipline à part entière. Les structures de données sont directement liées à la complexité de l'exécution, et le choix d'une mauvaise structure peut entraîner des problèmes de performances fondamentaux. Trouver un élément dans un tableau est O (n), ce qui indique le coût élevé de l'utilisation de tableaux comme données d'entrée. Recherche de table de hachage - O (1), ce qui signifie que dans ce cas le temps de recherche d'une valeur ne dépend pas du nombre d'éléments.

Des gens sont venus me voir pour un entretien et ont affirmé que la recherche dans un tableau était plus rapide que la recherche dans une table de hachage. C'était le signe le plus sûr que vous ne devriez pas les embaucher : connaissez vos structures de données.

Lire / regarder / écouter

Des sites comme UdemyPluralsight и Code Académie - Un excellent choix pour apprendre de nouveaux langages de programmation. Mais pour les bases, consultez des livres sur les principes généraux, les pratiques et les styles de codage. Les livres les plus recommandés sont « Design Patterns », « Refactoring. Amélioration du code existant", "Code parfait", "Code propre" et "Programmeur pragmatiste". Enfin, chaque développeur doit conserver une copie du "Algorithmes"à portée de main.

Pratique!

On ne peut pas cuisiner des œufs brouillés sans casser des œufs. Des sites comme Rang HackerGuerres de codesCoderByte, TopCoder и CodeLeet proposez des milliers d'énigmes intéressantes pour tester vos connaissances sur les structures de données et les algorithmes. Tentez votre chance en résolvant un problème que vous aimez, publiez votre solution sur Github, puis voyez comment les autres l'ont abordée. Ce qui nous amène au dernier point :

Lire le code des autres

La plus grande erreur que vous puissiez commettre lorsque vous vous engagez sur la voie du développement est de faire cavalier seul. Le développement de logiciels est en grande partie un effort d’équipe. Nous créons des normes ensemble, faisons des erreurs ensemble et, malgré tous les échecs, devenons meilleurs ensemble. Le temps passé à lire le code des autres sera largement récompensé. Assurez-vous simplement que c'est du bon code.

Eh bien, le meilleur conseil que je puisse vous donner est de ne jamais avoir honte de ne pas encore savoir quelque chose. Comme cela a déjà été dit, notre industrie est énorme et la quantité de technologie est infinie. Il faut beaucoup de temps et d'efforts pour construire une image globale, encore plus pour devenir un professionnel dans quelque chose de spécifique, et encore plus pour perfectionner vos compétences dans votre domaine. Je vous ferai savoir quand j'y parviendrai moi-même.

Source: habr.com

Ajouter un commentaire