top of page
Rechercher
  • Photo du rédacteurSébastien Ballut

Les langages de programmation

Dernière mise à jour : 8 juil. 2021



Présentation


Il est trop difficile pour moi de choisir un seul langage informatique à vous présenter. C'est pourquoi je vais faire un article assez généraliste sur quelques uns des langages que j'ai eu l'occasion d'utiliser.


Tel une langue naturelle, un langage de programmation est constitué d'u ensemble de règles de syntaxe ou de grammaire destiné à un environnement compréhensible par une machine (PC, téléphone, processeur, …). Grâce à celui-ci, le développeur est alors capable de donner des instructions à une machine de manière à ce qu'elle puisse manipuler des données. C'est grâce aux langages de programmation que le développeur peut communiquer avec la machine. Il existe plusieurs types de langages informatiques comme les langages interprétés qui ont besoin d'un environnement virtuel pour traduire le code à la machine (exemples: PHP, JAVA, Javascript, …) ou encore des langages compilés qui utilisent des programmes pour transformer le code en instruction machine (exemples: C, ADA, …).


Dans le domaine de l'ingénierie logicielle, c'est la compétence principale à acquérir, c'est le cœur du métier. Bien évidemment, il n'est pas nécessaire de connaître tous les langages de programmation, ce serait de toute façon impossible, mais en tant qu'ingénieur, il est important d'être polyvalent et d'avoir de bonnes bases dans plusieurs d'entre eux.


De nouveaux langages de programmation arrivent tous les ans sur le marché, c'est notamment le cas cette année avec Logica (voir la source), un langage open source présenté par Google censé proposer une alternative à SQL.


Utilisation de la compétence


Les langages de programmation ont fait partie intégrante de ma formation, mais également de mon environnement professionnel. Ils m'ont permis de réaliser la quasi-totalité de mes projets informatiques.


J'ai développé mes premiers projets avec des langages basés sur le Web comme le HTML, le CSS, le Javascript ou encore le PHP. Ce sont ces langages qui m'ont permis de développer le projet K2000. Ils ont notamment rendu possible la création de l'interface utilisateur et la manipulation de bases de données. L'utilisateur final avait donc la possibilité de consulter ses données en temps réel et donc d'adapter sa conduite.


Après les langages Web, j'ai ensuite développé avec des langages destinés aux logiciels de bureau et aux applications mobiles Android. Ce fût notamment le cas pour le projet SOOINS qui consistait à développer une application mobile d'entraide pour les infirmiers libéraux. Nous avons développé l'application en JAVA, ce qui permettait la compatibilité avec les smartphones Android. Les utilisateurs pouvaient alors générer des contrats ou encore communiquer à travers l'application.


Lors de mon entrée dans le monde professionnel, il m'a rapidement été demandé de développer différents scripts en Python. Un langage que je ne connaissais pas mais que j'ai réussi à assimiler assez facilement. Dans ce contexte là, j'ai donc développé un script d'extraction de données d'un fichier texte afin de formater correctement ces données pour qu'elles puissent être exploiter par un autre logiciel. C'est grâce à ce format que nous avons pu monitorer les données de consommation de RAM d'un calculateur avionique.


Autocritique


Niveau de la compétence: De débutant à maîtrise selon le langage de programmation (référentiel)


Être expert dans un langage demande au-delà de connaissances solides, une grande expérience et beaucoup de rigueur. Effectivement, les langages de programmation évoluent en permanence et une veille technologique régulière est indispensable.


Je pense donc que j'ai des progrès à faire dans certains langages comme l'ADA ou encore le C. D'autres par contre, comme le Javascript ou le PHP sont des langages que je maîtrise bien. Evidemment, il y a toujours la possibilité d'apprendre de nouveaux Framework associés à ces langages comme AngularJS pour Javascript par exemple.


Personnellement, j'aimerais me perfectionner sur les progressive web app (application Web simulant une application native sur les smartphones).


Les langages de programmation sont le cœur même du métier d'ingénieur logiciel et même si une maîtrise parfaite de chaque langage est loin d'être nécessaire, un large panel de langages et de solides bases dans chacun d'entre eux sont des atouts indispensables.


Avec l'expérience que j'ai actuellement, je conseille de sortir de sa zone de confort et de ses acquis en expérimentant de nouveaux langages. Vous pourrez ainsi découvrir leurs avantages et leurs inconvénients et peut-être ajouter à votre panel de langages ceux qui vous semblent les plus intéressants et/ou les plus adaptés à vos besoins.


Perspective d'évolution


Dans le cadre de mon activité professionnelle, je suis actuellement en train d'apprendre un nouveau langage: L'ADA. C'est un langage très utilisé sur les systèmes où la fiabilité est critique et notamment dans le domaine de l'avionique ou du spatial. J'ai encore beaucoup de choses à découvrir sur ce langage.


En tant qu'ingénieur, je me dois de maîtriser différents langages informatiques et d'en découvrir d'autres régulièrement. De nouveaux langages me seront surement nécessaires si je veux trouver un emploi dans le domaine de l'IoT.


Réalisations associées


88 vues0 commentaire

Posts récents

Voir tout
bottom of page