Au cours de mes années de développement Web avec JavaScript, je conclus que c'est un langage incroyablement puissant et que vous pouvez faire des choses incroyables avec lui.
Il offre un riche ensemble de fonctionnalités, telles que:
- Typage dynamique
- Fonctions de première classe
- Fonctions imbriquées
- Fermetures
- Fonctions comme méthodes
- Fonctionne comme constructeur d'objet
- Basé sur un prototype
- Basé sur des objets (presque tout est un objet)
- Regex
- Littéraux de tableau et d'objets
Il me semble que presque tout peut être réalisé avec ce type de langage, vous pouvez également émuler la programmation OO, car il offre une grande liberté et de nombreux styles de codage différents.
Avec plus de fonctionnalités personnalisées orientées logiciel (E / S, FileSystem, périphériques d'entrée, etc.), je pense que ce sera génial de développer des applications avec.
Cependant, pour autant que je sache, il n'est utilisé que dans le développement Web ou dans les logiciels existants en tant que langage de script.
Ce n'est que récemment, peut-être grâce au moteur V8, qu'il a été davantage utilisé pour d'autres types de tâches (voir node.js par exemple).
Pourquoi jusqu'à présent, il n'est relégué qu'au développement Web? Qu'est-ce qui l'éloigne du développement logiciel?
Réponses:
Récemment, node.js a fait avancer le développement côté serveur. Il est donc désormais possible d'écrire du JavaScript pour le développement.
C'est vrai. Dans l'histoire, il n'a pas été utilisé comme langage de développement. Mais bon, même l'écriture de scripts en environnement client (User Agents) est un type de développement. N'est-ce pas?
La principale raison pour laquelle j'ai entendu et lu dans de nombreux blogs, c'est que les gens ne connaissaient pas son pouvoir et son caractère unique jusqu'à ces dernières années . Ce qui a rendu cela possible, c'est peut-être que d'autres langues faisaient assez bien leur travail, et personne n'a jamais pensé à faire quelque chose de parallèle.
la source
D' ici :
la source
Pourquoi?
JavaScript, la langue la plus mal comprise
Nous étions dans les âges sombres et sommes toujours pour la communauté de développement général d'accepter que JavaScript est un langage puissant et polyvalent. Ce n'est tout simplement pas courant.
La seule avancée récente est que node.js est devenu un buzz et les gens commencent à accepter que javascript ait d'autres utilisations.
J'ai gardé un œil sur le développement JS et HTML5 pour Windows 8 et la réaction de la communauté .NET était "mon dieu pourquoi?".
C'est tout simplement le fait que la plupart des développeurs non Web voient toujours JavaScript comme le langage de jouet que vous utilisez pour faire défiler les menus dans vos navigateurs.
Certes, JavaScript ne correspond pas aux "pratiques de développement modernes". Pour moi, JavaScript est toujours un langage de piratage que je craque avec vim et Internet est ma documentation. Il n'y a pas d'IDE, il n'y a pas d'outils de développement, il n'y a pas d'auto-complétion ou d '"intellisense", il n'y a pas de GUI click and drag.
Dans le monde des développeurs Java et .NET, ils sont connectés à leurs interfaces graphiques et IDE et ne pourraient pas programmer dans vim.
la source
Votre liste ne contient rien sur l'écriture de fichiers dans le système, ce qui représente une partie importante du développement logiciel.
Les gens ne penseraient pas à utiliser JS pour créer une application car c'est le langage de script de facto pour le web, et vous utiliseriez toujours le bon outil pour le travail.
Pourquoi écrire des hectares de JS pour écrire un fichier alors qu'il s'agit d'une opération banale en Java / .NET / C / C ++?
Cela dit, comme d'autres l'ont mentionné, node.js et ses bibliothèques ont rendu les opérations côté serveur triviales et avec node.js devenant populaire, apprendre qu'il deviendra une compétence pour un CV, puisque vous pourrez maintenir / étendre / construire applications avec elle.
la source
Writing files to the file system has been replaced with HTTP POST.
Pas si vous écrivez les API qui gèrent les publications.La plupart des langues couramment utilisées sont plus puissantes et mieux conçues que JavaScript. Toutes les fonctionnalités que vous mentionnez sont prises en charge par d'autres langages dynamiques comme Python ou Ruby qui sont globalement mieux conçus. Et certaines des fonctionnalités que vous mentionnez ne sont pas nécessairement souhaitables de toute façon - beaucoup considéreraient le typage statique avec l'inférence de type préférable au typage dynamique, si vous avez le choix.
Je ne dis pas cela pour diss JavaScript. J'aime beaucoup travailler avec JS lors du développement Web. Mais en regardant objectivement, JS a un certain nombre d'inconvénients par rapport aux autres langages:
La seule fonctionnalité qui distingue vraiment JavaScript des autres langages modernes est l'héritage basé sur un prototype (par opposition à basé sur une classe), et l'avantage de ce modèle est douteux car tout le monde l'utilise pour émuler l'héritage basé sur une classe de toute façon.
Il n'y a tout simplement aucune raison de choisir JavaScript si vous avez la possibilité de choisir une autre langue moderne. La seule raison serait que c'était la seule langue que vous connaissez.
la source