IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

« La programmation informatique est difficile » : mythe ou réalité ? « Cette idée manque de preuves suffisantes et peut impacter de façon négative sur de futurs postulants »,
Selon un universitaire

Le , par Patrick Ruiz

94PARTAGES

27  0 
L’apprentissage de la programmation informatique est-il plus difficile que celui de la langue chinoise ? Faut-il être doté d’aptitudes innées pour exercer dans la filière ? C’est un jeu (non exhaustif) de questions connexes à une idée reçue : la programmation informatique est difficile. Sur le sujet, le professeur Brett Becker déclare que « cette idée ne s’appuie pas sur des preuves suffisantes et peut impacter de façon négative sur de futurs postulants. » Il contredit ainsi certains intervenants de la filière pour lesquels la programmation informatique s’apparente à de l’art mystique.

Grosso modo, l’enseignant blâme les approches en vigueur dans les milieux universitaire et professionnel pour leur responsabilité dans la construction de la « réputation [difficile] de la filière de la programmation informatique. »

« L’idée selon laquelle la programmation informatique est intrinsèquement difficile de façon est très répandue parmi les enseignants et les chercheurs. Toutefois, elle n’est pas confinée à l’univers académique. Même les professionnels font référence à la programmation informatique comme étant de l’art mystique. Les personnages hollywoodiens renforcent cette image de la programmation informatique comme capacité surnaturelle avec le stéréotype du pirate informatique qui fixe des écrans sur lesquels défilent des chiffres binaires », insiste-t-il.

« Moins accessible » est le descriptif que le professeur Becker préfère à « difficile » lorsqu’il fait référence à la filière de la programmation informatique. « Les méthodes d’enseignement, d’évaluation, ainsi que les attentes des enseignants vis-à-vis des apprenants lancés dans cette filière sont des aspects à améliorer pour la rendre plus accessible et plus agréable pour tous », indique-t-il.


L’éternel problème de la faille entre la chaise et le clavier ?

Une question de taille dans ces développements est celle de savoir comment on sait qu’on est fait pour la filière de la programmation informatique ? Quels sont les traits de caractère essentiels pour être un bon étudiant de la filière, puis un excellent programmeur sur le terrain ?

L’ouverture aux nouvelles expériences : elle inclut des sous-traits de personnalité comme la curiosité, la créativité et le désir de s’améliorer jour après jour. Elle offre à l’acteur les gages de survie dans un univers où la technologie est très évolutive. De nouveaux langages sortent pour répondre à des besoins bien spécifiques, d’autres pour enrichir leurs bibliothèques. La technologie de la filière programmation informatique n’est donc pas statique. La résultante est très simple : ce qui semble être à la pointe de la technologie aujourd’hui en matière de logiciel ou de matériel peut s’avérer obsolète dans les années voire les mois à venir. Bien sûr, il y a des langages de programmation qui résistent à l’influence du temps, mais ce sont là des exceptions, pas des règles.

La ténacité : c’est de façon ramassée l’avis de Peter Norvig – directeur de recherche en intelligence artificielle chez Google – sur la question de savoir quel est le trait de personnalité essentiel pour être un acteur de la filière de la programmation informatique. Y faire référence est une autre manière de toucher à la tolérance à la frustration nécessaire pour faire face au mur de l’adversité qui se dresse au moment d’intégrer des éléments d’un nouveau langage de programmation ou lors de recherche de bogues au sein de bases de code importantes.

Faire montre de réel intérêt et de passion : c’est un facteur à aligner avec la réalité de chaque pays, mais dans bon nombre le développement informatique fait partie des métiers qui paient le mieux ses intervenants. Les tiers en quête d’emploi ont donc tendance à s’intéresser à la filière dans le seul but de se faire de l’argent. C’est un besoin légitime, mais que l’on a de fortes chances de combler si l’on intègre l’ingrédient qui permet de rester assis des nuits entières à rechercher la solution à un problème ou a mettre au point de nouvelles créations, ce, pendant que d’autres prennent du repos. Après tout, l’un des éléments clés de la réussite de façon indépendante du domaine dans lequel on œuvre est de faire montre d’intérêt et surtout d’aimer ce qu’on fait.

Laisser de côté son ego : l’un des pièges dans la filière de la programmation informatique est de s’identifier à la technologie que l’on maîtrise et ainsi de risquer de passer à côté de tous les changements qui ont cours dans le domaine. Cela peut fonctionner pendant une décennie, mais l’heure de l’obsolescence des connaissances finit toujours par arriver et à mettre le travailleur de la filière dans la position du « vieux rouillé. » Garder une posture constante d’apprenti s’avère être un must. Faire référence à cet aspect c’est aussi appeler à l’humilité nécessaire pour admettre qu’on a tort lors d’une évaluation par des pairs ou pour une remise en question constante de son propre code source.


Intérêt du jeu de traits de caractère : mettre en avant le fait que l’accès à la filière de la programmation informatique n’est pas plus difficile (ou facile) qu’un autre domaine. Cela dépend en grande partie du postulant qui fait alors office de faille entre la chaise et le clavier s’il n’exhibe pas ces caractéristiques.

Les aptitudes en mathématiques : le tamis à l’accès pour tous à la programmation informatique ?

Dans plusieurs systèmes éducatifs, on conseille à des tiers désireux de poursuivre des études en programmation informatique de s’assurer de disposer d’un socle de connaissances conséquent en mathématiques. Motif : certains domaines sont hors de portée de tiers sans un niveau conséquent en mathématiques.

À titre d’illustration, la programmation graphique dans les films et les jeux nécessite des connaissances en physique mises en œuvre en utilisant des méthodes numériques issues des mathématiques. L’apprentissage machine pour sa part requiert une bonne compréhension des dérivées, de la théorie des probabilités et de l'algèbre linéaire.

L’ingénieur Walter Schultze a résumé cet état de choses en indiquant que « programmer c’est appliquer des concepts mathématiques », chose qui n’est pas à la portée de tous et qui a tendance à renforcer l’idée selon laquelle la programmation informatique est difficile.

Source : ACM

Et vous ?

La programmation informatique est-elle difficile ou pas ? Partagez votre expérience
Quel conseil donneriez-vous à un novice désireux de se lancer en programmation informatique afin qu’il trouve son métier « facile » ?
Est-il possible que des personnes naissent avec des aptitudes qui en font des programmeurs génies ?

Voir aussi :

Qu'est-ce qui fait un bon programmeur ? Un senior liste cinq caractéristiques d'un bon programmeur

Faut-il éliminer le mythe du programmeur génie ? Selon un sénior, « la plupart des gens sont moyens » et cela n'est pas grave

Le talent et la passion suffisent-ils pour faire un bon développeur ? Les créateurs de Django, PHP et Rails n'étaient pas des passionnés du code

Tout le monde ne peut pas devenir développeur, il faut d'abord disposer de certains prérequis

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de grunk
Modérateur https://www.developpez.com
Le 29/07/2021 à 15:20
Apprendre la programmation n'est pas difficile.
La difficulté viens de ce qu'on fait avec et si on le fait bien ou pas.

Exemple basique :
Faire un formulaire html qui envoi un email en php est à la portée de n'importe qui en 1 journée de formation.
Le faire dans les règles de l'art , de manière sécurisé c'est plus du tout le même niveau de complexité et demande des connaissance étendues à plein de sujet annexe.

Donc oui tout le monde peut apprendre la programmation. En revanche tout le monde n'est pas "cablé" pour réussir et être un "bon" programmeur.
19  0 
Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 29/07/2021 à 14:38
C'est une question complexe. Déjà parce que le code est une activité variable. On ne programme pas le rattrapage de décrochage chez Boeing comme on programme le programme de fidélité de la boulangerie du coin. et aussi parce que c'est une activité qui a fortement évolué avec le temps.

Je ne sais plus ou j'avais lu "la capacité de soumettre son esprit à l'idée que la machine n'infère rien". Pour moi, c'est la seule qualité obligatoire. Accepter que si la machine ne fait pas ce qu'on veut qu'elle fasse, c'est parce qu'elle ne lit pas dans notre caboche. Elle ne fait que ce qu'on lui demande. On ne peut pas lui demander d'efforts. Seulement une obéissance absolue, d'une idiotie sans faille.

Tout le reste, c'est utile, hein, mais pas obligatoire. Enfin, de mon humble avis.
13  1 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 29/07/2021 à 16:48
oui la programmation informatique est difficile...
c'est pas juste apprendre à coder à l'arrache, le génie logiciel requiert des années d'expérience.
coder oui mais pas n'importe comment, maitriser le langage évite de faire des trucs dégueulasse, pas sécurisé, avec des bugs cocasse (fuite mémoire, mauvaise allocation mémoire, performance aux fraises...)
Penser à l'évolution de l'application
il faut faire des tests unitaire, fonctionnelle, d'intégration, connaitre l'approche CI/CD
...

l'informatique c'est pas juste pisser du code et développer un jeu vide demande beaucoup de ressource, de temps et de travaille.
Beaucoup de L1 vienne en info car ils croient pouvoir coder un batelfield like en 1 weekend, la plupart quitte l'info après la 1ere année.
11  1 
Avatar de VBurel
Membre averti https://www.developpez.com
Le 30/07/2021 à 9:24
Tout ce qu'on a déjà programmé est facile et tout ce qu'on n’a pas déjà programmé est extrêmement complexe. C'est comme cela que je résumerai la matière aujourd'hui, tant le code validé est devenu inestimable.

Etre programmeur / développeur c'est acquérir de l'expérience et capitaliser du source code validé. C'est un chemin de créateurs, qui intéresse plus les artistes, les artisans, les ingénieurs, mais moins les universitaires (qui usuellement se moquent des expériences et savoir faires pratiques).
10  1 
Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 29/07/2021 à 17:36
Citation Envoyé par calvaire Voir le message
Beaucoup de L1 vienne en info car ils croient pouvoir coder un batelfield like en 1 weekend, la plupart quitte l'info après la 1ere année.
ça sent le vécu
7  0 
Avatar de esperanto
Membre émérite https://www.developpez.com
Le 30/07/2021 à 9:07
Citation Envoyé par Patrick Ruiz  Voir le message
[B]L’apprentissage de la programmation informatique est-il plus difficile que celui de la langue chinoise ?

Donc, c'est parti pour le concours de clichés. Le chinois a une grammaire ultra-simple, pour ne pas dire simpliste, et régulière: pas de liste de verbes irréguliers à apprendre par exemple. Après il a d'autres difficultés (écriture, tons) mais qui sont d'avantage liées au fait qu'un occidental ne les a généralement jamais vus avant. À l'inverse, "I" qui devient "me" en position complément en anglais, ça a de quoi déconcerter un chinois.

Citation Envoyé par Patrick Ruiz  Voir le message
Grosso modo, l’enseignant blâme les approches en vigueur dans les milieux universitaire et professionnel pour leur responsabilité dans la construction de la « réputation [difficile] de la filière de la programmation informatique. »

Et moi j'aurais tendance à faire ça pour l'apprentissage des langues, justement. En France surtout, on apprend les langues, comme les autres matières d'ailleurs, plus pour obtenir des points aux examens que pour les connaissances qui vont avec. Savoir réciter une liste de verbes irréguliers est mille fois plus important que d’aligner trois phrases qui les utilisent. Alors difficile pour une discipline comme la programmation, où les règles s'appliquent toujours, de s'insérer dans cette logique.

Citation Envoyé par Ryu2000  Voir le message
Il est certainement plus difficile de maitriser le japonais que de maitriser le Java.

Disons qu'en japonais il te faudra plus de temps pour arriver à former toi-même des phrases complexes. Par contre la grammaire, comme pour la plupart des langues naturelles, est assez figée (à notre échelle de temps, j'entends): même un mot récent, importé probablement de l'anglais ou d'une autre langue occidentale, se comportera exactement comme un mot japonais (au point qu'ils utilisent les katakana pour pouvoir les différencier des mots japonais). Au contraire Java, peut-être même plus encore que d'autres langages de programmation, n'a eu de cesse de rajouter des sucres syntaxiques: génériques (arrivés assez tardivement je trouve), plus récemment les lambdas...

Citation Envoyé par Ryu2000  Voir le message
Il faut constamment se tenir à jour parce que les technologies évoluent.

Et donc pour en finir avec le parallèle, les langues vivantes évoluent aussi mais pas du tout à la même vitesse. A l'échelle d'une vie humaine elles sont relativement statiques au moins au niveau de la structure, et pour le vocabulaire récent, c'est souvent du copier-coller d'une langue à l'autre.

Citation Envoyé par Ryu2000  Voir le message
Bonne chance pour réussir à te faire embaucher par une entreprise qui te fera travailler sur des projets qui t'intéresseront.

Et quand ça arrive, l'entreprise a l'art de rendre le sujet inintéressant, en t'imposant des règles stupides ou simplement en ne tenant aucun compte de tes remarques, même techniques, j'en sais quelque chose.

Citation Envoyé par Gulien  Voir le message
Nous ne faisons qu’utiliser des bibliothèques, essayons de tirer toute la puissance d’un langage, mettons en place des patern design bien souvent éprouvés depuis longtemps.

C'est déplorable, en effet. Quand j'ai la main sur un projet je mets un point d'honneur à utiliser uniquement les librairies strictement indispensables, là où mes collègues commencent par empiler les derniers frameworks à la mode avant même de savoir quel est le sujet du projet. Le pire, c'est qu'à toujours vouloir utiliser un framework récent, le plus souvent on ne le maîtrise pas bien au moment de démarrer le projet. Donc à moins qu'il y ait au moins une personne dans le projet qui est certifiée pour le framework, tu es certain qu'il sera mal utilisé.

Citation Envoyé par calvaire  Voir le message
si je suis ton raisonnement médecin c'est pas compliqué non plus... une fois les 8 années de bourrage de crane faut juste faire des diagnostiques et conseiller des traitements... et aussi un peu de veille techno médicale.

En fait oui, exactement: ce qui est difficile c'est ce qu'on n'a pas l'habitude de faire. Un médecin, faut plus de temps pour le former qu'un garagiste, mais il ne saura pas facilement réparer une voiture pour autant.
ça me rappelle d'ailleurs la blague du garagiste qui compare son travail à celui du chirurgien et se demande pourquoi il n'est pas payé autant: après tout, lui aussi "enlève des pièces et les remplace". Mais le chirurgien répond "essaie de le faire avec le moteur qui tourne..."
7  0 
Avatar de
https://www.developpez.com
Le 29/07/2021 à 15:32
La programmation en elle-même n'est pas la partie la plus difficile du métier.

La tertiarisation et la sous-traitance de tout ce qui touche à l'IT est un plus gros problème à mon sens. On se retrouve à devoir gérer les caprices des commerciaux et des clients entre autres.

Les collègues aux compétences sociales limitées sont aussi surreprésentés par rapport aux autres secteurs d'activité, si bien que de bons éléments sont découragés et finissent par se reconvertir.

Il y a aussi des effets de mode navrant qui plombent le travail des développeurs (genre vouloir tout mettre dans le cloud avec des applis web en ce moment).
6  1 
Avatar de
https://www.developpez.com
Le 30/07/2021 à 11:50
Comme dit plus haut "programmer" c'est très vague, on pourrait faire l'analogie avec n'importe quel métier : je sais construire un cadre en bois pour y mettre une photo est-ce que ça fait de moi un menuisier ? Je sais changer le siphon de mon évier est-ce que ça fait de moi un plombier ? Je sais écrire un texte est-ce que ça fait de moi un écrivain ?

Je pense que non, et pourtant j’utilise une partie des outils de ces métiers.

A mon sens la question est mauvaise car beaucoup trop vague et sujette à interprétation, on pourrait à la place se demander à partir de quand on se considère "programmeur informatique" ?

J'aime beaucoup la hiérarchie anglo-saxonne d'apprenti/compagnon/maître, ou le statut de compagnon signifie que vous être indépendant dans le travail et serait à mon sens le moment où on peut se qualifier de programmeur, menuisier, etc..
5  0 
Avatar de Ryu2000
Membre extrêmement actif https://www.developpez.com
Le 29/07/2021 à 14:44
Citation Envoyé par Patrick Ruiz Voir le message
Grosso modo, l’enseignant blâme les approches en vigueur dans les milieux universitaire et professionnel pour leur responsabilité dans la construction de la « réputation [difficile] de la filière de la programmation informatique. »
C'est normal que l'informatique a la réputation d'être difficile, de loin développer c'est écrire du code dans un éditeur de texte, donc il y a de quoi faire peur.
Et en pratique écrire du code dans un éditeur de texte ça fait vraiment parti du job, donc la peur est fondé

Les développeurs connaissent des langages inconnus des autres.
Il est certainement plus difficile de maitriser le japonais que de maitriser le Java. Mais être développeur c'est plus que ça, par exemple c'est faire du reverse engineering pour comprendre comment fonctionne un logiciel, parce que tous les développeurs qui ont bossé dessus se sont barré depuis longtemps.

Il faut constamment se tenir à jour parce que les technologies évoluent.

Citation Envoyé par Patrick Ruiz Voir le message
Quel conseil donneriez-vous à un novice désireux de se lancer en programmation informatique afin qu’il trouve son métier « facile » ?
Bonne chance pour réussir à te faire embaucher par une entreprise qui te fera travailler sur des projets qui t'intéresseront.
Peu de développeurs travaillent sur des projets qui les passionnent.

Citation Envoyé par Patrick Ruiz Voir le message
Est-il possible que des personnes naissent avec des aptitudes qui en font des programmeurs génies ?
Non.
Personne ne nait avec des aptitudes géniales. (le code génétique ça ne change grand chose pour les développeurs, ce n'est pas comme chez les sportifs ou la morphologie joue un rôle déterminant (selon ta morphologie tu ne peux pas être champion de n'importe quoi))

Bon à la limite si un enfant adore résoudre des énigmes, dessiner des schémas, fouiller à la recherche d'indice, faire des expériences, peut-être que le développement pourrait lui plaire.
5  1 
Avatar de calvaire
Expert éminent https://www.developpez.com
Le 30/07/2021 à 7:49
Citation Envoyé par Gulien Voir le message
Perso je ne trouve rien de difficile en programmation. Alors ok je ne programme pas en assembleur chez intel dans les années 90 , là il devait y avoir du challenge.

L’info ce n’est pas compliqué (les maths ou la physique le sont), mais ça peut être complexe (et parfois trop, J2EE suivez mon regard, par rapport au résultat).

J’ai connu beaucoup de dev qui avaient la grosse tête.
Nous ne faisons qu’utiliser des bibliothèques, essayons de tirer toute la puissance d’un langage, mettons en place des patern design bien souvent éprouvés depuis longtemps.

Par contre on peut dire que c’est souvent mal enseigné, que le boulot derrière est harassant (tiens jeune talent, fais moi vivre ce legacy tout pourris), que beaucoup de gens intelligents n’ont pas envie de passer leur vie (et leur vue) derrière un mur de pixel clignotants, que dans certains domaines, les projets et deadlines sont folies. Ces personnes peuvent facilement lâcher un «*c’est trop compliqué pour moi*», juste pour fuir ce milieu (et ils n’ont pas forcément tord).

Je dépeins un tableau gris, mais il y a aussi quelques bonnes boites ou il fait bon vivre, faut bien chercher, et être sympa avec ses dirigeants.
Quel rapport avec l’informatique est-il difficile ?
Je dirai plus que l’info est dur a vivre qu’il n’est difficile à pratiquer !
c'est pas juste utiliser des lib, aujourd'hui un programme a énormément de couche et de surcouche qu'il faut un minimum connaitre pour pas aller dans le mur.
ça demande de longue année d'apprentissage... comme tout autre métier

si je suis ton raisonnement médecin c'est pas compliqué non plus... une fois les 8 années de bourrage de crane faut juste faire des diagnostiques et conseiller des traitements... et aussi un peu de veille techno médicale.

en faite dans l'absolue y'a t'il un boulot compliqué ? dans la plupart des cas ce sont les études qui sont longue et chiante (médecin, avocats, ingénieur, compta...) mais une fois en poste c'est assez vite répétitif.

par contre je suis d'accord avec la fin de ton message.
Ceux qui disent que c'est compliqué ils ont juste mal choisit leurs boite... je suis chef de projet, je fais 36h/sem avec un rythme de taff "cool cool". Les boites stressantes avec des horaires pas possible (non payé évidement) personne ne vous forcent à y aller. J'ai connu ça et je me suis barré avant la fin de la période d’essaie.
j'ai une amie médecin hospitalier elle fait des horaires de malades, elle à 2000€ net de plus que mois à la fin du mois mais elle pas le temps de le dépenser et je crois qu'elle fera un arrêt cardiaque avant la retraite.
entre les gardes la nuit & les weekend, les journées de +10h... moi à 16h30 je fais du vélo dans la montagne et je ressens pas le besoin de gagner plus (enfin je suis pas contre gagner plus mais sans sacrifier ma qualité de vie)

mais une belle grève massive pourrait changer ces conditions pas acceptables.
en info c'est pas les boites qui manque, donc on a la chance de pouvoir changer rapidement si la boite est pourrie. Il faut profiter de cette avantage.
5  1