Programmation Qualité

Apprendre à programmer – Un défi

Un voyage de mille lieues commence toujours par un premier pas. »
Tao Te King de Lao-Tseu

Le défi que je me suis lancé

Il y a cela une petite dizaine d’année en 2006, je me suis posé un défi : 10 ans, 10 langages de programmation.
Cela parait un peu bizarre et cependant d’année en année, j’ai réussi à acquérir les connaissances permettant d’assimiler de mieux en mieux de nouveaux langages.

Je vais donc vous faire partager l’univers le la programmation et du développement.

Actuellement, j’ai réalisé l’apprentissage des langages suivants: C, C++, Java, Perl, Python, Bash, PHP, Javascript et VBA Excel.
J’ai produit du code source dans le cadre professionnel pour chacun de ces langages et est réalisé plusieurs formations pour cinq d’entre eux.

 

Qu’est ce qui faut pour que l’on arrive à programmer dans un langage ?

La première des choses pour apprendre dans un langage est la structure et l’organisation des données.

Même si vous pensez qu’il faut maîtriser la syntaxe de base, il ne s’agit pas de l’élément primordial. Il suffit simplement de savoir comment organiser les données entre elles au sein des structures de données.

 

Qu’est ce qui fait que l’on progresse ensuite rapidement ?

La maîtrise des « formes » de code permettant la manipulation des données est le second élément primordial pour progresser à pas rapide dans l’apprentissage de la programmation.

La lecture de code source est aussi un bon moyen de progresser. Tout comme l’apprentissage d’une lange étrangère l’apprentissage d’un langage est grandement amélioré par la lecture de code source.

Il est même parfois intéressant d’utiliser et de tenter de « faire marcher » les codes que l’on lit afin valider ceci dans votre contexte.

 

Les leçons d’un tel défi

La première des leçons c’est la patience. En effet, l’apprentissage de la programmation n’a rien à voir avec un produit de consommation avec des milliers d’information à disposition, seul le temps et la pratique régulière pour régler des problèmes concrets permettra  de progresser et d’améliorer sa maîtrise du code source.

Programmer pour programmer n’a rien d’exaltant, rendre un service, résoudre un problème bloquant, automatiser un travail répétitif sont des choses bien plus attrayantes car elles mettent le développeur dans la réalité, celle de trouver des solutions concrètes, précises et simples de préférence.

 

Apprendre à programmer: un processus sans fin

Ce qu’il y a de magique dans la programmation c’est que c’est un processus sans fin, il est toujours possible d’améliorer de nombreux aspects:

  1. Le style du code et son homogénéité
  2. La généricité du code
  3. La rapidité de réalisation d’une application
  4. La rapidité de déploiement de l’application
  5. Les performances et l’optimisation du code
  6. La richesse des fonctionnalités
  7. La capacité d’assimilation de nouvelles fonctionnalités ou modularité
  8. La testabilité du code et la validation du fonctionnement de base
  9. La capacité à répondre simplement à des besoins de base du quotidien des utilisateurs

 

La programmation : processus plus large

Les langages de programmation sont des langages simples car n’ayant pas de relation avec l’ambiguïté et le double sens. Cela signifie que si un programme est ambiguë alors il produit des erreurs à la compilation ou à l’exécution.

Basé sur ce constat, l’agrégation de plusieurs applications ensemble, donne des systèmes d’information (agrégat de programme et d’application), ces systèmes d’information sont les environnements au travers lesquels travaillent parfois plusieurs milliers de personnes. Les erreurs provenant des outils informatiques sont le résultat d’erreur de programmation qu’il est possible de corriger, améliorer ou compenser.

Il est donc aussi possible de programmer des tâches plus complexes tels que l’organisation du travail de plusieurs personnes et donc de programmer une unité, une équipe et même une entreprise sur cette base.

Les mythes, les croyances sur la programmation

J’ai longtemps cru qu’il n’était pas possible de tout automatiser, cependant en s’appuyant sur un environnement suffisamment stable, il est quasiment possible de tous automatiser:

  1. Les banques automatisent leurs investissements.
  2. Les entreprises industrielles automatisent leurs factures et le paiement de leurs salaires.
  3. Les entreprises de télécommunication automatisent le suivi des consommation des clients.
  4. Les moteurs de recherche automatisent leurs analyses des nouveaux sites.

Les entreprises ayant pas pris le partie d’automatiser leur fonctionnement sont aujourd’hui moins compétitives.

Un autre mythe, la programmation est difficile. La programmation n’est pas difficile et nécessite un peu de temps et de régularité.

Un langage de programmation s’apprend en moins de trois mois. Il est souvent important d’ailleurs de commencer par un et un seul langage.

Il n’est pas possible de programmer sans connaître l’algorithmique, c’est comme dire qu’il n’est pas possible de jouer un morceau de musique sans connaître le solfège.

 

Le dernier mythe est qu’il est compliqué d’obtenir des résultats. En effet, si vous souhaitez tout écrire vous-même les résultats seront longs et peux probants cependant il existe de nombreuses communautés et projets open source permettant d’intégrer rapidement exemple à l’appui des fonctionnalités déjà existantes.

 

Un mot de la fin sur la programmation

Comme toute activité, il faut savoir conclure, plus vite vos programmes fonctionnent et produisent les résultats attendus et mieux cela sera. La perfection est pour l’étape suivante: La perfection dans la programmation c’est la capacité à produire un code de qualité du premier coup comme dans la calligraphie.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.