# Le club des professionnels en informatique > La taverne du Club : Humour et divers > Humour Informatique >  Peut on encore innover en informatique  sans rinventer la roue  ?

## Idelways

*Peut on encore innover en informatique  sans rinventer la roue  ?*
*Une planche de BD soulve la question avec humour*


Une planche de BD, au style trs rudimentaire, commence  faire le tour du Web (en tout cas celui frquent par les dveloppeurs). Ces quelques cases rsument la routine dans laquelle baignent beaucoup de programmeurs en ce dbut 21e sicle.

Son auteur y dcrit le cas typique du dveloppeur en qute d'accomplissement personnel, las de combiner couche d'abstraction sur couche d'abstraction, sans pouvoir mettre  profit ses  talents de rsolution de problmes complexes .

L'employ envisage alors de quitter son travail pour se consacrer  effectivement -  la rsolution d'un problme complexe qu'il a tte.

Mais il se heurte  la triste vrit... il existe dj des implmentations de son ide pour tous les langages de programmation.



Quelques cases qui sont devenues populaires en posant, au final, cette question aux dveloppeurs, est-il encore possible d'innover sans  rinventer la roue  ?


*Et vous ?*

 ::fleche::  Qu'en pensez-vous ?
 ::fleche::  Est-il encore possible d'innover sans rinventer la roue ? 
 ::fleche::  Dans quels domaines ?

----------


## ArKam

Pour moi, et je ne parlerais que la partie OS, je dirais qu'il est ncessaire de rinventer la roue de temps en temps.

Ce n'est pas parce qu'on rcupre des ides dj mises que l'on innove pas, donc je dirais que OUI il est encore possible d'innover, MAIS cela passera forcement par le fait de rinventer la roue.

Pourquoi?

Parce qu' un moment donn, la roue  t invente pour faire de la ville alors que maintenant il nous faut des roues tout terrains.

Le souci, comme le dit si bien la BD c'est que nous narrtons pas de rajouter des couches et des couches, alors que deux trois couches me sembles bien suffisantes.

Aprs, cette question, bien que trs intressante mais est tout de mme fortement orient philosophie plus que rflexion en elle mme.

----------


## Drizzt [Drone38]

Ca serait  mon avis bien prsomptueux d'affirmer qu'il n'y a plus rien  inventer en informatique.

C'est une science encore bien jeune et la recherche  encore de beaux jours devant elle. Et pas uniquement en re-inventant la roue, il y a encore de quoi faire dans de nombreuses directions connues.

Bon evidement on est loin du quotidien des dveloppeurs. Mais d'un autre cot est-ce beaucoup diffrent dans les autres mtiers ?

----------


## ManusDei

Ca date de si longtemps que a les pointeurs intelligent, le garbage collector (j'en sais rien, je demande)?

----------


## ArKam

> Ca date de si longtemps que a les pointeurs intelligent, le garbage collector (j'en sais rien, je demande)?


Pour moi, ce n'est pas parce que des outils sont rcents qu'ils sont innovants.

Tu peux trs bien r-inventer la roue de faon totalement bordlique, ce sera innovant mais pas efficace.

Comme le disais Drizzt, il reste heureusement encore pas mal de domaine de recherches.

----------


## pmithrandir

N'oublions pas aussi que pour un mme problme, il existe parfois 3 ou 4 solutions efficaces selon les particularits de votre logiciel.

Rinventer la roue prend un peu de temps, mais permet souvent de choisir la meilleure ou la plus intuitive des 4 pour votre logiciel.

----------


## ArKam

> N'oublions pas aussi que pour un mme problme, il existe parfois 3 ou 4 solutions efficaces selon les particularits de votre logiciel.
> 
> Rinventer la roue prend un peu de temps, mais permet souvent de choisir la meilleure ou la plus intuitive des 4 pour votre logiciel.


Un gros +1 l.

----------


## benzoben

La question me parait tre un non sens : innover sans rinventer la roue? N'est ce pas la dfinition d'innover que de ne pas rinventer la roue?

Peut tre faudrait-il la reformuler en : y a t-il encore des choses  inventer en informatique?

En tout cas, je pense que les grands concepts en informatique sont tous l depuis longtemps et on tourne toujours autour : OO, client/serveur, multicouche, j'en passe.
L'innovation aujourd'hui n'est principalement que dans la complexification ou le raffinement des concepts ou leur imbrication.
Plus on a d'outils "high level" plus on peut tenter de choses plus complexe qu'auparavant mais au final ce ne sont qu'un assemblage de briques dj existantes.?

----------


## Drizzt [Drone38]

> En tout cas, je pense que les grands concepts en informatique sont tous l depuis longtemps et on tourne toujours autour : OO, client/serveur, multicouche, j'en passe.
> L'innovation aujourd'hui n'est principalement que dans la complexification ou le raffinement des concepts ou leur imbrication.
> Plus on a d'outils "high level" plus on peut tenter de choses plus complexe qu'auparavant mais au final ce ne sont qu'un assemblage de briques dj existantes.?


Mais comment tu peux dire que tous les grands concepts sont la ? C'est comme si il y a quelques sicles, tu disais que tous les grands concepts de Math ou Physique avaient t trouvs. Et a faisait bien plus longtemps que ces sciences taient tudies que l'informatique actuellement.

On n'est pas  l'abri d'un nouveau concept qui nous ouvrira de nouveaux horizons.

----------


## michon

De plus, il me semble par exemple que le concept de programmation par Aspect n'est pas si vieux que ca...

----------


## Invit

Dj, l'intelligence artificielle !

Ensuite, tout ce qui est cyborg et autre, hologrammes, transmission sans fil  trs haut dbit...

L'informatique n'en est qu' ses dbuts !

----------


## gl

> Ca date de si longtemps que a les pointeurs intelligent, le garbage collector (j'en sais rien, je demande)?


Pour le garbage collector, fin des annes 50/dbut 60 avec le Lisp. Plus vieux que pas mal de monde ici.

----------


## pcaboche

> Est-il encore possible d'innover sans rinventer la roue ?


Plus l'informatique avance et plus les problmes  rsoudre deviennent complexes, ce qui oblige sans cesse  trouver de nouvelles solutions, par exemple en matire de qualit logicielle.

Quand dans la BD il est dit "try to come up with an algo on my own is pointless", c'est faux, parce qu'il y a souvent des tas de cas particuliers ou de nouveaux domaines d'application qui apparaissent (algorithmes distribus, paralllisation...)

Ce qui arrive souvent en revanche, c'est que des concepts trs anciens mergent (ou deviennent populaires) seulement des dcennies plus tard. C'est a qui donne l'impression de rinventer la roue.

----------


## jmnicolas

En informatique on est des nains assis sur des paules de gants.

Je suis pas sr que parler d'innovation soit vraiment pertinent pour du code. 

Un maon qui monte une maison utilise les mmes techniques (sans doute un peu raffines) que ses prdcesseurs du sicle dernier, et finalement tout le monde se fout de savoir la faon dont les briques ont t poses, ce qui nous intresse c'est la maison finale, et c'est l qu'on cherchera l'originalit / innovation.

----------


## Gouyon

> Je suis pas sr que parler d'innovation soit vraiment pertinent pour du code. 
> 
> Un maon qui monte une maison utilise les mmes techniques (sans doute un peu raffines) que ses prdcesseurs du sicle dernier, et finalement tout le monde se fout de savoir la faon dont les briques ont t poses, ce qui nous intresse c'est la maison finale, et c'est l qu'on cherchera l'originalit / innovation.


Je suis tout  fait d'accord avec a. Certes avec le temps de nouveau langages et outils sont apparu mais en fin de compte tout a fini en boucle et choix conditionnel dans un charabia uniquement comprhensible par le processeur.
L'innovation se situe plutt dans le rsultat final.

----------


## ArKam

> En informatique on est des nains assis sur des paules de gants.
> 
> Je suis pas sr que parler d'innovation soit vraiment pertinent pour du code. 
> 
> Un maon qui monte une maison utilise les mmes techniques (sans doute un peu raffines) que ses prdcesseurs du sicle dernier, et finalement tout le monde se fout de savoir la faon dont les briques ont t poses, ce qui nous intresse c'est la maison finale, et c'est l qu'on cherchera l'originalit / innovation.


Pleinement d'accord avec ton argumentaire, de plus la phrase est joliment dite  ::D:

----------


## iznogoudmc

Un grand merci  l'OOP : Voici la parfaite illustration de son pire effet pervers. En effet, aujourd'hui beaucoup de pisseurs de lignes ne cherchent plus  rsoudre des problmes mais  assembler des objets. Et quand un objet ne leur convient pas, soit ils dclarent que la demande est impossible  satisfaire, soit ils assemblent d'autres verrues sur des verrues.....  ::cry::

----------


## toopac

> En informatique on est des nains assis sur des paules de gants.
> 
> Je suis pas sr que parler d'innovation soit vraiment pertinent pour du code. 
> 
> Un maon qui monte une maison utilise les mmes techniques (sans doute un peu raffines) que ses prdcesseurs du sicle dernier, et finalement tout le monde se fout de savoir la faon dont les briques ont t poses, ce qui nous intresse c'est la maison finale, et c'est l qu'on cherchera l'originalit / innovation.


Pour continuer ton parallle avec la construction, aujourd'hui grce  certaines innovations, on arrive  construire des btiments de plus de 700m, certains qui peuvent rsister  un sisme, etc...
Alors effectivement pour construire une maison, on utilise souvent les mme choses, mais pour les gros projets, la faon donc les biques ont t poses reste quand mme assez important.

----------


## pcaboche

> Alors effectivement pour construire une maison, on utilise souvent les mme choses, mais pour les gros projets, la faon donc les biques ont t poses reste quand mme assez important.


Et comme pour la construction d'une maison, on tombe parfois sur des soi-disant professionnels qui font n'importe quoi, empochent le fric, laissent une maison inhabitable et bourre de malfaons, dposent le bilan pour ne rendre de compte  personne, et recrent une entreprise pour recommencer leurs conneries.

----------


## el_slapper

> Et comme pour la construction d'une maison, on tombe parfois sur des soi-disant professionnels qui font n'importe quoi, empochent le fric, laissent une maison inhabitable et bourre de malfaons, dposent le bilan pour ne rendre de compte  personne, et recrent une entreprise pour recommencer leurs conneries.


Et on trouve aussi des clients qui choisissent des fournisseurs au bord de la faillite, leur font tout faire, attendent qu'ils partent en faillite, et se retrouvent avec une clinique construite  l'oeil.

----------


## pvincent

Toute la question est de savoir ce qu'on entend par "informatique". 
Il existe une informatique thorique (voir le site de l'INRIA) qui recherche non seulement de nouveau algorithmes mais aussi de nouveau concepts et pour citer (de mmoire) J-P Bourgignon, qui est un des mathmaticiens franais les plus estims, directeur de IHES: <<mme les mathmaticiens ont renonc  considerer  l'informatique [sous entendu thorique] comme une branche secondaire des mathmatiques.>>
Evidemment, il y a une certaine distance entre la recherche fondamentale et l'application, mais J-P Bourgignon citais l'algorithme de base mis en oeuvre par Google comme innovant.

----------


## ALT

Pour rester prcis, l'informatique n'est pas une science, mais une technique.
Et toutes les techniques voluent. Mme la plomberie ou la maonnerie.

Non, on ne fait rien en rinventant sans cesse les mmes choses. La roue existe, inutile de la rinventer. Au moins peut-on la faire voluer. Ce qui est dj bien.
D'ailleurs c'est ce qui s'est pass : de la roue primitive (en pierre ?) on est pass par la roue de char en bois plein, puis  la roue  rayons, ... jusqu' la roue  pneumatique, jante aluminium avec roulements  billes ou coniques...
Le principe de la roue est toujours le mme. C'est sa conception (son implmentation, si on peut dire) qui a chang.

----------


## Hellwing

Je pense que le sujet impliquait l'algorithmique dans le terme "informatique". Auquel cas il s'agirait de la thorie et de la pratique.

----------


## istace.emmanuel

Qu'en pensez-vous ?
Pour ma part je dirais que justement, c'est a le boulot de dev. Mon but est de rsoudre de manire optimale un problme et si possible que le besoin auquel rpond mon application, le mieux possible, soit un besoin "utile". De plus la crativit n'est mise en place par le dev mais par l'analyste et l'archi. Le dev n'tant au final qu'une machine a piss*r/vomir du code. (Je ne cautionne pas pour autant, ce n'est qu'un constat)

Est-il encore possible d'innover sans rinventer la roue ?
Oui, mais cela n'empche pas de se baser sur l'existant.

Dans quels domaines ? 
Dans les domaines de pointe, pour en citer trois que je connais assez bien, la recherche oprationnelle, le domaine de intelligences artificielle et les systmes embarqus.

----------


## Gouyon

> De plus la crativit n'est mise en place par le dev mais par l'analyste et l'archi. Le dev n'tant au final qu'une machine a piss*r/vomir du code. (Je ne cautionne pas pour autant, ce n'est qu'un constat)


Dsol mais je ne suis pas d'accord je ne me considre pas comme un pisseur de code. Je pense qu'avant d'crire des lignes de code il y a une rflexion et c'est l o la crativit prend place. De plus on volue au fil du temps quand je replonge dans de vieux code j'ai assez souvent le sentiment qu'aujourd'hui je ne l'crirais pas comme a (mme si a marche parfaitement).

----------


## baxou087

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.

----------


## pcaboche

> 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 : "rinventer la roue", c'est dvelopper quelque chose alors qu'il existe dj au moins un logiciel prsentant les mmes *fonctionnalits*. Or le dveloppement logiciel comprend l'aspect fonctionnel mais aussi l'aspect *non-fonctionnel* (c'est--dire tout ce qui a attrait  : la scurit, la performance, l'ergonomie, la qualit du code, la maintenabilit, la modularit, etc).

Pour reprendre la mtaphore de "rinventer 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 adhrence sur neige ou sol mouill, qui supportent trs bien les contraintes de torsion, etc.

D'une certaine faon, on peut dire qu'une certaine entreprise de Clermont-Ferrand rinvente la roue d'anne en anne, amliorant tous ses aspects non-fonctionnels, et qu'ils le font tellement bien qu'ils sont devenus leader mondiaux dans ce domaine...

----------


## popo

Rinventer la roue peux se montrer bnfique  certains moments et tre une perte de temps  d'autres moments.

Rinventer la roue permet de comprendre le mcanisme, a peut-tre un trs bon apprentissage.
Aprs, si ce que l'on cherche  rinventer est trop couteux en temps (a arrive trs souvent en entreprise), alors on rutilise ce qui a dj fait preuve de son efficacit (ce qui n'empche en rien de rinventer en dehors du travail pour notre dfi personnel ou par curiosit).
Des fois, pour des questions de performances ou tout simplement parce qu'elle n'est plus adapte, il peut tre ncessaire de rinventer la roue

----------


## ALT

Si "rinventer la roue" consiste  reprendre un problme pour lui trouver une solution indite, oui c'est salutaire.
Mais l, je crois qu'on ne rinvente plus la roue mais qu'on trouve quelque chose d'original. D'o innovation.

Quant au "_rinventage_"  :;):  de roue pour des raisons didactiques, c'est un but diffrent : il ne s'agit pas de trouver une solution  un pb mais de chercher  comprendre comment d'autres l'ont rsolu. 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 dj invent d'autres personnes, mais en prenant le problme sous un angle diffrent, en inventant une autre faon de le rsoudre.

----------


## ArKam

> Si "rinventer la roue" consiste  reprendre un problme pour lui trouver une solution indite, oui c'est salutaire.
> Mais l, je crois qu'on ne rinvente plus la roue mais qu'on trouve quelque chose d'original. D'o innovation.
> 
> Quant au "_rinventage_"  de roue pour des raisons didactiques, c'est un but diffrent : il ne s'agit pas de trouver une solution  un pb mais de chercher  comprendre comment d'autres l'ont rsolu. 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 dj invent d'autres personnes, mais en prenant le problme sous un angle diffrent, en inventant une autre faon de le rsoudre.


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

Pour preuve, si les aviateurs taient rest sur les hlices de bases, ils n'auraient pas invents les nouveaux moyens de propulsion tels que VASMIR etc.

----------


## pvincent

Le "Nobel dinformatique" au vainqueur de Jeopardy

http://www.futura-sciences.com/fr/ne...eopardy_28711/

----------


## javan00b

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*  ::cry::

----------


## pcaboche

> Parfois il est necessaire de reinventer la roue par soucis de performances


Le problme, c'est que mme quand c'est parfaitement justifi, les patrons n'aiment pas qu'on rcrive du code. En plus il faut mnager leur sensibilit et leur orgueil.

Ca m'est dj arriv d'avoir un programme tellement mal conu que a allait 10 fois plus vite de le refaire compltement. Et une fois rcrit, il allait 1000 fois mieux.

Mais le problme, c'est que le patron n'aime pas qu'on rcrive un programme. Et c'est encore pire quand ledit patron  l'origine du programme et que leur design est bancal...  ::roll:: 

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 excds que le programme utilise toutes les ressources et les empche 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...  ::aie::   ::mouarf::

----------


## angladephil

Bonsoir, 

Pour ma part, ma socit m'a impos ACCESS...
Je ne dis dis qu'il faut rinventer la roue chaque jour ... mais doublonner des procdures , faire des copier/coller dans les modules ... un paramtrage quasi-inexistant, sauf  faire saisir  l'utilisateur...

Bref , cet applicatif est coteux (temps, r-criture..)

Alors, oui, avec de mauvais outils, on r-invente la roue ....etc !

----------


## davcha

Il suffit de lire des thses ou autres publications du genre pour savoir que la rponse est oui.

----------


## Lugdev

Bonjour,

Je suis nouveau ici donc je me prsente rapide car cette discussion m'intresse ... non seulement elle pose la question de comment se qualifier en tant que "dveloppeur" (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 prtends pas savoir mme 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 perfores" -que je n'ai pas connu, de fait, et quelque part heureusement ;-)

Il me semble nanmoins que quelques principes de base ont t oublis dans la foule ... 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 rinventer la roue si on parle disons d'un traitement de texte, pourquoi rcrire toutes les fonctions de recherche/remplacement/numrotation 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 "propritaires" (mme 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", mme pour les informaticiens eux mme -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 "rassemblage" de chose, toute la crativit en question procde justement de cette capacit  assembler/rassembler des choses dites "dj existantes". Pour exemple, pas de Morse sans lectricit, donc sans tlgraphe, pas de cuisine sans casserole, sans ingrdients (dj connus depuis des plombes ainsi que les moyens de les cultiver/nettoyer/prparer/cuire) etc etc
- tout devrait viser  la simplicit ... aprs tout un ordi n'est qu'un outil au service de "l'homme" (cela changera bientt je pense si ce n'est dj 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 arrivs ?

Je clture ici, en attendant vos premires ractions ;-)
L.

----------

