Le javascript vaut-il la peine d'être appris si vous ne prévoyez pas d'être développeur Web?

26

J'ai entendu que Javascript est un langage complet comme c ++. Est-ce vrai? Quoi d'autre est-il bon pour la programmation en dehors des trucs Web?

Mat
la source
en réalité, il n'est bon que pour les sites Web, car il nécessite une certaine forme d'analyseur, dont la plupart ne sont intégrés qu'aux navigateurs Web. Je veux dire, vous pouvez créer votre propre analyseur JS pour une utilisation sur le bureau, mais il n'utiliserait pas la plupart du javascript, qui interagit avec le html sur votre page ...
dkuntz2
3
@ DKuntz2 Je pense que Chrome V8 JS Engine est une bibliothèque indépendante et vous pouvez la réutiliser dans une application de bureau. Il vous faudrait encore développer votre propre API. Lien: code.google.com/apis/v8/embed.html
Vitor Py
1
Theres également spidermonkeyqui est Mozilla par javascriptparser. Il est également autonome et peut être utilisé dans n'importe quelle application.
jgauffin
@ dkuntz2 Javascript n'est pas seulement bon pour les "trucs Web" - j'utilise node.js comme un outil de script à usage général et pour développer des applications de bureau.
Anderson Green
@VitorBraga Je pense que le développement d'applications avec node.js serait une bonne option - il dispose d'un ensemble complet de bibliothèques qui sont utiles pour les tâches de script à usage général telles que l'édition d'images et la lecture / écriture de fichiers.
Anderson Green

Réponses:

23

Je pense que cela vaut la peine d'être appris, car il est assez différent de votre langage OO ordinaire et, à tout le moins, vous apprendrez un paradigme de programmation différent.

Peut-il être utile ailleurs que dans le navigateur? Bien sûr: consultez node.js , qui utilise l'asyncronicité de javascript pour créer une plate-forme de développement purement non bloquante, et couchapps , qui vous permet de créer une application web entière avec elle.

Si vous croyez certaines personnes, javascript sera le futur langage de développement majeur, uniquement en raison de sa large utilisation. C'est de loin la langue la plus populaire sur github, et presque tous les développeurs y sont exposés. Avec des projets comme node.js, javascript a un avenir intéressant.

Ben Hughes
la source
6

Pour autant que je sache, outre la programmation Web, JavaScript est également utilisé pour un nouvel environnement de bureau. Par exemple, GNOME 3 (un environnement de bureau pour Linux) utilisant JavaScript + CSS pour permettre aux utilisateurs et aux développeurs de personnaliser leur environnement de bureau.

Brian Hsu
la source
KDE peut également le prendre en charge puisque Qt a QtScript mais je n'en suis pas sûr.
Vitor Py
3

Bien que Javascript soit un langage complet syntaxiquement, orienté objet, etc., il manque principalement de bibliothèques pour s'interfacer avec des choses qui ne sont pas déjà intégrées. Il est bien conçu pour accéder et modifier des données XML, par exemple, mais ne fournit pas vraiment de nombreuses interfaces au matériel.

Cette question sur Stack Overflow aborde quelques exemples où il se trouve et peut être utilisé en dehors de la programmation Web.

Michael
la source
2

Je dirais qu'un langage doté de capacités dynamiques et fonctionnelles mérite d'être étudié, mais il ne doit pas nécessairement être Javascript.

LISP prend les concepts ci-dessus beaucoup plus loin que Javascript, et est donc considéré comme un excellent langage à apprendre, même si vous n'avez jamais besoin d'utiliser LISP lui-même.

jonathanconway
la source
2

JavaScript peut être utilisé pour les scripts shell "prêts à l'emploi" sur Windows et Mac:

À mon avis, sous Windows, c'est le choix le plus acceptable, car les alternatives sont les fichiers VBScript et BAT (du moins si vous ne pouvez pas compter sur des installations supplémentaires).

Joeri Sebrechts
la source
Il y a aussi PowerShell sur Windows.
JBRWilkinson
Pour autant que je sache, PowerShell n'est pas installé par défaut avec les versions de fenêtres antérieures à 2008/7.
Joeri Sebrechts
2

Javascript est également utilisé pour les scripts Greasemonkey que vous pouvez utiliser pour personnaliser ou ajouter des fonctionnalités aux sites que vous visitez. (Ce lien pointe vers l'extension Firefox, mais il est également disponible pour d'autres navigateurs)

Techniquement, bien sûr, il s'agit toujours de "trucs Web", mais c'est différent dans la mesure où les développeurs Web ne sont pas (seulement) ceux qui l'utilisent.

Frits
la source
1

Cela ne vaut pas la peine d'apprendre au-delà des bases.

Même si vous travaillez dans des applications Web, mais dans le backend, consacrez vos ressources d'apprentissage à des sujets plus liés à votre domaine. Javascript est juste une autre langue sans message spécial qui vous enrichira considérablement.

Llistes Sugra
la source
2
Je ne suis pas d'accord. C'est le seul langage basé sur un prototype répandu. De plus, parmi les langues répandues, il possède l'un des meilleurs supports pour les fermetures. On peut donc apprendre quelque chose de précieux en l'utilisant. Enfin, il est extrêmement rapide pour un langage interprété.
Andrea
@Llistes_Sugra Si vous tenez sérieusement et croyez cette opinion, vous ne savez pas assez sur JavaScript. Je vous recommande d'en savoir plus à ce sujet et de voir si vous souhaitez réviser cette opinion; Je suis presque certain que vous le ferez
Jay
1

Il existe d'autres technologies basées sur Javascript que vous pourriez apprendre à la place si vous le souhaitez. Les apprendre vous permettrait au moins de comprendre la syntaxe du javascript lorsque vous le parcourez en lisant le code source des pages Web. Et admettons-le, nous disons tous que nous n'allons jamais faire X , mais à la fin, à un moment donné, nous le faisons toujours. Au moins un peu.

Un bon langage de type javascript à vérifier est le nouveau langage QML de Qt , qui est une syntaxe de type javascirpt mais pour une interface graphique d'application normale. C'est très intéressant de jouer avec, et vous apprendrez du javascript dans le processus de non-écriture de pages Web.

Wes Hardaker
la source
1

J'allais ajouter cela en tant que commentaire à la réponse acceptée, mais je me suis ensuite rendu compte qu'il serait peut-être mieux de servir de réponse séparée. Cela dit, il s'agit davantage d'un complément à la réponse acceptée que d'une réponse concurrente.

Extension de script

Il existe de nombreux moteurs Javascript disponibles pour la plupart des grandes langues que vous pouvez intégrer dans un système. Cela en fait un bon choix pour étendre votre plate-forme avec des capacités de script et bat haut la main en inventant votre propre langage. Vous gagnez instantanément tout le matériel d'apprentissage, donc obtenir des ressources pour configurer et scripter votre système sera beaucoup plus facile.

Newtopian
la source
1

Javascript est un excellent langage de base

C'est :

  • puissant
  • Facile à apprendre
  • prend en charge les paradigmes procéduraux et orientés objet
  • est rapide à écrire et à courir
  • vulgarisation de nombreux concepts de langage moderne - fermetures, fonctions anonymes, programmation asynchrone / événementielle, types dynamiques / inférence
  • dispose d'excellents outils (éditeurs, runtimes, outils lint, navigateurs)
  • a un support en ligne incroyable avec beaucoup de communautés actives
  • peut faire des fonctions mathématiques
  • a des capacités graphiques (via HTML / Canvas)
  • peut l'utiliser pour écrire des applications

Personnellement, je crois que cela vaut la peine d'apprendre même si vous ne l'utiliserez pas quotidiennement. Cela élargira votre esprit de telle sorte que vous envisagez différentes solutions lorsque vous utilisez d'autres langages comme C ++ ou C # - par exemple, une solution d'itération par rapport à une solution algorithmique, un typage dynamique et une inférence de type.

J'ai vu des gens l'utiliser pour analyser des données / vidages de données plus rapidement que des outils professionnels, en collant leurs données dans une zone de texte HTML d'une page qu'ils avaient construite avec du code JS derrière pour travailler à travers les données.

À quoi d'autre est-il bon?

Intégration dans autre chose:

Toutes les entreprises pour lesquelles j'ai travaillé au cours des 12 dernières années ont construit à la fois des produits commerciaux et des outils de développement interne qui utilisent JavaScript (ou un proche parent - ECMAScript, ActionScript, etc.) comme base car il était facile à apprendre, avait facilement- des implémentations intégrées (gratuites) prêtes à l'emploi (SpiderMonkey et Microsoft Active Scripting SDK) et les performances étaient «assez bonnes» pour commencer et n'ont cessé de s'améliorer.

Avant jQuery / Prototype et l'ensemble du mouvement AJAX, le choix de JS ne semblait pas évident - pourquoi ne pas utiliser VBA (shudder), quelque chose de lex + yacc ou capable de rouler votre propre langue? La puissance de JS en tant que langage combiné à des widgets / frameworks riches signifiait qu'il n'était pas nécessaire d'écrire beaucoup de code, donc une solution standard était attrayante car plus d'efforts pouvaient être consacrés au reste du produit.

Comme la langue a augmenté en capacité et en vitesse, le pari sur JS a porté ses fruits. Avec plus de développeurs capables de grok JS, l'embauche est également plus facile.

JBRWilkinson
la source