Revenir
en haut

Bases: retour aux sources de la programmation objet

02/11/2011 2

Me revoilà, après quelques mois la tête sous l’eau (ce qui est plutôt une bonne nouvelle), et j’ai des choses à dire !

J’aurais une bonne palette de billets à faire sur Symfony 2, ou encore un avis à donner sur l’arrivée de Zend Framework 2, mais cette nouvelle génération de frameworks et les conversations que j’ai avec d’autres développeurs me donnent plutôt envie de parler du fond et non de la forme.

Le fond, c’est à dire les bases d’une architecture objet.

Après plusieurs discussions avec toutes sortes de développeurs, débutants ou expérimentés, je fais le constat que durant ces quelques dernières années, les frameworks PHP ont eu un double effet sur les développeurs. Le premier positif, l’autre plutôt négatif.

Le bon côté de la force

Ce qui est indéniable avec des frameworks tels que Zend Framework ou Symfony (pour ne citer que ces deux là), c’est qu’ils ont réussi à professionnaliser le développement PHP et à redorer le blason du langage.

PHP a souffert d’une mauvaise réputation, et ce pendant longtemps. Et pour cause, ça a toujours été un langage très simple et très permissif. A tel point que beaucoup de « bidouilleurs » ont pu s’auto-proclamer « développeurs ».

Depuis, le langage a beaucoup évolué et sa place dans le monde professionnel et dans la programmation orientée objet est largement méritée. Cette propulsion du langage dans l’entreprise est due aux évolutions du langage lui-même mais aussi en grande partie à l’arrivée de frameworks aboutis revendiquant les bonnes pratiques.

Les développeurs qui ont adopté de tels outils ce sont vus peu à peu, avec ou sans difficultés, ingérer des concepts de programmation objet, parfois avancés, et ce sont habitués avec plus ou moins de compréhension à une certaine gymnastique de développement web.

Si ce phénomène est sans conteste une très bonne chose, il vient aussi avec son lot de « nouvelles mauvaises pratiques ».

Le côté obscur de la force

Il existe donc un mauvais côté à cette élévation intellectuelle du langage, et je pense ne pas être le seul à le constater.

Beaucoup de développeurs se voient ainsi manipuler des concepts objets avancés, et ce parfois sans connaitre le pourquoi du comment. Pourtant, ces concepts existent depuis bien longtemps, les connaitre et les comprendre fait normalement partie de l’éducation d’un développeur objet.

Mais c’est là tout l’art du cerveau humain, c’est d’être capable de produire quelque chose par simple mimétisme jusqu’à ce que ça devienne machinal.

Ces frameworks ont donc habitué les développeurs à appliquer de bonnes pratiques, mais en imposant tellement de règles et une telle application concrète prête à l’emploi, que pas mal d’étapes ont été brûlées au passage.

On peut comparer ça à un chirurgien qu’on aurait tellement habitué à pratiquer une opération complexe, qu’il l’a maîtriserait, mais ne serait pas capable d’opérer une simple appendicite.

Conséquences

Les conséquences de ce phénomène sont simples. Aujourd’hui les frameworks sont devenus si complexes, magiques ou trop peu performants, qu’ils doivent être repensés et développés pour mieux coller aux standards et aux concepts de base.

Et devinez qui en pâtit ?

Les développeurs ont tellement été habitués que maintenant qu’on leur demande de comprendre ce qu’on leur a fait faire sans réfléchir ces dernières années, ils sont perdus. Et cette nouvelle vague de frameworks, qui sont censés être plus simples et plus universels, semblent au contraire bien plus complexes à leurs yeux.

Evidemment c’est un faux semblant !

Retour aux sources

C’est vrai que je donne une note un peu dramatique à tout ça. En fait, je pense que c’est vraiment une bonne chose, et ce que je vois c’est que les développeurs qui prennent conscience de tout ça donnent une nouvelle dimension à leur métier, et se découvrent de nouvelles passions.

Je n’ai jamais vu autant de développeurs PHP acheter des livres sur les design patterns que ces derniers temps. Hallelujah ! Je dis enfin, car la plupart de ces concepts existent depuis les années 1990 :p

Quoi qu’il en soit, cette nouvelle génération de frameworks est excitante et ça me motive à écrire des billets sur les bases de la programmation objet ! Ce billet fera d’ailleurs figure d’introduction.

Addendum

J’aimerais préciser que je fais évidemment une généralisation concernant les développeurs. Tous ne sont pas concernés par ce que j’écris et certains ont acquis tous ces concepts depuis bien longtemps. Ce n’est donc pas à prendre pour argent comptant, chacun y verra son compte et se reconnaîtra ou non ;-)

2 commentaires :

  1. Ce que je retiens de l’article : « [...] écrire des billets sur les bases de la programmation objet ! Ce billet fera d’ailleurs figure d’introduction. ».

    Cool pour le come-back du blog ;)

    Armetiz.

  2. J\’ai beaucoup entendu parler de Zend et Symfony! Ca m\’a intéressé et du coup j\’ai bien envie d\’essayer voir ce que ca peut donner. Jusqu\’à présent je \ »roulais\ » en WordPress, Joomla et sur des outils customs, mais j\’ai eu là une bonne intriduction qui me donne envie de poursuivre. Merci et au plaisir d\’un prochain développement ;)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

Tags HTML autorisés : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Tag code : [cc lang="langage"][/cc] (ex. [cc lang="php"][/cc])