Le prochain javascript

J’ai vu les specs du prochain javascript : http://developer.mozilla.org/es4/spec/spec.html. Ça contient tout ce qu’un language orienté-objet contient : classes, interfaces, packages, etc. Comment peut-on les arrêter avant qu’ils détruisent ce qu’il nous reste de liberté???

Amer et désagréable

À la lecture de cet article, certains me traiteront de grand-père amer et désagréable et c’est peut-être le cas. Je suis peut-être trop borné dans mon point de vue pour être totalement objectif. Le problème avec ces améliorations au ECMAScript v4 (mieux connu sous le nom de javascript) c’est qu’ils veulent “standardiser” le dernier language “mouton noir” qu’il nous reste. Ils veulent faire un autre clone de java, .NET et tous ces languages de merde qui polluent notre liberté.

De la liberté

Parce que oui, il s’agit bien de liberté. Nous nous sommes sorti, après des années de domination, du poid des interfaces windows (même si certains arrièrés aimeraient tant y retourner). Nous étions en train de nous sortir des languages orienté-objet lourds et infantilisant mais là il fallait qu’une bande de vendus orienté-objet veuille rendre sérieux un language pas sérieux. Nous, nous allons nous en laver les mains et se dire “Wow! C’est ben plus facile parce que c’est comme ce que je faisais avant“. Il ne faut surtout pas créer de vagues et de voir comment on peut faire autrement. Il faut suivre les traces de Bjarne Stroustrup (je vous link d’ailleurs sa page web de style : je suis un programmeur sérieux et j’ai pas le temps de faire une belle page web) et tout ramener à comme c’était en 1992. On était tellement bien dans ce temps là en écoutant Fresh Prince of Bel-Air, pourquoi est-ce qu’on changerait?

Javascript m’a permis d’écrire le code le plus merdique de toute ma vie : des fonctions un peu partout, des variables globales, des dépendances tout croche et j’en passe. Par contre, la journée où j’ai compris ce qu’était réellement javascript, j’ai pu rapidement écrire du code bien structuré et agréable (contrairement à trop structuré).

L’orienté-objet

Il ne faut pas se méprendre, je suis un enfant de l’orienté-objet. J’ai été élevé au C++, au Delphi et au .NET. J’utilise des méthodes orienté-objet en javascript : classes, packages et design patterns. Ce que je déteste c’est qu’on entre encore un autre language dans le carcan dans lequel ils sont tous entré depuis l’avènement de Java : VB, PHP et maintenant javascript. C’est ce même carcan qui est contesté par l’inventeur même de java mais qui est tout de même considéré comme le seul sérieux. Celui qui pousse quotidiennement des milliers de développeurs vers l’over-designing et la procastination de leur réel travail : livrer une application fonctionnelle et utilisable.

Il y a une chose du futur que je connais. Quand la nouvelle version de javascript sera supportée par les navigateurs (Firefox3.5, IE7SP14 et Brimboo1.2) je serai tout excité d’utiliser les nouveaux ajouts. Pourquoi? Tout simplement parce que je me sens bien dans le moule orienté-objet qui a été fait avec amour pour moi et mes millions d’amis programmeurs.

Il ne nous reste qu’un revendication à faire : le droit de coder autrement.

Note spéciale : j’en profite pour vous annoncer aussi mon nouveau site : Javascript Kata. C’est en anglais et j’essaie de pousser le javascript au max que je peux. Pour l’instant, il a pas vraiment le look que je veux mais j’améliore ça. Promis.

3 commentaires sur cet article

Commentaires

  1. Emile 23 Mar

    Je t’avoue que ça fait une couple de fois que j’assiste à ce choque d’idées et ça me laisse encore perplexe. En fait j’ose pas prendre position. Tous les langages ont leur lot de contraintes, c’est du cas par cas. Je n’aime pas particulièrement Java pour environ les même raisons que toi mais je suis réticent à ce que JavaScript évolue. Est-ce qu’il y a des éléments en particulier que tu trouves qui ont pas leur place dans ECMAScript v4?

  2. Dan 23 Mar

    Pour l’instant, le fait que tous les concepts OO soient ajoutés me choque.

    Mais le pire de toute la gang, c’est le sealed (http://developer.mozilla.org/es4/spec/chapter_4_fundamental_concepts.html)

    “An object is sealed if properties cannot be added to it at runtime. By default, class definitions create sealed class instances.”

    Ils auraient pas pu faire pire.

  3. Frank 23 Mar

    Ouash… je suis de ton bord dans tout ça. Javascript, le langage mal aimé, non-respecté et méconnu depuis le tout début… s’avouerait finalement vaincu après toutes ces années de résistance en laissant sa place à un soi disant remplacant “plus sérieux”. C’est un peu inquiétant tout ça.

Laisser un commentaire