Combien un programmeur devrait-il connaître les mathématiques?

Récemment, j'ai parcouru le Web et rencontré diverses opinions pour savoir si un programmeur avait vraiment besoin de mathématiques et, dans l'affirmative, combien. Je vais essayer de tout résumer et de résumer.

Pour commencer, il convient de noter que les mathématiques sont présentes presque partout dans nos vies. La physique sans mathématiques est impensable - ici, je pense, tout est clair, et il n'y a pas besoin d'expliquer. La chimie aussi. En biologie, l'influence des mathématiques est sensiblement moindre, mais elle y est également présente (prenez par exemple les structures végétales, dont beaucoup sont quasi-fractales). La musique peut être représentée sous forme mathématique. Le design est impensable sans mathématiques - la géométrie est nécessairement présente - une branche des mathématiques. Qu'y a-t-il - même l'historien a besoin des mathématiques (ne serait-ce que pour compter les dates).

Certes, il y a un «mais»: qu'est-ce que les mathématiques en général? La question n'est pas du tout vide, car la question même «combien avez-vous besoin de connaître les mathématiques» est plutôt vague. Les mathématiques sont un complexe de sciences: le fondement lui-même est l'arithmétique, puis vient l'algèbre, la géométrie élémentaire, le mat. analyse, géométrie analytique. Ses sections supérieures sont les mathématiques discrètes, l'algèbre booléenne, la topologie, la théorie des nombres (arithmétique supérieure) et de nombreuses autres sections, ainsi que la théorie des probabilités et les statistiques. Maintenant, une question plus claire se pose: que doit savoir un programmeur à ce sujet?

Le premier point n'est pas discuté - l'arithmétique doit bien sûr être connue de tous. Sans lui, il est impossible de composer même le programme le plus simple, et en effet aucune science n'est impensable sans lui.

Mais alors tout est un peu plus compliqué - ces sections de mathématiques dont un programmeur a besoin sont déterminées par la spécification de ce qu'il écrit. Si vous avez besoin d'écrire un studio de musique à la Cubase, vous devez connaître la physique du son et les sections de mathématiques qui y sont associées. Si nous parlons d'un studio graphique, vous devez connaître la géométrie professionnellement (et si le studio est en trois dimensions, alors aussi la topologie et l'algèbre matricielle). Et si nous parlons d'un jeu en trois dimensions, alors nous devons connaître l'algèbre vectorielle et, en plus, la mécanique newtonienne.

Étant donné que la programmation est principalement des algorithmes, tout programmeur doit très bien connaître la théorie des algorithmes, la théorie des graphes, l'algèbre booléenne et les mathématiques discrètes afin d'écrire non seulement des programmes de travail, mais des programmes qui fonctionnent bien. Ou mieux: fonctionne très bien.

Est-elle vraiment nécessaire ou non?


Et je dirai ceci en général: si, disons, dans les temps anciens, la programmation avait déjà existé, le programmeur de cette époque n'aurait pas seulement bien connu les mathématiques. Un tel «programmeur» serait également capable de boxer, d'escrime, d'organiser l'équitation, de naviguer, de bricoler, de parler huit langues étrangères, de composer des fugues et des tokkats, il savait ce qu'était un hexamètre, il a peint (en mettant l'accent sur A) des images et bien plus encore . Et parfois, il le faisait en même temps, à une vitesse telle que tout «noyau d'Intel» moderne fume tranquillement sur la touche.

Source: https://habr.com/ru/post/fr418551/


All Articles