jeudi 13 janvier 2011

De l'importance de la langue en développement de logiciels

Ca fait des années que je réfléchis sur divers aspects du génie logiciel. Un des problèmes qui m'a toujours profondément frustré est la quasi totale arbitrarité de l'architectures et du code écrit par les développeurs (syn. programmeur). On a beau demander à ceux-ci de suivre des standards, il n'en reste pas moins extrêmement difficile d'arriver à une uniformité du code qui permette une compréhensibilité, une lisibilité et une maintenabilité acceptable. Dans le domaine du développement logiciel, on retrouve beaucoup de passionnés de logique, de mathématiques et d'algorithmie. Pourtant, le travail du développeur requiert de fortes aptitudes à comprendre la langue et le sens des mots. C'est parce que le développeur est apte à décrire précisément et clairement le dessein d'une méthode ou d'un objet que ses coéquipiers peuvent facilement comprendre le code qu'il écrit. Cela prend tout son sens lorsqu'on est seul avec le code, sans l'aide de l'auteur. Bien sûr, il est nécessaire d'avoir l'esprit logique mais d'un point de vue gestion, il peut être coûteux de travailler avec un programmeur déficient en langue même s'il est très fort en algorithmie. À un tel point, que je me demande comment il est possible, qu'encore de nos jours, on n'ait pas donné plus d'importance aux cours de langues dans les collèges et les universités. Je me rappelle d'avoir fréquenté au baccalauréat, un étudiant qui retournait sur les bancs d'école avec déjà en poche, un bacc en littérature. Le directeur du département d'informatique de l'UQAM était à l'époque Philippe Gabrini, qui avait la réputation d'être plutôt sévère lorsqu'il corrigeait ses TP. Un jour, lors de la remise des travaux, il affirma qu'il avait tellement été épaté par la qualité et la clarté du code de cet étudiant atypique qu'il lui a attribué 100%, ce qu'il ne fait habituellement jamais parce qu'il croit qu'aucun travail n'est parfait (il s'est gâté, qu'il a dit). Je trouve cet exemple éloquant quant à la pertinence de bien posséder sa langue lorsqu'on est développeur de logiciel. Le professeur avait bien compris cela.

Aucun commentaire: