Developpez.com

Le Club des Développeurs et IT Pro

Faut-il être bon en maths pour être un bon développeur ?

Quelle place ont les maths dans votre parcours ?

Le 2010-03-31 16:42:28, par Gordon Fowler, Expert éminent sénior
Faut-il être bon en math pour être un bon développeur ?

La question mérite d'être posée. Certes, l'informatique est à classer, dans le système universitaire, du coté des sciences "dures", par oppositions aux sciences sociales et humaines. L'enseignement des mathématiques et la rigueur qu'elles amènent paraissent donc indispensable.

Pourtant, beaucoup, comme Alan Skorkin - qui vient d'aborder ce sujet sur son blog -, reconnaissent qu'ils n'ont jamais vraiment eu besoin des maths dans leur travail.

La position de Alan Skorkin est cependant intéressante car il ne jette pas pour autant les mathématiques aux orties. Bien au contraire. Pour lui, un certain niveau de développement exige des compétences radicalement supérieures au travail commun et répétitif que l'ont peut rencontrer quotidiennement quand on est programmeurs..

Ce niveau ne peut être atteint, d'après lui, qu'avec les mathématiques.

"Maintenant, partout où je me tourne, je vois des mathématiques et je n'en ressens que plus fort mes lacunes. J'en suis arrivé à la conclusion que vous avez besoin d'un niveau décent de connaissances en mathématiques si vous voulez faire des choses intéressantes avec des ordinateurs [comme] de la cryptographie, des jeux qui inclut de l'Intelligence Artificielle, de la compression, des algorithmes génétiques, de la 3D, etc. Vous aurez besoin des maths pour comprendre les théories derrière chacun de ces champs".

Et d'en conclure que cette compréhension permet de maîtriser, de gérer et de développer des applications dans ces domaines plutôt que de se contenter d'utiliser – plus ou moins aveuglément – ce qui existe déjà.

Les mathématiques permettraient donc "de comprendre ce qui fait que les chosent collent plutôt que d'assembler des bouts de code en priant pour qu'au bout du compte ça fonctionne à peu près comme c'est supposé le faire". La satisfaction du travail maîtrisé n'en est que largement supérieure.

Bref, bien souvent les développeurs disent qu'ils n'ont plus touché aux maths depuis de longues années (la faculté ou l'école), voire que cette manière devient inutile dans la vie professionnelle.

Ils ont certainement raison.

Tout comme Alan Skorkin a aussi certainement raison lorsqu'il dit que "les mathématiques ne font pas les bons développeurs, mais elles font les développeurs exceptionnels" ("You Don’t Need Math Skills To Be A Good Developer But You Do Need Them To Be A Great One").

Reste une question : et pour vous, les maths sont-elles inutiles ou centrales dans votre travail et votre parcours de développeur ?

Source : Le blog de Alan Skorkin
  Discussion forum
174 commentaires
  • maske
    Membre éprouvé
    Envoyé par souviron34


    On déterre un sujet de plus d'un an ???
    Ah en fait quand un sujet a plus d'un an, il est interdit d'en reparler ?

    C'est vrai qu'après un an, plus personne ne peut avoir un avis intéressant à faire partager.

    Très bonne remarque, très pertinente !
  • rakakabe
    Membre habitué
    Lorsque j'ai étudié les maths après le bacc, 99 % des exercices qu'on nous donne commence par : "Démontrer que ...", "Prouver que ...", et ce quel que soit la matière étudiée (analyse, algèbre, topologie, ...).

    Plus tard, lorsque j'ai fait l'informatique, j'ai remarqué l'équivalence de ces phrases : "Pourquoi tel code ou programme marche lorsque je fais ceci plutôt que cela ?", surtout dans le cas où le code provient d'une tierce personne ...

    Maintenant, je me demande si "avoir une culture en maths fait un grand développeur" !
  • deathness
    Membre émérite
    Et puis comme ça ceux qui sont arrivés récemment peuvent donner leur avis

    Déjà les math c'est vaste. Les math de lycée n'ont pas grand chose à voir avec les math du supérieur.
    Je dirais que les math du lycée sont essentiel pour la capacité d'analyse et de logique qu'elle te permette d'apprendre. Après, les math du supérieur ne sont utiles que si tu bosses dans un contexte les nécessitant...
  • j.peg
    Membre confirmé
    Bon , ben , moi je n'ai pas touché à la grammaire française depuis au moins 30 ans . est-ce à dire que ça ne m'a servi à rien? Pas du tout, bien évidemment.

    Idem pour les maths: ce n'est pas parce quon ne les utilise pas directement et consciemment tous les jours qu'elles ne nous servent pas...

    Au delà d'être une science "dure" les mathématiques sont surtout une méthode de formation et d'apprentissage de la logique, du raisonnement, de la démonstration , autant de choses que l'on garde toute sa vie. Et qui peuvent servir dans bien des métiers y compris l'informatique et le développement.

    Après , est-ce indispensable? C'est une autre question...à laquelle devraient répondre ceux qui n'ont pas de formation en maths... pour autant qu'ils puissent savoir ce qu'ils ignorent...
  • tamiii
    Membre actif
    Quand j'ai fait l'IUT Informatique de Bordeaux 1, les maths etaient a mon sens indispensables. Expliquer la complexite d'un algo sans les maths ca me parait tendu.

    De plus, pour comprendre comment fonctionnent et comment optimiser les methodes de tri de structure de donnees (bubble sort, dichotomie, ...) dans des langages de bas niveau (C, C++ par exemple), ca se fait via les maths.

    M'enfin, arrive en ecole, on decouvre j2ee et compagnie et on fait monArrayList.sort() et paf ca fait des chocapics. Personnellement, je ne me sers plus du tout des maths comme je m'en servais a l'universite. Faire des CRUD, reflechir a des architectures web, maitriser des frameworks, comprendre les specs business, etc... Ne me demandent pas de faire de maths.

    En revanche, j'estime que ceux qui veulent devenir ingenieur en dev doivent a tout prix passer par l'acquisition de solides competences en maths, afin d'avoir une logique de raisonnement efficace. Je vois dans mon boulot, ceux qui sont inge dev et qui ont fait beaucoup de maths dans leur passe, "tiltent" beaucoup plus vite quand il s'agit d'apprendre quelque chose de nouveau - compare a celui qui a appris sur le tas et qui ne sort pas d'une formation matheuse a la base. My 2cents.
  • metagoto
    Membre éclairé
    Faut-il être bon en math pour être un bon développeur ?

    Oui.

    Ne serait-ce que pour comprendre les autres bons développeurs.
  • grunk
    Modérateur
    Etre bon en math n'est pas forcément indispensable selon les domaines de programmation.
    En web : je n'utilise que rarement des maths avancées
    En traitement d'image , 3D , ... en revanche c'est une toute autre histoire

    Cependant la logique, la réflexion qu'apporte les maths est indispensable à tout développeur. Je doute même que quelqu'un qui a toujours été hermétique aux maths (quelque soit le niveau) puisse aimer programmer.
  • Isukthar
    Membre régulier
    Envoyé par Thorna
    Euh... ?!?
    Quelque soit en gros le sujet du développement dans le genre technique/scientifique, il y a des bibliothèques/outils/moteurs/etc. qui font le tout sans qu'on se fatigue. Pourquoi savoir les maths?
    A moins qu'on soit responsable du fonctionnement de l'accélérateur du CERN (et encore...), il suffit de bien chercher pour trouver presque tout ce qu'on veut.

    (ex maths-spé M)
    Développer sans savoir ce qu'on utilise, c'est pas ça être un bon développeur. Personnellement, j'ai eu une bonne dose de math dans ma formation et c'est plus tard que je me suis rendu compte à quel point c'était important, notamment pour établir des modèles pour la complexité des algorithmes, la 3D ou le multimédia de manière générale, l'IA, ...
  • Je pense qu'avoir des bases en maths (niveau bac même pas s) est indispensable.

    Je résumerai mon opinion, ainsi :

    "Un bon développeur est souvent bon en maths, un bon en maths n'est pas forcément un bon développeur !"

    PS : J'espère ne froisser personne avec ce message !
  • ZeRevo
    Membre averti
    Une application informatique demande d'être compréhensible par les autres développeurs afin d'être facilement maintenable.

    Vu la manière dont un prof de maths présente son cours, je ne pense pas qu'il faille être bon en maths pour être un bon programmeur.

    Je verrai plutôt un programmeur plus proche d'un littéraire que d'un matheux. Ecrire une application revient à écrire un livre, avec sa grammaire, ses pages, ses lignes, ses figures de style(algo).