Uther Le 23/07/2008 à 20:10Edité par Uther le 23/07/2008 à 20:12 Je l'utilise car c'est le seul langage de script disponique sur tous les navigateurs web mais je refuse de l'utiliser pour quoi que ce soit d'autre.
Tu peux me sortir tous les argument possible, Je réfuerai habilement par un subtil : "C'est pas un langage fortement typé donc c'est de la merde"
onur Le 23/07/2008 à 20:20 C'est quoi qui te fait refuser de l'utiliser ailleurs?
edit: à ce propos, si des modos pourraient récupérer les sondages qui ont jarté, ca serait cool.
Tout ce qui passe pas par le port 80, c'est de la triche.
Il manque une option dans ton sondage : "des trucs qu'on pourrait faire aussi bien sans, des trucs qui servent à rien, et des popups de pub (ou assimilés)".

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT Turbo Jyaif Le 23/07/2008 à 22:49 Dans un topic qui est censé faire l'éloge du JS, c'est pas dur de deviner les bonnes réponses...
bon sinon, le 1er sondage, corrigé:
[sondage=16099]
Jyaif Le 23/07/2008 à 22:55 Ah je vois, toi tu veux carrement utilisé du JS pour coder des appli desktop.
C'est quoi l'avantage du JS par rapport au python par ex?
Zeph Le 23/07/2008 à 23:40 je comprends pas trop l'intérêt des questions du topic, faire découvrir ce qu'est le JS ? c'est un langage que je trouve assez beau et c'est dommage que son utilisation soit restreinte à des effets pourris dans des pages web vu sa puissance, mais quel est le but de la discussion en fait ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
onur Le 24/07/2008 à 00:06 Et c'est pas parce que Firefox rame que le javascript rame (cf. spidermonkey utilisé embedded dans d'autres applis)
Tout ce qui passe pas par le port 80, c'est de la triche.
Zeph Le 24/07/2008 à 00:11 C'est plus très frais dans ma tête, mais à l'inverse j'avais été assez déçu par les derniers ajouts que j'avais lus sur le JS, ça ajoutait pour moi autant de bonnes choses (assignation déstructurante, yield) que de mauvaises (les générateurs de tableaux, l'horrible "let"...). D'ailleurs y'a pas que dans les nouveautés qu'il y a des défauts, je trouve les prototypes assez peu élégants, et le fait que le ";" soit facultatif change parfois la signification du code en fonction de certains retours à la ligne.
(à part ça, je comprends pas la pertinence de la remarque "tel langage rame"... ça n'a tout simplement aucun sens, une VM peut ramer, un compilo peut produire un code pourri, mais un langage ?)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
onur Le 24/07/2008 à 00:24 Zephyr > oui oui je suis assez d'accord avec ce que tu dis. un langage ne rame pas, c'est le VM qui rame (quand je compare avec le java, je compare les VM, j'ai bien précisé), et dans le cas de Firefox, c'est meme pas le VM qui rame (qui est bien fait) c'est le html renderer qui est (très) gourmand.
Pour les prototypes: je suis pas d'accord, c'est justement le coeur du javascript. On fait dériver des objets et non pas des classes (puisque chaque objet est "dynamique" et peut changer de forme, de nombre d'attributs à l'execution etc.) et c'est justement ce qui fait la beauté de ce langage et/ou en tout cas, qui fait sa spécificité.
le "let" n'existe pas (encore), pas dans les implémentations les plus utilisés en tout cas.
pour le point virgule optionnel, complètement d'accord, mais bon ça c'est un cadeau pour les gamins qui s'amusent en faire pour faire des popups sur leurs sites justement.
Ce qui est peu élégant, c'est plutot la contradiction avec sa nature basé prototype et l'existence du mot clé "new" (je l'utilise bcp parce que le code est plus clair, mais si on poussait la philosophie du js à fond, on devrait l'interdire ce mot clé) et dans les modifications prévues il y a des choses qui plaisent pas du tout aux puristes amoureux de javascript: l'ajout de "class", possibilité de déclarer une "classe" quoi. Ca brise encore plus sa vraie distinction qui fait toute sa puissance, et ça rend la notion d'héritage objet à objet plus floue qu'autre chose.
Tout ce qui passe pas par le port 80, c'est de la triche.
Zeph Le 24/07/2008 à 00:59 pour l'histoire du "prototype", ce n'est pas le fonctionnement que je remet en cause, juste la syntaxe (donc vraiment un détail finalement) : spécifier le prototype avec une syntaxe qui ressemble à un membre de classe, c'est pas super beau.
(sinon globalement d'accord avec le reste)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
AMHA, le JS sert avant tout à faire des applications qui se prennent pour des sites web ou des sites web qui se prennent pour des applications. Ça crée des mélanges entre les 2 concepts qui réunissent les désavantages des deux: le bouton pour revenir en arrière ne fonctionne pas comme on l'attendrait d'un site, on est dépendants d'un serveur et d'une connexion à Internet comme pour un site, mais on peut aussi avoir des problèmes de compatibilité avec sa machine comme pour une application etc., et qui en rajoutent d'autres, genre la lenteur. Donc, toujours AMHA, il faut choisir:
* soit on fait un site, alors tout le code a sa place du côté serveur (et à ce moment-là, vous avez le choix du langage de programmation, le client recevra toujours du HTML),
* soit un fait une application, alors tout le code a sa place du côté client, et AMHA le meilleur choix est en un langage compilé (en code natif; ça élimine le JS) et multiplateforme (je propose le C++ avec KDE 4, ou éventuellement le ISO C99 pour ce qui n'a pas besoin d'interface graphique) et une licence libre (je propose la GNU GPL, avec une version minimum imposée, mais pas de version maximum (donc GPL>=2 ou GPL>=3)).

onur Le 24/07/2008 à 09:18 Jyaif > Tu te souviens mal rour ETP, c'est le test proposé par Kevin qui avait permis de conclure le x1,2. Moi le bench que j'avais fait, c'était fibonnaci récursive, les tests étaient plutots concluants (je me souviens plus des chiffres) mais pareil c'est dans l'autre extrémité, c'est un cas qu'on rencontrera jamais dans les jeux.
Sinon, non ce n'est pas à cause de l'élégance "mathématique" que j'aime ce langage, d'ailleurs je vois pas où y a les maths dedans. Et "un langage où on peut faire tout et n'importe quoi", c'est ce qu'on appelle un langage dynamique et c'est le cas de JS, c'est à toi de faire attention qu'il y ait pas n'importe quoi à l'execution.
Jyaif & KK > C'est clair que si on veut du typage fort et détecter un max d'erreur à la compilation, il faut choisir le C++. C'est d'ailleurs toujours mon langage préféré. Mais parfois, c'est bien d'avoir un langage de script sous la main, et j'en connais pas qui soit aussi puissant que le JS. Par exemple, Firefox que vous aimez tant est écrit en C++ ET en JS. Certaines parties du code sont en javascript executé (avec un niveau de permission plus élevé que les javascript des pages web bien entendu).
Zeph > Ok.
Tout ce qui passe pas par le port 80, c'est de la triche.
lua on peut c'est sur.
ça me parait intéressant, mais utilisé à tort, on peut faire de belles conneries je pense. Bien utilisé oui ça sert aux events de javascript mais sinon je vois pas trop l'intéret.
onur Le 24/07/2008 à 20:48 Je pense que tu as mal appri le javascript. Pourquoi tu n'utilisais pas les classes? C'est pas parce qu'il n'y a pas de mot clé class qu'il n'y a pas d'objet. On peut tout à fait faire du modulaire en js, meme dans la version 1.5.
Tout ce qui passe pas par le port 80, c'est de la triche.