Technologie

La programmation est (pas ?) pour tout le monde

Écrit par admin

Lorsque nous pensons à la programmation, nous visualisons parfois un col blanc dans son bureau travaillant de cinq à sept heures, ou un nerd dans son sous-sol à 3 heures du matin essayant de terminer un programme.

La plupart du temps, ce point de vue est loin de la vérité. Certaines personnes qui ne sont pas directement liées à l’informatique l’utilisent tous les jours – des scientifiques créant des rapports automatisés, des équipes marketing analysant l’efficacité de l’année dernière ou des graphistes 3D créant des scripts pour générer des objets en un clic. Mais sont-ils tous des génies des mathématiques qui créent des algorithmes complexes en quelques minutes ? Probablement pas. La programmation ne concerne pas seulement les mathématiques ou les nuits blanches à essayer de compiler du code. Faut-il aussi commencer à programmer ? Eh bien, ce n’est pas à nous de décider, mais nous allons vous donner quelques indications dans le monde de la programmation, afin que vous puissiez décider par vous-même.

Crédit image : Pixabay (Licence Pixabay gratuite)

Les ordinateurs que nous possédons ne comprennent que code binaire. Cela ne signifie pas que nous devons les programmer en insérant des ensembles de zéros et de uns pour créer un programme, bien que cela reste une partie importante de la programmation. À la fin des années 40, Kathleen Booth a écrit le premier langage d’assemblage, ce qui nous a permis d’écrire du code de manière plus lisible, et aussi beaucoup plus rapidement. À partir de ce moment de l’histoire, des centaines de langues sont apparues. De nos jours, nous utilisons langages de programmation de haut niveau (HL).

Contrairement aux langages assembleurs, le code écrit en langages HL ne correspond pas fortement aux instructions d’un processeur. Ces langages fournissent une structure et des mots-clés compréhensibles pour les humains. Ils prennent également en charge de nombreuses choses telles que la gestion de la mémoire ou des données dans les registres à l’intérieur d’un processeur, mais cela coûte la vitesse et la flexibilité d’un programme. L’évolution du codage ne s’arrête pas là ! Vous avez peut-être entendu parler de Scratch. L’ensemble du processus de programmation a été supprimé de l’écriture de code à l’implémentation visuelle de la logique. Avec la programmation visuelle, au lieu d’écrire des instructions, vous assemblez simplement des blocs les uns sur les autres ; mais n’allons pas trop loin : même si c’est plus facile, vous êtes toujours l’architecte d’un algorithme – une formule pour résoudre un problème. Heureusement pour nous, il y a des bibliothèques. Ce sont des collections de fonctions et de données partagées par d’autres programmeurs, de sorte que vous n’avez pas à réinventer la roue. C’est une pratique courante de les utiliser et il n’y a aucune honte à ne pas tout faire par vous-même. Github et Stack Overflow en sont une bonne preuve, les sites Web les plus populaires sur lesquels vous pouvez poser des questions et trouver le code dont vous avez besoin.

La communauté de programmation est prête à répondre à la question la plus simple que vous puissiez imaginer de la manière la plus informative. Mais la source principale et sûrement la plus détaillée de connaissances est la documentation. Il consiste en une description de chaque fonction et des arguments que vous devez transmettre pour les utiliser. Il couvre également des exemples d’utilisation, etc. La documentation peut être ennuyeuse et déroutante pour les débutants. Néanmoins, s’habituer à le lire vous permettra de mieux comprendre le code que vous écrivez et d’utiliser tout le potentiel des bibliothèques.

Figure 1 : Exemples de code affichant « Hello, World ! sur l’écran. Crédit image : Jędrzej Drozdowski

La programmation peut être séparée en différentes branches telles que le développement Web, le développement d’applications mobiles, le développement de jeux vidéo et bien d’autres, et les frontières entre elles deviennent parfois floues. C’est la raison pour laquelle il existe une variété de langages de programmation : différents usages, idées et modes de programmation (également appelés paradigmes). Vous ne voudrez peut-être pas utiliser des langues lentes dans un appareil prenant des milliers de mesures par seconde. Cela signifie que vous devrez probablement apprendre plus d’une langue en fonction de ce que vous voulez atteindre. Vous devrez peut-être même mélanger plusieurs langues dans un seul projet, mais ne nous en inquiétons pas pour le moment.

« Je choisis une personne paresseuse pour faire un travail difficile. Parce qu’une personne paresseuse trouvera un moyen facile de le faire. – Bill Gates

Soyons honnêtes, les humains recherchent intrinsèquement le confort, la simplicité et un moyen d’éviter le travail. C’est le seul but des ordinateurs – faire des choses pour nous. Comment pourriez-vous, un utilisateur occasionnel d’un ordinateur, utiliser la programmation pour vous faciliter la vie ? Regardons des exemples de langages de programmation et leurs applications :

  • Python – une langue simple, facile à écrire, mais lente, ressemblant à un anglais simple. Utilisé dans la science des données, le développement Web, l’apprentissage automatique et l’automatisation des tâches. Si vous collectez beaucoup de données, vous pouvez utiliser ce langage pour la visualisation des données. C’est particulièrement utile si vous gérez vos dépenses ou gardez une trace de vos habitudes, comme un régime alimentaire. Faites un graphique à partir de ces données ! Le graphique n’est pas seulement un excellent moyen de vous aider à comprendre ce qui se passe, mais aussi un exercice pour comprendre les bases des statistiques. Il existe de nombreuses bibliothèques, comme Pandas et Matplotlib, largement utilisées, qui facilitent la manipulation des données et leur représentation graphique. Lorsque vous vous familiarisez avec les bases de la programmation et des statistiques, vous pouvez vous plonger dans l’apprentissage automatique, alimenter votre algorithme avec des chiffres et éventuellement prédire les tendances futures.
  • C – l’un des langages de programmation les plus populaires et les plus anciens. Il a eu une grande influence sur les autres langues. Il permet de faire beaucoup de choses librement et c’est rapide, mais l’inconvénient est la responsabilité de votre code – gestion de la mémoire à la main, pas de gestion directe des erreurs etc. Même si l’histoire de ce langage a commencé en 1972, il est toujours vivant, en particulier dans le monde de la programmation embarquée. Il existe des plates-formes (comme Arduino) qui vous permettent de se programmer en utilisant C. Un peu de connaissances en électronique et beaucoup de patience peuvent donner lieu à des appareils faits maison, comme un système d’arrosage automatique des plantes ou une machine CNC.
  • Java – une langue universelle. Il est utilisé dans presque tous les domaines. Même le jeu vidéo le plus vendu au monde, Minecraft, est écrit en Java ! Java est purement orienté objet (OOP). Certains considèrent la POO comme l’approche la plus naturelle de la programmation, la plus proche de la façon dont les humains pensent. Cela peut être un bon point de départ pour les débutants, même si ce n’est pas la langue la plus facile. Il est interopérable avec Kotlin – un langage qui gagne en popularité dans le développement d’applications mobiles, donc apprendre les deux peut constituer un bon ensemble de compétences si vous envisagez d’écrire des applications pour appareils mobiles.

Ainsi, après avoir lu cet article, vous devez reconnaître que toutes ces informations ne sont que la pointe d’un iceberg. Aussi la question dans le titre est rhétorique. La vraie question est : avez-vous un projet en tête ? Si vous le faites, utilisez le bon outil pour cela. S’il n’y a qu’un seul document simple à créer, il n’est pas nécessaire de passer le mois suivant à apprendre Python juste pour l’automatiser. Même chose que vous n’utiliseriez pas un marteau pour un clou pour mettre une peinture sur le mur – c’est exagéré. Ne choisissez pas non plus un outil « assez proche ». Cela peut ressembler à un marteau et vous pouvez l’utiliser comme un marteau ne signifie pas que c’est un bon marteau. Vous devriez rechercher sur Internet quel est le langage de programmation le plus approprié ou s’il existe des bibliothèques utiles pour votre projet dans un langage de programmation que vous connaissez, et quelle est la meilleure approche. Rien ne vous empêche de commencer un voyage avec la programmation autre qu’une volonté de le faire. Profitez de la communauté que les programmeurs ont construite, soyez curieux et patient.

  • COW est un langage de programmation ésotérique qui se compose uniquement de modifications du mot « moo ». Un exemple de code requis pour générer la séquence de Fibonacci :

MOO MOO MOO MOO MOO MMM MOU MOU MOU

MMM moo moo moO MMM moo MMM moO moO

MOO MOO MOO MOO MOO MOO MOO MOO MOO MOO

  • Le plus ancien langage de programmation encore utilisé est Fortran. Il a été créé en 1957 par John Backus.
  • Selon l’enquête annuelle de Stack Overflow, les langages de programmation les plus appréciés, les plus redoutés et les plus recherchés sont respectivement : Rust, VBA, Python.
  • Ada Lovelace est considérée comme la première programmeuse. Elle était mathématicienne et travaillait sur un ordinateur mécanique connu sous le nom de moteur analytique.
  • Un « bug » est un dysfonctionnement d’un programme informatique ou d’une machine. La première utilisation enregistrée du terme date de 1878 dans une lettre écrite par Thomas Edison :
    « Vous aviez en partie raison, j’ai trouvé un ‘bug’ dans mon appareil, mais ce n’était pas dans le téléphone proprement dit. C’était du genre « callbellum ». L’insecte semble trouver les conditions de son existence dans tous les appareils d’appel des téléphones.
  • Au 2ème trimestre 2021, les langages apparaissant le plus fréquemment dans les projets étaient JavaScript (~19%), Python (~16%) et Java (~13%).

Cet article est un travail conjoint de Jędrzej Drozdowski (Faculté de génie environnemental et mécanique, Université des sciences de la vie de Poznań) et Karol Masztalerz (Département de physique et d’astronomie, Université de Manchester) dans le cadre du projet Science Embassy.

Les références:

Pereira, M. Couto, F. Ribeiro et. Al. Classement des langages de programmation par efficacité énergétique, Science de la programmation informatique, Volume 205, (2021) DOI : 10.1016/j.scico.2021.102609

Bisyandé, F. Thung & D. Lo & L. Jiang & L. Réveillère, Popularité, interopérabilité et impact des langages de programmation dans 100 000 projets open source, Actes – Conférence internationale sur les logiciels et applications informatiques, 303-312, (2013) DOI : 10.1109/COMPSAC.2013.55.

Cifuentes, D. Simon, A. Fraboulet. Assemblage à la traduction linguistique de haut niveau. Procédure, Conférence internationale sur la maintenance des logiciels (Cat. No. 98CB36272), (1998) DOI : 10.1109/icsm.1998.738514




A propos de l'auteur

admin

Laissez un commentaire

Résoudre : *
25 × 20 =