Dans un récent billet de blog, un ingénieur chez Facebook tire la sonnette d’alarme sur la dangerosité de telles postures. En fait, Walter Schulze commence par regretter d’avoir négligé les mathématiques pendant son cursus universitaire avant d’expliquer pourquoi ceux qui, comme lui, on fait pareil pourrait être rattrapés dans la vie professionnelle.
De façon brossée, Schulze souligne que l’on peut recevoir un bon salaire en tant que travailleur dans la filière de la programmation informatique sans que le niveau en mathématiques ne soit interpellé. Toutefois, son propos laisse filtrer que le champ d’activités de tiers dans cette situation serait limité à la programmation d’applications qui ne touchent pas à des domaines spécialisés. « Les mathématiques sont l’outil [incontournable] pour la résolution des problèmes spécialisés », indique-t-il.
Walter Schulze illustre son propos avec une liste d’au moins trois domaines hors de portée de tiers sans un niveau conséquent en mathématiques. De la programmation des jeux vidéos à l’intelligence artificielle en passant par le classement de pages web, il souligne comment certains concepts mathématiques sont mis en œuvre pour arriver à résoudre des problèmes.
« De toute évidence, la programmation graphique dans les jeux et les films nécessite des connaissances en physique, mais comme la physique exacte peut être trop coûteuse à simuler correctement, nous utilisons généralement des méthodes numériques issues des mathématiques. Par exemple, l'intégration par la méthode de Verlet pour simuler les poupées de chiffon », précise-t-il.
« L'apprentissage machine, une petite partie de l'intelligence artificielle, est un domaine que j'ai trouvé très intriguant lors de mes études. Suivre les gestes au sein d'un jeu de danse, trouver des films qui pourraient vous plaire sur Netflix, reconnaître la chanson qui est en cours de lecture, etc. Si vous voulez aider à construire l'un de ces systèmes, vous aurez besoin au moins d'une bonne compréhension des dérivées, de la théorie des probabilités et de l'algèbre linéaire », ajoute-t-il.
C’est moins évident, mais d’après Walter Schulze, l’algorithme de recherche sur le Web de Google est concerné. « L'algorithme de classement de pages prend en compte le nombre de liens vers et depuis une page web et les place dans une matrice, puis il utilise une approximation d'un vecteur propre de l'algèbre linéaire pour calculer un classement plus pertinent », note-t-il encore.
Programmer c’est manger les mathématiques
En fait, le développement de Walter Schulze laisse filtrer qu’en tant que travailleur dans la filière de la programmation informatique on ne peut faire sans les mathématiques. « Programmer c’est appliquer des concepts mathématiques, c’est manger les mathématique », lance-t-il.
On a beaucoup discuté sur la question de savoir si c’est une grosse erreur de considérer la POO comme standard de l’industrie pour l’organisation des bases de code. Qui dit programmation orientée objet (POO) dit abstraction et Schulze est d’avis qu’il s’agit d’une notion très importante dans le domaine. « Lorsque nous voyons un motif ou voulons cacher une certaine complexité nous créons une abstraction en utilisant par exemple des classes ou des interfaces abstraites », explique-t-il. Schulze relève que les développeurs peuvent puiser dans les conclusions des travaux en matière d’algèbre abstraite pour parvenir à résoudre certains problèmes d’abstraction en informatique. Une vidéo au sein de son billet permet de replonger dans la notion de groupes vue en mathématiques et d’établir les parallèles avec l’abstraction.
En sus, Walter Schulze cite la théorie des catégories comme une source d’inspiration valable pour ceux qui sont appelés à appliquer des techniques algorithmiques comme la décomposition de problèmes en sous-ensembles.
Grosso modo, l’ingénieur de Facebook est d’avis que les les travailleurs dans la filière de la programmation informatique qui ont négligé les mathématiques passent à côté d’une richesse énorme. Toutefois, il reconnaît que certains concepts mathématiques sont tellement abstraits qu’il faut du temps pour les maîtriser. « Plus tôt on se lance dans la maîtrise de ces concepts, mieux c’est », souligne-t-il. Le meilleur moment pour s’y pencher c’est pendant que l’on est sur les bancs. Sinon, il faudra avoir le courage de revenir sur ses pas alors que l’on est déjà dans le monde du travail.
Source : billet de blog
Et vous ?
Les mathématiques sont-elles le socle de la programmation ?
Avez-vous le sentiment que certaines des difficultés auxquelles vous faites face dans votre travail émanent de votre mauvais niveau en maths ?
Un excellent niveau en mathématiques est-il nécessaire pour être bon dans la filière du développement informatique ?
Quels sont les concepts mathématiques qui vous ont été les plus utiles jusqu’ici ?
Voir aussi :
France : en 20 ans, le niveau en maths des élèves de terminale S est en baisse de 20 %, une menace pour l'enseignement supérieur en informatique ?
Les professeurs des classes prépas alertent sur le faible niveau en sciences du bac S, une menace pour l'enseignement supérieur en informatique ?
Réforme du lycée : les maths ne sont-elles utiles que dans les domaines scientifiques et informatiques pour être reléguées au rang de spécialité ?