Peut on encore innover en informatique « sans réinventer la roue » ?
Une planche de BD soulève la question avec humour

Le , par Idelways, Expert éminent sénior
Une planche de BD, au style très rudimentaire, commence à faire le tour du Web (en tout cas celui fréquenté par les développeurs). Ces quelques cases résument la routine dans laquelle baignent beaucoup de programmeurs en ce début 21e siècle.

Son auteur y décrit le cas typique du développeur en quête d'accomplissement personnel, las de combiner couche d'abstraction sur couche d'abstraction, sans pouvoir mettre à profit ses « talents de résolution de problèmes complexes ».

L'employé envisage alors de quitter son travail pour se consacrer – effectivement - à la résolution d'un problème complexe qu'il a tête.

Mais il se heurte à la triste vérité... il existe déjà des implémentations de son idée pour tous les langages de programmation.



Quelques cases qui sont devenues populaires en posant, au final, cette question aux développeurs, est-il encore possible d'innover sans « réinventer la roue » ?

Et vous ?

Qu'en pensez-vous ?
Est-il encore possible d'innover sans réinventer la roue ?
Dans quels domaines ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de baxou087 baxou087 - Membre habitué https://www.developpez.com
le 05/03/2011 à 23:28
Bonjour,

Personnellement je ne comprend pas pourquoi les gens devraient abandonner leurs idees sous le pretexte que quelqu'un d'autre l'a deja fait.

En tant que developpeur il est sain et parfaitement normal de se lancer des defis, de les realiser et tant pis si ils ont deja ete fait par d'autres. D'ailleurs je trouve que le fait d'abandonner une idee sous ce pretexte est un frein a l'evolution et a l'innovation.

Il faut voir le bon cote des choses : si vous le programmez en plus d'avoir appris quelque chose, vous vous serez fait plaisir et ca c'est le plus important (Ne pensez-vous pas?).

En ce qui concerne le fait de reinventer la roue, qu'est-ce qui garantie qu'en redeveloppant cet outil, on ne verra pas quelque chose qui aura echappe a tous ceux qui s'etaient penche sur le sujet? C'est bete, mais c'est fou ce que ca peut arriver souvent, surtout dans notre domaine.
Avatar de pcaboche pcaboche - Rédacteur https://www.developpez.com
le 06/03/2011 à 0:52
Citation Envoyé par baxou087  Voir le message
En ce qui concerne le fait de reinventer la roue, qu'est-ce qui garantie qu'en redeveloppant cet outil, on ne verra pas quelque chose qui aura echappe a tous ceux qui s'etaient penche sur le sujet? C'est bete, mais c'est fou ce que ca peut arriver souvent, surtout dans notre domaine.

En particulier : "réinventer la roue", c'est développer quelque chose alors qu'il existe déjà au moins un logiciel présentant les mêmes fonctionnalités. Or le développement logiciel comprend l'aspect fonctionnel mais aussi l'aspect non-fonctionnel (c'est-à-dire tout ce qui a attrait à : la sécurité, la performance, l'ergonomie, la qualité du code, la maintenabilité, la modularité, etc).

Pour reprendre la métaphore de "réinventer la roue", c'est vrai que d'un point de vue fonctionnel on aurait pu se contenter des roues en bois ou en pierre apparues à l'aube de l'humanité. Mais non, aujourd'hui on a des pneus de plus en plus performants, dont les gommes ont une meilleure adhérence sur neige ou sol mouillé, qui supportent très bien les contraintes de torsion, etc.

D'une certaine façon, on peut dire qu'une certaine entreprise de Clermont-Ferrand réinvente la roue d'année en année, améliorant tous ses aspects non-fonctionnels, et qu'ils le font tellement bien qu'ils sont devenus leader mondiaux dans ce domaine...
Avatar de popo popo - Membre expérimenté https://www.developpez.com
le 06/03/2011 à 18:00
Réinventer la roue peux se montrer bénéfique à certains moments et être une perte de temps à d'autres moments.

Réinventer la roue permet de comprendre le mécanisme, ça peut-être un très bon apprentissage.
Après, si ce que l'on cherche à réinventer est trop couteux en temps (ça arrive très souvent en entreprise), alors on réutilise ce qui a déjà fait preuve de son efficacité (ce qui n'empêche en rien de réinventer en dehors du travail pour notre défi personnel ou par curiosité).
Des fois, pour des questions de performances ou tout simplement parce qu'elle n'est plus adaptée, il peut être nécessaire de réinventer la roue
Avatar de ALT ALT - Membre expérimenté https://www.developpez.com
le 07/03/2011 à 15:35
Si "réinventer la roue" consiste à reprendre un problème pour lui trouver une solution inédite, oui c'est salutaire.
Mais là, je crois qu'on ne réinvente plus la roue mais qu'on trouve quelque chose d'original. D'où innovation.

Quant au "réinventage" de roue pour des raisons didactiques, c'est un but différent : il ne s'agit pas de trouver une solution à un pb mais de chercher à comprendre comment d'autres l'ont résolu. Il ne s'agit pas d'innovation mais d'apprentissage.

Donc, pour moi, que ce soit en informatique ou dans n'importe quel domaine, on ne peut innover en refaisant ce qu'ont déjà inventé d'autres personnes, mais en prenant le problème sous un angle différent, en inventant une autre façon de le résoudre.
Avatar de ArKam ArKam - Membre éclairé https://www.developpez.com
le 07/03/2011 à 17:37
Citation Envoyé par ALT  Voir le message
Si "réinventer la roue" consiste à reprendre un problème pour lui trouver une solution inédite, oui c'est salutaire.
Mais là, je crois qu'on ne réinvente plus la roue mais qu'on trouve quelque chose d'original. D'où innovation.

Quant au "réinventage" de roue pour des raisons didactiques, c'est un but différent : il ne s'agit pas de trouver une solution à un pb mais de chercher à comprendre comment d'autres l'ont résolu. Il ne s'agit pas d'innovation mais d'apprentissage.

Donc, pour moi, que ce soit en informatique ou dans n'importe quel domaine, on ne peut innover en refaisant ce qu'ont déjà inventé d'autres personnes, mais en prenant le problème sous un angle différent, en inventant une autre façon de le résoudre.

J'ai pensé à exactement la meme chose sans arriver à le mettre en forme. +1

Pour preuve, si les aviateurs étaient resté sur les hélices de bases, ils n'auraient pas inventés les nouveaux moyens de propulsion tels que VASMIR etc.
Avatar de pvincent pvincent - Membre confirmé https://www.developpez.com
le 16/03/2011 à 18:07
Le "Nobel d’informatique" au vainqueur de Jeopardy

http://www.futura-sciences.com/fr/ne...eopardy_28711/
Avatar de javan00b javan00b - Membre actif https://www.developpez.com
le 13/04/2011 à 5:23
Parfois il est necessaire de reinventer la roue par soucis de performances, les solutions pre-existante possede parfois beaucoup trop de code qui peuvent creer des problemes ou de code inutilisé, pour optimiser il faut souvent reinventer.

SInon c'est souvent dans l'architecture meme d'un projet et dans les choix qu'on effectue qu'on passe la plus grande partie a reflechir, toujour codé des classes par dessus classes pour un jour finalement pouvoir codé un algo ou des evenements qui constitue la plus petit partie d'un projet generalement.

Je me souvient a l'epoque que j'ignorai ce qu'etait la POO et tout les patterns, la bonne vieille prog evenementiel ou tu devais te creuser la tete pour trouver des solutions et bidouiller a droite et a gauche pour garder une structure "lisible".

Oui bien sur maintenant on est de biens meilleurs developpeurs, mais j'ai l'impression qu'on ne se creuse pu la tete autant qu'avant ou du moin mathematiquement parlant et personellement que je suis devenu un peu plus paresseux,..

*brin de nostalogie*
Avatar de pcaboche pcaboche - Rédacteur https://www.developpez.com
le 15/04/2011 à 16:31
Citation Envoyé par javan00b  Voir le message
Parfois il est necessaire de reinventer la roue par soucis de performances

Le problème, c'est que même quand c'est parfaitement justifié, les patrons n'aiment pas qu'on réécrive du code. En plus il faut ménager leur sensibilité et leur orgueil.

Ca m'est déjà arrivé d'avoir un programme tellement mal conçu que ça allait 10 fois plus vite de le refaire complètement. Et une fois réécrit, il allait 1000 fois mieux.

Mais le problème, c'est que le patron n'aime pas qu'on réécrive un programme. Et c'est encore pire quand ledit patron à l'origine du programme et que leur design est bancal...

Malheureusement, ce n'est pas lui qui est en charge de la maintenance, ce n'est pas lui qui doit subir les plaintes des utilisateurs excédés que le programme utilise toutes les ressources et les empêche de travailler. Donc au bout d'un moment, on a le choix : soit supporter les plaintes des utilisateurs, soit subir les critiques du patron. Les utilisateurs sont plus nombreux, et ils gueulent plus fort, donc tant pis pour le patron...
Avatar de angladephil angladephil - Nouveau Candidat au Club https://www.developpez.com
le 10/09/2011 à 0:00
Bonsoir,

Pour ma part, ma société m'a imposé ACCESS...
Je ne dis dis qu'il faut réinventer la roue chaque jour ... mais doublonner des procédures , faire des copier/coller dans les modules ... un paramétrage quasi-inexistant, sauf à faire saisir à l'utilisateur...

Bref , cet applicatif est coûteux (temps, ré-écriture..)

Alors, oui, avec de mauvais outils, on ré-invente la roue ....etc !
Avatar de davcha davcha - Membre expérimenté https://www.developpez.com
le 10/09/2011 à 9:54
Il suffit de lire des thèses ou autres publications du genre pour savoir que la réponse est oui.
Avatar de Lugdev Lugdev - Nouveau Candidat au Club https://www.developpez.com
le 09/10/2011 à 0:00
Bonjour,

Je suis nouveau ici donc je me présente rapide car cette discussion m'intéresse ... non seulement elle pose la question de comment se qualifier en tant que "développeur" (par exemple) mais aussi de "qu'est/est devenue l'informatique aujourd'hui" ... enfin je pense.

En gros donc:
- Ca fait plus de 20 ans que je fais de l'informatique, domaine passionnant s'il en est/ou en était ?
- Je pense aussi (et sans fausse modestie) être un des meilleurs, en tout cas dans mes domaines ... chacun son job (je ne prétends pas savoir même mettre de l'essence dans une voiture pour exemple :o)

Bref.
J'ai l'impression, plus cela "avance" que en fait cela "recule", je m'explique (et je n'ai pas l'intention de jouer mon vieux radoteur, genre "le mec qui a encore connu les cartes perforées" -que je n'ai pas connu, de fait, et quelque part heureusement ;-)

Il me semble néanmoins que quelques principes de base ont été oubliés dans la foulée ... je vais tenter d'en exprimer quelques uns ici, en petits traits, et à discussion:
- simplicité avant tout (ex. pourquoi faut il configurer une masse de fichiers "config" avant de voir apparaitre par ex. une applic. java pour afficher "hello world" ???)
- du travail d'un autre tu peux faire le tien (ex. et vu que c'est le sujet, pourquoi réinventer la roue si on parle disons d'un traitement de texte, pourquoi réécrire toutes les fonctions de recherche/remplacement/numérotation des lignes/indentation/etc/etc ...)
- chaque "brique" devrait être interchangeable ... or, actuellement ce n'est pas le cas ... certains (BeOS si je me souviens bien) ont proposé cette optique mais on reste sur des trucs "propriétaires" (même en opensource ... on compile (horreur de la compil en fait) avec telle lib, telle version (si compatible) et pas une autre: on a oublié quelque par le "rend tel service")
- etc etc bref au lieu de devenir de plus en plus simple (cad accessible à tout le monde ce qui est pour moi l'objectif de base de notre domaine -rendre la machine un outil pour tous- c'est devenu tout l'inverse ... et le "pire", même pour les informaticiens eux même -ca, c'est le comble !!!-)

Comme disait l'autre "Think different".
Ce qui veut dire:
- on "invente" rien, toute l'inventivité humaine se base sur un "réassemblage" de chose, toute la créativité en question procède justement de cette capacité à assembler/réassembler des choses dites "déjà existantes". Pour exemple, pas de Morse sans électricité, donc sans télégraphe, pas de cuisine sans casserole, sans ingrédients (déjà connus depuis des plombes ainsi que les moyens de les cultiver/nettoyer/préparer/cuire) etc etc
- tout devrait viser à la simplicité ... après tout un ordi n'est qu'un outil au service de "l'homme" (cela changera bientôt je pense si ce n'est déjà fait ... je connais des "hommes" qui sont au final plus au service de la "machine")

Sur ces premiers principes je pose question:
- A quoi sert un ordinateur
- Pourquoi avons nous de tout temps inventé des "machines"
- Et au final ou en sommes nous arrivés ?

Je clôture ici, en attendant vos premières réactions ;-)
L.
Offres d'emploi IT
Ingénieur développement fpga (traitement vidéo) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil