|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
Depuis un moment déjà, j'aimerais faire évoluer le javascript.
Javascript est un bon langage , son coté fonctionnelle par exemple est excellent, mais il manque de rigueur via notamment un typage fort Le principe serait donc de garder le modèle à prototype dynamique , mais aussi d'inclure un système de classe a héritage multiple, permettant le refactoring, l’auto-complétion, et l'aide à la programmation et au débogage via un IDE.Des valeurs par défauts pour les arguments aussi , et pourquoi pas du sucre syntaxique comme on peux le voir en phyton ou ruby par exemple. Le langage serait donc une surcouche au javascript, sa compilation devrait donc être aisé. La compilation ne devrait pas tant prendre en compte la visibilités des membres (public, private , protected ... ), mais bien de se servir de se nouveau langage pour améliorer ses développements via l'ide, sans trop atténuer les performances. Bien sur il faudrait une gestion de package, modules , ou l'on puisse identifié qu'elle seront les membre exportable. Et pourquoi pas inclure les génériques ... un exemple de se nouveau langage pourrait être : Code :
C'est bien sur un projet très très très ambitieux Ce projet n'est qu'une ébauche, et je cherche des gens pour m'aider, et ou, proposer de nouvelle idées. Je sais qu'il existe déjà certain projet de ce type, mais peux me satisfont vraiment. Notamment à cause de l’héritage multiple. Ce projet m'est venue grâce au projet xtext, un plugin d'eclipse, qui permet de facilement (tout est relatif ) développer ce genre de langage. Un article d'introduction à été déposé sur dvp icihttp://gkemayo.developpez.com/eclipse/intro-xtext/ J'espère que certains d'entre vous seront intérréssé... il me faudra des mois voir des années pour aboutir à un tel projet, si je ne l'abandonne pas, malgrès qu'il me tiens à coeur. Alors si vous vous sentez pret ....
|
||
|
|
31
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 844 ![]() |
Salut,
Gros projet en perspective. Je suis d'accord pour dire que Javascript est loin d'être parfait... Mais pourquoi le complexifier ainsi ? Et pour quel résultat ? Du Java indigeste ? Je trouve formidable que les langages comme Java ou C# proposent aujourd'hui des côtés dynamiques mais fortement typés (Groovy, Scala) alors pourquoi Javascript devrait il aller en sens inverse (encore une fois je suis concient que ce n'est pas parfait) ? Code :
Par contre je suis d'accord pour améliorer l'édition dans les IDE, même si là aussi de très gros progrès ont été réalisés, il suffit de voir IntelliJ Idea ou Webstorm de Jetbrains pour s'en convaincre. Enfin, des outils comme CoffeeScript proposent des compléments à JS intéressants, et ne perdons pas de vue que Javascript est aussi apprécié par un nombre important d'"amateurs" qui le pratiquent en partie par copier-coller... Alors de là à ce qu'ils maitrisent la notion de génériques... Bon courage pour ce projet. Bon dev. ERE PS: où en est DART de Google ? Un raz de marée ?
__________________
Quand une tête pense seule, elle devient folle. |
||
|
|
00
|
|
|
#3 | |||
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
Je suis d'accord avec toi sur le fait qu'il existe déjà de nombreuse alternative pour contourner les limites de javascript. Coffeescript, Haxe, GWT,...
une liste non exhaustive se trouve ici Citation:
La compilation du java, du c#, et même depuis peux de scala, vers javascript n'est pas ce que l'on peux dire optimisé. Il faut voir le code source généré pour sans convaincre. Des milliers de ligne pour un simple hello world en Dart (affaire à voir dans quelque mois quand même Ce sont des langages évolué , dans le sens ou ils fournissent des librairies et fonctionnalités standard très fournie, à l'inverse du javascript. C'est pourquoi je pense qu'il ne faille pas partir de tels langage , bien que très attrayant comme un scala ou un c#, mais bien de juste faire évoluer le javascript. Il ne s'agira pas des faire quelque chose de trop complexe. Introduire un typage optionnelle , des arguments nommés , avec valeur par défauts, et des générics, ne devrait pas nuire au performance en soi, mais beaucoup aider les développement lourd... Surtout en ce moment, de la mode du cloud, et de web applications. Xtext permet tout ceci, c'est fonctionnalité sont impressionnante. Et sincèrement, depuis deux jours que je suis dessus, je suis convaincue du la faisabilité du projet. J'en ai même plein la tête ! Étendre les css avec des variables et mixins, faire du fonctionnelle et de l'héritage multiple en java etc...Et surtout construire un vrai framework GUI via mes nouveaux langage web ....y'a du boulot ! Citation:
Citation:
|
|||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 422 ![]() |
objective-J par exemple
franchement je ne vois absolument pas l'intérêt le typage de JS est fonctionnel et souple. il offre comme la plus part des langage à typage faible la possibilité de vérifier les type effectif des objets. je suis toujours étonné de voir ce genre de projet. à chaque fois j'ai plus l'impression qu'il s'agit de volonté de se rapprocher d'un autre langage connu de l'initiateur du projet qu'une réelle réflexion sur le besoin. je ne dis pas que c'est ton cas. mais j'ai toujours cette impression. comme celle de vouloir faire de javascript un langage à base de classe. alors que la notion de prototype est très puissante et efficace dans un contexte de scripting. écrire un DSL (Domain Spécific Language) est très facile avec les langage comme EcmaScript. du coup spécialiser le langage pour un besoin est très facile. toute cette souplesse et la principale force du langage. son typage faible est pour moi un atout à exploiter et non une tare à corriger. je développe aussi dans d'autres langages et quand je vois les contraintes et les centaines de lignes de code que je dois produire parfois car justement le typage fort est plus un problème qu'un bénéfice, je me dis qu'un typage faible est bien pratique. un exemple pour illustrer mon propos L'OASIS nous a pondu une norme SDO pour les objets destiné à transporter de l'info (en opposition aux classes qui contiennent de la logique applicative) les implémentations de ces SDO sont des lib assez conséquentes. en fait il s'agit simplement de définir des structures de données mais les contraintes des langages à typage fort impose de définition complexe. Le typage faible de JS face à un tel besoin est une vrai bénédiction. je dirais donc explore bien tout ce qui se fait dans d'autre domaine, ne perds pas de vu le contexte dans lequel le langage est destiné à s'exécuter et bon courage. A+JYT |
|
|
30
|
|
|
#5 | |||
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
Citation:
Citation:
Les deux forme de typage ont leurs atouts et leurs défauts , il ne s'agirait là que juste allier les deux. J'aimerai aussi faire une approche à la ruby permettant de redéfinir ou ajouter des méthodes et attribues après leurs compilations , donnant un coté dynamique au système de classe ... Citation:
Concernant le contexte d’exécution, on le voit de plus en plus , la mode est au web application, au cloud. Je suis actuellement en train de faire une application sur ext-js de taille moyenne, est un tel cadre de développement m'aurait vraiment aidé. Marre de jongler entre les fichiers pour me rappeler quels attributs sont allouer à tels méthodes, des fautes de frappe que nous fait perdre 15 minutes en débogage ect ... Encore une fois , le but n'est pas de remplacer le système par prototype dynamique du javascript, mais juste de lui inclure un système par classe, optionnelle. merci |
|||
|
|
00
|
|
|
#6 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
![]() Je ne suis pas un professionnel ni un spécialiste des langages, mais j'en ai déjà utilisé quelques-uns. Pour les besoins courants du web, JS et jQuery me suffisent largement Pour un programme plus élaboré, la nouvelle norme ES5.1, déjà largement exploitable sur Chrome et Firefox (je n'en suis qu'à explorer les possibilités), offre une notion objet nettement plus puissante et plus souple. On peut faire de la POO (héritage simple, public, privé, statique), avec une facilité dérisoire. Pour un projet plus complexe, DART pourrait être une solution. Le langage évolue encore, mais avec Chrome et Dart Editor (http://www.dartlang.org/docs/technic...ex.html#editor) on peut déjà facilement tester des bouts de programme. Mais si l'on devait abandonner le JS et révolutionner le web, je serais en faveur de Python sur le navigateur et sur le serveur.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 422 ![]() |
GWT est une approche qui peut t'intéresser
en effet tu écrit en java donc avec toutes les vérifs préliminaires de l'IDE et du Compilo. et le compilateur te produit du javascript qui s'exécute sur le navigateur. concernant ExtJS il y a aussi Ext GWT dans le même ordre d'idée utiliser un langage plus strict pour produire du javascript il y a objective-J qui est un langage semblable à objective-c (proche de smalltalk) qui compilé donne du js enfin tout comme tu l'envisage pour JS la fondation eclipse à démarré un projet basé sur Xtext visant à créer un nouveau langage réunissant les avantages de JS et de Java le point de départ et à l'opposé du tien Java avec moins de bruit et plus de sucre http://www.eclipse.org/Xtext/xtend/ A+JYT |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Emmanuel REMY Inscription : novembre 2005 Messages : 2 844 ![]() |
Sympa l'info pour Xtent !
![]() Mais sincèrement ça commence à me faire sourire tous ces langages du monde Java qui apparaissent ! C'est devenu une vraie mode depuis que Groovy a lancé le départ. Groovy, Scala, Phantom, JRuby, Clojure, Kotlin, Ceylon, Xtent, autant de bonnes initiatives mais sincèrement pour quel résultat dans le monde pro (malheureusement peut-être, mais la réalité du marché est aussi là pour en témoigner) ? Prenez les offres d'emploi des Jeudi ou de Monster et regardez... Combien d'offres pour Scala par exemple ? Et essayez de faire comprendre à un DSI que Clojure c'est génial Evidemment on n'en serait pas là si Java avait su répondre rapidement à des besoins, mais quand même il ne serait pas très bon de reproduire la même chose en JS et commencer à segmenter de la même façon. ERE
__________________
Quand une tête pense seule, elle devient folle. |
|
|
00
|
|
|
#9 | |||
|
Membre éclairé
![]() Inscription : février 2009 Messages : 318 ![]() |
@danielhagnoul
Code :
Pour un programme plus élaboré, la nouvelle norme ES5.1, déjà largement exploitable sur Chrome et Firefox (je n'en suis qu'à explorer les possibilités), offre une notion objet nettement plus puissante et plus souple. On peut faire de la POO (héritage simple, public, privé, statique), avec une facilité dérisoire. Les getters permettent aussi de simuler les système de visibilité des membres. Mais sinon Javascript est déjà un langage orienté objet, mais bien différent que celui par class... @sekaijin Citation:
![]() Par contre pour objective-J , et si celui ci ressemble beaucoup à objective-c, j'ai même pas envie d'y jeter un oeil. Trop lourd , une syntaxe spéciale... Tout un langage à apprendre ... Xtend à l'aire vraiment sympas. Je vais m'y pencher dessus sérieusement, histoire de lui piquer des idées La syntaxe fait bizarrement penser à celle de xtext, et le nom aussi. Les deux doivent surement être liée... @emmanuel.remy Citation:
@emmanuel.remy Citation:
Le javascript prend la même tournure, la liste que j'ai fournie au début de thread en est la preuve. Je pense pas que ce soit un mal , bien au contraire. D'ailleurs j'en serais pas là sinon ,) |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com