Grandeur et décadences de l’objet

L’objet, c’est un élément fondateur de l’informatique moderne.

On programme objet, on peut analyser avec une approche objet…

Mais d’abord, c’est quoi ce truc ?

L’approche objet est à la base une évolution « naturelle » des techniques de programmation.

Un peu d’histoire :

L’informatique a commencé avec des langages « barbares », ou en tout cas de bas niveau : assembleur, cobol…

Puis sont venus les langages fonctionnels et structurés.

Fini les GOTO, et bienvenue aux variables locales !

Cela a constitué une avancée fondamentale :

Le programme est 1000 fois plus lisible, 1000 fois plus réutilisable.

Il y a eu d’autres pistes explorées : les langages de type Intelligence Artificielle (Prolog), les langages purement fonctionnels (Camel & co), …

Et puis il y a eu l’objet.

Derrière l’objet, il y a plusieurs idées fondatrices :

L’une des idées est de se dire que les structures de données sont clées, et finalement plus centrales, plus stables que les fonctions.

Bref, le truc objet a bien pris, et la plupart des langages modernes sont objets : C#, Java, PHP…

ça, c’est la grandeur des objets.

Mais les objets auraient pu aller à pleins d’autres endroits.

Il y a eu ainsi de magnifiques projets de bases de données objets (O2 mon amour 😉 ).

J’en parlais ce soir avec mon amis Hubert, qui de son côté a travaillé sur un projet d’OS objet.

A ce propos, Microsoft devait intégrer une base de données objet à la place du file system de Vista… Projet abandonné.

Tout ça, c’est la décadence de l’objet !

Il n’y a pas de base de données objet sérieuse sur le marché.

Les OS ne sont pas objets.

Le file system est très loin d’être remplacé par une base objet…

Pourquoi « tant de haine » ?

C’est une histoire qui me fascine d’autant plus qu’elle me ramène à ma propre histoire : dans les années 90, j’avais monté un projet de bases de données objet, persuadé que c’était l’avenir.

On peut dire que pour les bases de données, cela n’a pas pris parce que ce que les gens attendent d’une base de données, c’est de stocker des données, et pas tellement de savoir comment elles sont structurées.

Je n’adhère pas à l’argument, parce que cet argument aurait très bien pu jouer contre les langages de programmation…

Je pense qu’en fait, il y a sûrement une part de hazard là dedans… Et si ça se trouve, on aura bel et bien de belles bases de données objets dans les années à venir ! N’oublions pas que cette histoire est en cours d’écriture !

6 commentaires

  1. Pour en avoir étudié un peu, les bases de données relationnelles objets ou 100% objet ne sont pas des plus évidentes pour le concepteur à mettre en place et surtout à faire évoluer (Oracle,…). De plus qui dit BDD dit couche d’accès (php,…) et là c’est aussi un autre morceau !

  2. @Misro> Un billet un peu particulier, j’en conviens 😉

    @Michaël> Oui, tout à fait.

    @Julien> Oui mais justement, il y a une vrai faille entre le modèle objet des langages (comme php) et le modèle relationnel… On paye ça assez cher en terme de performance sur nos chers sites web !

  3. Il est vrai qu’on a parlé durant les années 90 des BDD objets. Mais les performances étaient à des années lumières d’un SGBD relationnel.

    Je ne crois pas qu’un jour elles remplaceront les base relationelles, car désormais des framework de persistance permettent de faire aussi bien tout en gardant la portabilité du code et les performances des bases relationnelles.

    Je pense à des framework comme Hibernate ou Toplink et des api comme JPA (dont Hibernate et Toplink sont des implémentations), pour le monde java. Je crois qu’il y a Linq en .Net.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *