Developpez.com

Le Club des Développeurs et IT Pro

Peut on encore innover en informatique « sans réinventer la roue » ?

Une planche de BD soulève la question avec humour

Le 2011-03-01 10:39:16, 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 ?
  Discussion forum
35 commentaires
  • pmithrandir
    Expert éminent
    N'oublions pas aussi que pour un même problème, il existe parfois 3 ou 4 solutions efficaces selon les particularités de votre logiciel.

    Réinventer la roue prend un peu de temps, mais permet souvent de choisir la meilleure ou la plus intuitive des 4 pour votre logiciel.
  • Drizzt [Drone38]
    Membre émérite
    Envoyé par benzoben
    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 déjà existantes.?
    Mais comment tu peux dire que tous les grands concepts sont la ? C'est comme si il y a quelques siècles, tu disais que tous les grands concepts de Math ou Physique avaient été trouvés. Et ça faisait bien plus longtemps que ces sciences étaient étudiées que l'informatique actuellement.

    On n'est pas à l'abri d'un nouveau concept qui nous ouvrira de nouveaux horizons.
  • jmnicolas
    Membre éprouvé
    En informatique on est des nains assis sur des épaules de géants.

    Je suis pas sûr que parler d'innovation soit vraiment pertinent pour du code.

    Un maçon qui monte une maison utilise les mêmes techniques (sans doute un peu raffinées) que ses prédécesseurs du siècle dernier, et finalement tout le monde se fout de savoir la façon dont les briques ont été posées, ce qui nous intéresse c'est la maison finale, et c'est là qu'on cherchera l'originalité / innovation.
  • Drizzt [Drone38]
    Membre émérite
    Ca serait à mon avis bien présomptueux 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 développeurs. Mais d'un autre coté est-ce beaucoup différent dans les autres métiers ?
  • iznogoudmc
    Membre habitué
    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 à résoudre des problèmes mais à assembler des objets. Et quand un objet ne leur convient pas, soit ils déclarent que la demande est impossible à satisfaire, soit ils assemblent d'autres verrues sur des verrues.....
  • ALT
    Membre émérite
    Pour rester précis, l'informatique n'est pas une science, mais une technique.
    Et toutes les techniques évoluent. Même la plomberie ou la maçonnerie.

    Non, on ne fait rien en réinventant sans cesse les mêmes choses. La roue existe, inutile de la réinventer. Au moins peut-on la faire évoluer. Ce qui est déjà 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 même. C'est sa conception (son implémentation, si on peut dire) qui a changé.
  • ALT
    Membre émérite
    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.
  • ArKam
    Membre éclairé
    Pour moi, et je ne parlerais que la partie OS, je dirais qu'il est nécessaire de réinventer la roue de temps en temps.

    Ce n'est pas parce qu'on récupère des idées déjà é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 réinventer la roue.

    Pourquoi?

    Parce qu'à un moment donné, la roue à été inventée 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 n’arrêtons pas de rajouter des couches et des couches, alors que deux trois couches me sembles bien suffisantes.

    Après, cette question, bien que très intéressante mais est tout de même fortement orienté philosophie plus que réflexion en elle même.
  • Déjà, l'intelligence artificielle !

    Ensuite, tout ce qui est cyborg et autre, hologrammes, transmission sans fil à très haut débit...

    L'informatique n'en est qu'à ses débuts !
  • pcaboche
    Rédacteur
    Envoyé par baxou087
    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...