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 !

Les IDE sont-ils dangereux pour les développeurs ?
Certains pensent qu'ils rendent incompétents

Le , par Cedric Chevalier

6PARTAGES

4  0 
Les IDE (environnement de développement intégré) ont marqué un tournant décisif dans le domaine du développement logiciel. Ce sont des outils simples mais puissants, qui permettent aux développeurs d’augmenter de façon significative leur productivité.

Avec des fonctionnalités comme l’autocomplétion, permettant à un utilisateur de limiter la quantité d’informations saisies au clavier, le refactoring, ou encore le « Drag and drop » des composants (glisser/déposer) pour la création des interfaces utilisateurs et bien d’autres, les IDE offrent beaucoup de facilités, aussi bien aux amateurs qu’aux développeurs professionnels.

Actuellement sur le marché, il existe des IDE pour la plupart des langages de programmation. Eclipse, CodeBlock, Aptana, Netbeans, Xcode, ou encore Visual Studio constituent quelques bons exemples.

Cependant, malgré toutes les facilités que peuvent offrir les IDE, certains développeurs préfèrent le code à l’ancienne, c’est à dire armés d’un bon éditeur de texte et surtout de beaucoup d’ardeur au travail.

Que reprochent-ils aux IDE ? Ils évoquent souvent plusieurs raisons, entre autres le manque d’un bon IDE pour leur langage de programmation fétiche, et par dessus tout, la paresse engendrée par ces outils.

Pour eux, à force d’utiliser un IDE, on finit par oublier les rouages du langage de programmation. La chose est d’autant plus flagrante avec l’utilisation de la fonctionnalité de création des interfaces utilisateurs fournie par certains IDE. En effet, tout ce que doit faire le développeur c’est glisser/déposer des composants pour qu’ensuite l’IDE génère le code correspondant pour eux.

Source : billet de Matthew Mombrea

Et vous ?

Quelle méthode utilisez-vous pour le développement de vos applications ?

Êtes-vous d'accord avec ceux qui pensent que les IDE rendent incompétents ?

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

Avatar de Neckara
Expert éminent sénior https://www.developpez.com
Le 26/02/2014 à 6:44
Bonjour,

Ils évoquent souvent plusieurs raisons entre autres, le manque d’un bon IDE pour leur langage de programmation fétiche.
En prenant n'importe quel bon IDE, en modifiant la chaîne de compilation et les paramètres d'exécution, il y a un moyen de l'adapter à leur langage de programmation fétiche. Si cet argument n'est pas un signe de paresse .

et par dessus tout la paresse engendrée par ces outils.
Le but est d'augmenter sa productivité, ce n'est pas de la paresse.
L'incompétence c'est bien de passer 2 heures à écrire un Makefile en ajoutant tous les fichiers un à un plutôt que de passer 10 secondes à importer des fichiers dans un projet ou d'écrire un Makefile "générique" (sans avoir nécessairement besoin d'un IDE d'ailleurs).
L'incompétence c'est passer plus de temps à faire une chose alors qu'on peut la faire plus rapidement avec toujours la même qualité.

Pour eux, à force d’utiliser un IDE, on finit par oublier les rouages du langage de programmation.
A part les IDE qui proposent une interface de création d'UI, je ne vois pas du tout en quoi les IDE feraient "oublier" les rouages du langage de programmation...

D'ailleurs, les personnes que connais qui n'utilisent vim au lieu d'un IDE l'ont en fait presque transformé en IDE en rajoutant l'auto-complétion, des commandes pour exécuter/déboguer, la gestion des fichiers du projet, etc.
Et de mon côté j'ai transformé mon IDE (QtCreator) en vim grâce à FakeVim .

D'ailleurs si ces personnes utilisent vim, c'est pour la rapidité qu'offrent toutes les commandes de vim qui permettent de se passer totalement de la souris.
Mais bon, un éditeur dans un IDE ça se change et ça se configure aussi.

Pour les IDE proposant une interface de création d'UI, selon le langage, on peut oublier des rouages mais pas tous les rouages.
Les rouages qu'on oublie, ce sont ceux dont on aura plus besoin, qu'on utilisera plus. Ce n'est donc pas signe d'incompétence.

La chose est d’autant plus flagrante avec l’utilisation de la fonctionnalité de création des interfaces utilisateurs fournit par certains IDE. En effet, tout ce que doit faire le développeur c’est glisser déposer des composants pour qu’ensuite l’IDE génère le code correspondant pour eux.
Si l'IDE peut le faire automatiquement et plus rapidement, tant mieux pour nous.
On peut ainsi discuter avec un non-informaticien de la disposition des éléments en lui montrant en temps réel et même lui déléguer cette tâche si l'interface est simple. C'est un gain non-négligeable.
14  0 
Avatar de Saverok
Expert éminent https://www.developpez.com
Le 26/02/2014 à 14:48
La valeur ajoutée d'un développeur est de développer du métier ou un action, pas de la technique.
Les IDE et générateurs de codes permettent d'améliorer la productivité du développeur en lui soustrayant tout l'aspect technique pour qu'il puisse s'intéresser à coder le métier ou la fonctionnalité.

Par exemple, exposer un web service SOAP en Java :
Quelle la valeur ajoutée d'un développeur de se retaper toute la couche SOAP alors qu'une API du type CXF fait ça très bien ?
La valeur ajoutée du développeur est de coder le service exposé, pas son protocole.

De même pour une interface.
La valeur ajoutée du concepteur est de concevoir la meilleure interface possible pour les utilisateurs (la plus ergonomique, la plus pratique, etc.).
La valeur ajoutée du développeur est de coder les actions réalisées par chaque élément de l'interface.
En aucun cas coder l'interface n'a de sens ou de valeur ajoutée s'il est possible de le générer automatiquement.

Les rédacteurs de ce billet n'ont rien compris aux métiers des développeurs et concepteurs.
Ce qu'ils aiment, c'est "bouffer du code".
Un mauvais développeur écrit 1000 lignes là où un bon développeur n'en écrit que 10.
Un bon développeur est un développeur fainéant ==> il code uniquement ce qu'il a besoin et le réutilise au maximum.

Coder 100 fois la même chose n'apprend rien du tout sinon justifier son temps à ne rien faire (coder, ce n'est pas du travail à la chaîne).
On sait le faire une fois et c'est très bien.
Après on utilise un générateur ou on transforme son code en API.
Et comme on est doué, on sait reprendre et optimiser le code généré si besoin mais en aucun cas le recoder de zéro
10  0 
Avatar de jv2759
Membre régulier https://www.developpez.com
Le 27/02/2014 à 10:54
Moi je dis que les langages de programmation son fait pour les fainéants, rien de telle qu’écrire nos programmes directement avec un éditeur hexa…

Excessif*? Pas tend que cela. Quand j'utilise Delphi et que je place un bouton sur ma forme, l'IDE me masque en effet la création d'un bouton. Mais en réfléchissant mieux, le langage me masque comment utiliser un bouton avec l'API Windows. Et l'API me masque son moteur graphique. Et le moteur graphique me masque comment gérer les zones de dessin. Et ainsi de suite.

En quoi se placer là ou là serait plus noble et ferait de nous de meilleur programmeur.

L'IDE est un faux problème l’histoire de l'informatique nous montre que l'on tend vers l'utilisation l'élément nous simplifiant la vie pour ce concentrer sur notre cœur de métier, c’est-à-dire crée de nouvelle fonctionnalité.

Un bon programmeur c'est une personne qui sait utiliser les BON outils pour arriver à c'est fin. Et le champion de notepad qui sait tout écrire à la main, mais 2 fois plus lentement et juste une bête de foire inutile en entreprise.
10  0 
Avatar de gangsoleil
Modérateur https://www.developpez.com
Le 26/02/2014 à 9:38
Bonjour,

Ce n'est pas l'IDE qu'ils critiquent, mais la generation de code. Le fait qu'ils ne fassent pas la difference entre les deux est, a mon sens, assez inquietant.

Un IDE, c'est un editeur qui apporte des fonctionalites qui aident le developpeur a developper : suivre un appel de fonction, connaitre le type d'une variable, un peu d'auto-completion pour se rappeler que la fonction s'appelle nouveau_post_dans_developpez_com et non pas nouveau_post_dans_developpez_net, de la coloration syntaxique, une recherche dans le projet, ...
Tout ceci existe dans pleins d'editeurs, a commencer par vim et emacs, qui ne sont pas specialement decrié dans ce post (puisqu'ils finissent en citant notepad++ comme remplacant d'IDE).

Donc la question est : est-ce que la generation de code rend bete ?

Je ne sais pas si ca rend bete, mais est-ce que ca fait du mauvais code, la reponse est oui.
10  1 
Avatar de _skip
Expert éminent https://www.developpez.com
Le 26/02/2014 à 13:15
Citation Envoyé par Cedric Chevalier Voir le message

Que reprochent-ils aux IDE ? Ils évoquent souvent plusieurs raisons entre autres, le manque d’un bon IDE pour leur langage de programmation fétiche, et par dessus tout la paresse engendrée par ces outils.
Il y a effectivement des langages pour lesquels le support IDE est excellent (java, c#) et d'autres langages moins célèbres ou à typage dynamique où les possibilités sont plus limitées.


Pour eux, à force d’utiliser un IDE, on finit par oublier les rouages du langage de programmation. La chose est d’autant plus flagrante avec l’utilisation de la fonctionnalité de création des interfaces utilisateurs fournie par certains IDE. En effet, tout ce que doit faire le développeur c’est glisser déposer des composants pour qu’ensuite l’IDE génère le code correspondant pour eux.
Une demi-vérité peu recevable à mon goût, je vois pas en quoi utiliser un outil plutôt qu'un autre t'empêche de savoir ce que tu fais? La création d'interface utilisateur avec un éditeur graphique c'est assez confortable, parfois ça se suffit complètement et on peut conserver le code généré, parfois on peut s'en servir pour du prototypage et reprendre le code à la main, le réorganiser, y incorporer son layout manager préféré, c'est ce que je faisais... Je connais aucun IDE qui "force" l'utilisateur à passer par son éditeur de GUI ou son générateur de je ne sais quoi pour accomplir un travail (sauf windev peut être mais c'est un cas différent).

Êtes-vous d'accord avec ceux qui pensent que les IDE rendent incompétents ?
Non en fait un IDE ça apporte beaucoup à la productivité, et sur des bases de code de plusieurs milliers de classe, sauf dans de rares cas où on déplore une absence d'outils de bonne qualité, faut être limite de mauvaise foi pour prétendre que ce n'est pas une aide appréciable. Pour beaucoup de ceux qui tiennent ces discours radicalement anti-IDE sur les blogs anglophones, j'ai l'impression que c'est une façon de se faire mousser genre "ouais moi j'ai pas besoin de ces trucs pour les tocards, je suis un vrai programmeur poilu moi monsieur, les ingénieurs aujourd'hui ils savent même pas faire ci, puis ça " (je caricature à peine tant l'arrogance est parfois flagrante).
En tout cas je veux bien accepter que le support d'un langage puisse être si approximatif que certains outils soient délaissés parce qu'on a l'impression qu'ils se mettent plus en travers du chemin qu'autre chose, mais se priver d'un outil qui rend de bons service juste pour des prétextes bidons, je sais pas si c'est de la vanité ou de la fierté mal placée.
8  0 
Avatar de Cafeinoman
Membre éprouvé https://www.developpez.com
Le 26/02/2014 à 13:47
Un débutant qui ouvre une IDE n'y comprend rien, il ne faut pas l'oublier. Pour qu'une IDE permette un gain de productivité, il faut déjà avoir un minimum de connaissance...
Mais une fois qu'on à les connaissances requises, je ne vois pas l'intérêt de répéter sans cesse les mêmes taches "inutiles" (imports, réécriture des signatures de méthode d'une interface qu'on implémente,...). De plus une IDE permet souvent d'éviter les fautes "bêtes" (doigts qui glissent sur le clavier et change le nom d'une variable,...).

La génération de code, c'est autre chose... Pour ce qui n'ont jamais jeté un oeil au code d'une UI Swing généré par WindowsBuilder ou autre, essayez. On passe plus de temps à optimiser le code généré qu'on en aurait passé à l'écrire!

Je pense personnellement que la remarque sur la fainéantise et l'oubli de bon nombre de bases s'applique bien mieux aux frameworks qu'aux IDE... Combien de développeurs de nos jours commence directement à travailler avec des frameworks, en aillant par ailleurs une (très) mauvaise connaissance des principes sous-jacent...?
8  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 26/02/2014 à 7:19
il y a deux aspects dans cette remarque

1) l'amélioration de la saisie du code : code automatique, mise en évidence de bug potentiels, insertion automatique des méthodes, etc...

pour cette partie, depuis que j'utilise Android Studio pour développer pour Android et NetBeans pour PHP, je dois dire qu'il y a des fonctions très pratique, comme l'insertion automatique des import, l'insertion des méthodes d'une interface, etc...et aussi des choses casse-pied comme la gestion automatique des quotes qui est très souvent mal géré - notamment à cause de l'apostrophe.

mais de façon générale certains de ces ajouts sont précieux.

2) le développement RAD avec des composants visuels à la souris

là c'est un autre problème, il y a des IDE très stables et pratiques, et d'autres beaucoup moins...mais les uns comme les autres s'accompagne d'un framework qui pèse parfois lourd, voir très lourd sur de petits projets. Pour ceux-là je préfère parfois gérer tout ça à la main.

Maintenant si l'objectif premier est la productivité, les IDE (non bugués) sont un grain appréciable (les bugs provoquant l'effet inverse).
7  0 
Avatar de ymajoros
Membre habitué https://www.developpez.com
Le 26/02/2014 à 20:41
C'est vaguement l'avis d'un gars aléatoire sur le net qui a par hasard un blog. Et ça fait la une ici...
7  0 
Avatar de lilington
Membre chevronné https://www.developpez.com
Le 10/03/2014 à 5:10
Bonjour,
je me suis tape les 4 pages ouf.
Sinon je ne suis vraiment pas d'accord avec la plus part des gens, certains vont meme jusqu'au dedain en disant des trucs genre (j'image un peu hein) on devrait retourner au langage machine pendant qu'on y est! ou encore l'exemple avec les macons ou les scieurs.
Pour moi la question n'est pas est-ce que l'IDE rend incompetant mais plutot qui l'IDE rend inconpetent.
en j'ai ma petite reponse qui peut etre fausse car base sur un cobaye: moi.

quand on s'y connais deja dans une chose, et qu'on veut aller vite, il serait idiots de se passer d'IDE (je suis un idiot car je n'en utilise jamais mais j'ai d'autre raisons HS).
sur ce point on est d'accord. et je ne pense pas que l'on devient un inconpetant parcequ'on a commencer a utiliser un IDE.
Mais quand est il de celui qui debute? Avant j'utilisais des IDE et ca allait, puis quand j'ai commence a bosser, mon m'a mis sur des machines sans interfaces graphiques (SSH) et je me suis rendu compte que j'etais incapable de taper la moindre ligne car je savais pas ce qu'il faillait faire, heuresement j'avais mon laptop personnel et je regardait ce que l'IDE faisait et je recopiais ensuite. comment on en arrive la? c'est simple:
prenons un tutoriel opengl parexemple, quelqu'un qui debute et qu'on place sur un IDE quelconque peut ne pas se rendre compte du travail qui a derriere, et le jours qu'il se retrouve a devoir code en C/opengl sans IDE il peut etre perdu.
La bonne pratique que je preconise c'est de toujours debute sans IDE, il faut que la phase apprentisage se face avec VIM/notepad++/Emac/machintruc. et quand on veut aller vite on utilise IDE, sinon en effet si on debut avec IDE il y a de forte chance qu'on devienne dependant et incapable de code sans son outils, et ca c'est de l'incompetance,
-un developpeur doit POUVOIR faire son travail juste avec un compilateur et un editeur de texte. s'il a ABSOLUMENT besoin d'un autre IDE il est incompetant
-s'il peut faire sans IDE il est competant
-s'il peut faire sans IDE et qu'il en utilise un pour des raison de productivite il est competant et productif
-s'il le fait sans IDE et que personne ne s'en apercois dans les delais il est juste efficace et competant.

En gros pour resumer quand l'outils devient ABSOLUMENT indispensable pour faire quelque chose qu'on peut faire sans, c'est qu'on est pas competant.
c'est comme ca que je vois la chose.
7  0 
Avatar de SylvainPV
Rédacteur/Modérateur https://www.developpez.com
Le 26/02/2014 à 14:42
Incroyable comme dans tous les domaines, même dans celui de l'informatique qui doit être un des secteurs professionnels les plus innovants, on trouve des anti-progressistes. Là il ne s'agit même pas d'être contre tel ou tel IDE, ils disent clairement être contre le fait d'utiliser des outils dont la raison d'être est de nous simplifier le travail. L'argument de la "paresse" me fait bien rigoler, ça me fait penser à cette image :
7  1 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web