Je trouve quand même que l'informatique moderne, c'est super !
Après des années (des dizaines d'années ?) pendant lesquelles on nous a seriné que les langages généralistes devaient être Orientés Objet, règle selon laquelle on a inventé C++, tenté d'"objétiser" Python, etc. et inventé des nouveautés assez correctes comme C# par exemple, voici qu'on porte aux nues un truc qui ne ressemble pas du tout, ni même de très très loin, à un langage objet. Truc qui permet (je dis bien permet), en outre, d'utiliser une écriture épouvantable et de faire des choses horribles que l'apprentissage longuement maitrisé des langages objets nous avait permis d'éviter facilement et d'évacuer de nos esprits et même de nos mémoires...
A la décharge des utilisateurs, il faut bien dire que les différents essais de "javascript objet", ou bien de "langages objets produisant du javascript", ou encore de "langages divers directement jouables dans un browser", ont soigneusement été torpillés par le système, privés d'EDI, mal ou peu supportés, et obligent donc le tout venant à utiliser javascript.
Bon, je me demande comment réagiront les ménagères de la prochaine décennie quand la machine à laver moderne et méga-top sera une machine à rouleau de séchage manuel... ou les petits jeunes quand leur téléphone mobile dernier cri sera un radiocom 2000 d'il y a 20 ans !
Si tu crois encore que l'orienté objet est le paradigme le plus approprié pour toutes situations, et que les autres paradigmes, c'est une régression dans le passé, c'est sûr qu'on est pas près d'avoir l'informatique moderne.
Je suis pas forcément fan non plus de voir javascript partout, choisi la plupart du temps plus à cause de sa popularité qu'à cause de ses qualités intrinsèques, mais c'est pas une raison pour tomber dans le même délire avec la POO à la place de Javascript.
Malheureusement, Javascript est l'un des seuls (voire le seul) langage populaire actuel n'adoptant pas le modèle objet. Le modèle objet ne réponds certes pas à tous les besoins, mais il est extrêmement éprouvé, et surtout enseigné partout...contrairement au prototypage. Ce n'est pas pour rien que l'on constate aujourd'hui des projets comme Dart, CoffeScript, TypeScript, etc.
De mon point de vue, Javascript a quelques bons atouts, mais ces défauts innombrables me répugne au plus haut point. Et même avec le futur EC6, je trouve qu'il reste beaucoup de défaut (en particulier la lisibilité).
Les éditeurs mettent simplement le Javascript à toutes les sauces pour attirer les développeurs web dans le monde natif, et plus particulièrement dans le monde mobile parce que mobile = stores = $$$.
A quand l'apparition d'une vraie concurrence contre Javascript ?Cela permettrait au moins de faire évoluer les choses plus vite !
Sublime Text est assez génial. En plus, une version d'évaluation est disponible, sans limite d'utilisation dans le temps. Tu as juste une popup qui t'invite à te procurer une licence de temps en temps.
http://www.sublimetext.com/2
Je n'ai pas dit que je "croyais" que l'OO était le plus approprié à tout, mais que c'était le discours du monde de l'informatique depuis 30 ans au moins. Et pas juste dans quelques forums de geek : les plus grands noms du métier y ont mis leur 50 centimes ! Pour ma part, je ne vois pas de domaine dans lequel il ne serait pas utilisable (je dis bien utilisable), et s'il est utilisable, toujours pour moi, je ne vois pas pourquoi il ne serait pas utilisé !
En attendant, j'aimerais bien qu'on me cite un exemple de domaine dans lequel un langage objet n'est pas le bienvenu.
Si c'est pas un signe...
Javascript, référence : Berk
Etant ingé dev je l'utilise souvent dans les webapp que je produit ou les site mobile. Ben j'ai toujours trouvé ca lourd et verbeux au possible. C'est pas pour rien que les framework Javascript tel que jquery qui simplifie grandement les chose existe.
Parce que faire du javascript from scratch c'est
Moi j'essaye d'éviter ca le plus possible. Parce que quand tu voit que la moindre selection d'un champs/div/etc... tu doit te taper un document.getElementById(<id_element>) ca fini vite par gonflé quand tu doit en gérer plein ou faire des calcul automatique. (j'ai eu à faire une sorte de mini calculette en tant que web-app sans possibilité d'utiliser de framework en JS et ca m'avait bien bien gonflé.
document.getElementById(<id_element>) c'est pas du javascript c'est l'identification d'un element dans l'arbre du document objet model
et pour rappel le dom se place entre le html et javascript, il permet la dynamisation d'une page web
Dernière modification par Invité ; 06/02/2013 à 21h26.
Vous pouvez tous remercier Microsoft(surtout) et Yahoo , sans leur conneries de 2008 et sans le "défilement" de Mozilla , on aura pu au moins avoir ceci :
http://www.ecmascript.org/es4/spec/lib-march-2008.html
que vous pouvez tester(partiellement) avec seamonkey :
http://ftp.mozilla.org/pub/mozilla.o...3-04-01-trunk/
Dans le cadre d'une application graphique(puisqu'on parle de GNOME),je vois mal quel paradigme est plus approprié. Maintenant javascript permet la POO , comme la programmation fonctionnelle. Cela ne veut pas dire que le langage est bien conçu ou que sa syntaxe favorise la création d'objets réutilisables , l'héritage , l'encapsulation , le polymorphisme ... Javascript est un accident , un peu comme PHP, la dette technologique de javascript aujourd'hui est trop importante pour que ce langage disparaisse ( un peu comme COBOL )Si tu crois encore que l'orienté objet est le paradigme le plus approprié pour toutes situations, et que les autres paradigmes, c'est une régression dans le passé, c'est sûr qu'on est pas près d'avoir l'informatique moderne.
Qu'est-ce que c'est que ces bêtises ? en Javascript tout est objet ou référence à un objet..Malheureusement, Javascript est l'un des seuls (voire le seul) langage populaire actuel n'adoptant pas le modèle objet.
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(typeof (function(){}).prototype === "object" && typeof {} === "object" && typeof [1,2,3] === "object" && typeof new String("hello world") === "object" && typeof new Number(42) === "object" ){ alert("Le Javascript est un langage objet !"); }
Les classes ne sont pas la seule forme de POO qui existe, même si c'est celle qu'on nous fait bouffer à l'école. Un peu de lecture : http://fr.wikipedia.org/wiki/Program...%A9e_prototype
Qu'est-ce que c'est que ces bêtises ? en Javascript tout est objet ou référence à un objet..Ton code ne démontre absolument rien, puisque tu renvoies le type du constructeur qui renverra toujours object , et pas le type de la chaine ni du nombre(string ou number en l'occurence ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part typeof new Number("je suis une chaine") === "object"
Number est le constructeur, new Number(5) renvoie l'objet construit.
Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (new Number(42)).constructor === Number
Et si mon code ne te convainc pas que le JS est un langage objet, peut-être qu'ouvrir un bouquin ou faire une recherche Google le fera...
Un extrait du site web de Douglas Crockford :
Source: http://javascript.crockford.com/javascript.htmlJavaScript est-il orienté objet ?Il a des objets qui peuvent contenir des données et des méthodes qui agissent sur ces données. Les objets peuvent contenir d’autres objets. Il n’a pas de classes, mais il a des constructeurs qui font ce que les classes font, notamment en agissant comme des conteneurs de variables de classe et de méthodes. Il n’y a pas d’héritage orienté classe, mais il y a un héritage orienté prototype.
Les deux principales façons de construire des systèmes objets sont par héritage (est-un) et par agrégation (a-un). JavaScript fait les deux, mais sa nature dynamique lui permet d’exceller dans l’agrégation.
Certains prétendent que JavaScript n’est pas véritablement orienté objet, car il ne permet pas de cacher l’information. Autrement dit, les objets ne peuvent pas avoir de variables privées ou de méthodes privées: tous les membres sont publics.
Mais il s’avère que les objets JavaScript peuvent avoir des variables privées et des méthodes privées.(Cliquez ici maintenant pour savoir comment faire.) Bien sûr, peu de gens comprennent cela parce que JavaScript est le langage le plus incompris au monde.
Certains prétendent que JavaScript n’est pas véritablement orienté objet, car il ne prévoit pas l’héritage. Mais il s’avère que JavaScript supporte non seulement l’héritage classique, mais aussi d’autres modèles de réutilisation du code.
Un langage objet cela ne veut rien dire , la POO n'a rien à voir avec les specs d'un langage. Tu peux pratiquement faire de la POO avec n'importe quoi qui a des tableau , des pointeurs et des fonctions. Un "objet" c'est juste une structure contenant des états et des méthodes. Utiliser des objets ne veut pas dire faire de la POO , comme utiliser une fonction ne veut pas dire faire de la programmation fonctionnelle.Et si mon code ne te convainc pas que le JS est un langage objet, peut-être qu'ouvrir un bouquin ou faire une recherche Google le fera...
Ce sont des gens comme Crockford(yahoo à l'époque) qui ont fait capoter ES4 , donc son avis me fait une belle ...Un extrait du site web de Douglas Crockford :
On peut difficilement nier que JavaScript est un langage orienté objet. La notion d'objet est essentielle dans ce langage. Maintenant c'est un langage orienté objet par prototype et pas par classe ce qui change totalement l'utilisation.
C'est pour moi ce qui en fait à la fois un bon langage de script et un très mauvais langage pour les applications lourdes, on peut tout modifier salement sans se soucier de respecter une structure rigide.
En effet, je suis allé un peu vite en besogne. Je voulais dire que Javascript n'était pas un langage orienté objet "classique", à classes donc (classique car enseigné partout). Sinon, je suis entièrement d'accord avec le point de vue d'Uther.
C'est marrant car, d'après ce que j'ai pu voir en lisant en diagonal ce document, Microsoft a repris pas mal d'idées pour les insérer dans TypeScript![]()
haha.... tout ceci me fais rire un brin.JavaScript est un langage de script, pour faire cours et très simple, on est d'accord?! Mais un langage script haut niveau, car la définition et l'appel des méthodes sont très descriptives, donc facilement compréhensible pour un cerveau humain. De plus, sa forme d'utilisation (ressemblance avec) est analogue au JAVA. Il y a beaucoup de différence, je sais et c'est pour ça que c'est un langage à lui seul, mais il y a tout de même des ressemblance! Pourquoi ne pas simplement se tourner vers le JAVA? La machine est déjà construite, ça éviterait de travailler sur un interpréteur "maison" (avantages ici bien-sûr), améliorer plutôt les machines JAVA déjà existantes et donnerait aux développeur GNOME plus de possibilitées, de "pouvoir" sur la machine. Et pourquoi pas un package complet GNOME pour l'open-jdk ou sun-jdk?
Le JavaScript s'est inspiré de plusieurs langages, notamment du Java. Les ressemblances sont cependant faibles.
Le javascript est très bien.
Sauf... sa manière de délimiter les instructions ou pas avec les fins de lignes.
Ca s'est du pourri de chez pourri.
Pour le reste, en mode strict on peut très bien n'utiliser que les aspects propres.
Fred
Partager