¿Vale la pena aprender JavaScript si no planeas ser un desarrollador web?

26

Escuché que Javascript es un lenguaje completo al igual que c ++. ¿Es esto cierto? ¿Qué más es bueno para programar además de cosas web?

Mate
fuente
en realidad solo es bueno para los productos web, ya que requiere algún tipo de analizador, la mayoría de los cuales solo están integrados en los navegadores web. Quiero decir, podrías construir tu propio analizador JS para uso en escritorio, pero no usaría la mayoría de javascript, que interactúa con el html en tu página ...
dkuntz2
3
@ DKuntz2 Creo que Chrome V8 JS Engine es una biblioteca independiente y puede reutilizarla en una aplicación de escritorio. Aún tendría que desarrollar su propia API. Enlace: code.google.com/apis/v8/embed.html
Vitor Py
1
También hay spidermonkeyque es Mozillas javascriptparser. También es independiente y se puede usar en cualquier aplicación.
jgauffin
@ dkuntz2 Javascript no solo es bueno para "material web": utilizo node.js como herramienta de creación de scripts de propósito general y para desarrollar aplicaciones de escritorio.
Anderson Green
@VitorBraga Creo que desarrollar aplicaciones con node.js sería una buena opción: tiene un conjunto integral de bibliotecas que son útiles para tareas de creación de scripts de propósito general, como edición de imágenes y lectura / escritura de archivos.
Anderson Green

Respuestas:

23

Creo que vale la pena aprender porque es bastante diferente a su lenguaje OO común y corriente, al menos, aprenderá un paradigma de programación diferente.

¿Puede ser útil en otro lugar que no sea en el navegador? Claro: echa un vistazo a node.js , que utiliza la asincronicidad de javascript para crear una plataforma de desarrollo puramente no bloqueante, y couchapps , que te permite crear una aplicación web completa con él.

Si crees en algunas personas, javascript será el principal lenguaje de desarrollo futuro, simplemente por su amplio uso. Es, con mucho, el idioma más popular en github, y casi todos los desarrolladores tienen alguna exposición a él. Con proyectos como node.js, javascript tiene un futuro interesante.

Ben Hughes
fuente
3

Si bien Javascript es un lenguaje sintáctico completo, orientado a objetos, etc., en su mayoría carece de bibliotecas para interactuar con cosas que aún no están integradas. Está bien diseñado para acceder y modificar datos XML, por ejemplo, pero realmente no proporciona muchas interfaces al hardware

Esta pregunta sobre el desbordamiento de pila aborda algunos ejemplos de dónde está y puede usarse fuera de la programación web.

Miguel
fuente
2

Diría que vale la pena aprender un lenguaje con capacidades dinámicas y funcionales, pero no necesariamente tiene que ser Javascript.

LISP lleva los conceptos anteriores mucho más lejos que Javascript, por lo que se considera un excelente lenguaje para aprender, incluso si nunca necesita usar LISP.

jonathanconway
fuente
2

JavaScript se puede utilizar para secuencias de comandos de shell "listas para usar" en Windows y Mac:

En mi opinión, en Windows es la opción más apetecible, porque las alternativas son archivos VBScript y BAT (al menos si no puede confiar en instalaciones adicionales).

Joeri Sebrechts
fuente
También hay PowerShell en Windows.
JBRWilkinson
PowerShell no está instalado de manera predeterminada con las versiones de Windows anteriores a 2008/7, que yo sepa.
Joeri Sebrechts
2

Javascript también se usa para los scripts de Greasemonkey que puede usar para personalizar o agregar funcionalidad a los sitios que visita. (Ese enlace apunta a la extensión de Firefox, pero también está disponible para otros navegadores)

Técnicamente, por supuesto, esto sigue siendo "material web", pero es diferente en que los desarrolladores web no son los (únicos) que lo usan.

Fritas
fuente
1

No vale la pena aprender más allá de lo básico.

Incluso si trabaja en aplicaciones web, pero en el backend, dedique sus recursos de aprendizaje en temas más relacionados con su campo. Javascript es solo otro idioma sin mensaje especial que lo enriquecerá significativamente.

Llistes Sugra
fuente
2
Estoy en desacuerdo. Es el único lenguaje extendido basado en prototipos. Además, entre los idiomas extendidos, tiene uno de los mejores soportes para cierres. Entonces uno puede aprender algo valioso usándolo. Finalmente, es increíblemente rápido para un lenguaje interpretado.
Andrea
@Llistes_Sugra Si realmente sostiene y cree esa opinión, no sabe lo suficiente sobre JavaScript. Le recomiendo que aprenda más al respecto y vea si desea revisar esta opinión; Estoy casi seguro de que lo harás
Jay
1

Hay otras tecnologías basadas en Javascript que podría aprender en su lugar si lo desea. Aprenderlos al menos le permitirá comprender la sintaxis de JavaScript cuando lo encuentre leyendo el código fuente de las páginas web. Y admitámoslo, todos decimos que nunca vamos a hacer X , pero al final en algún momento siempre lo hacemos. Por lo menos un poco.

Un buen lenguaje similar a javascript para revisar es el nuevo lenguaje QML de Qt , que es una sintaxis similar a javascirpt pero para una GUI de aplicación normal. Es muy interesante jugar con él, y aprenderás algunos javascript en el proceso de no escribir páginas web.

Wes Hardaker
fuente
1

Iba a agregar esto como un comentario a la respuesta aceptada, pero luego me di cuenta de que podría servir mejor como una respuesta separada. Dicho esto, se entiende más como un complemento de la respuesta aceptada que como una respuesta competitiva.

Extensión de secuencias de comandos

Hay muchos motores Javascript disponibles para la mayoría de los grandes idiomas que puede incorporar en un sistema. Esto lo convierte en una buena opción para ampliar su plataforma con capacidades de secuencias de comandos y supera sin dudas la invención de su propio lenguaje. Al instante obtienes todo el material de aprendizaje, por lo que será mucho más fácil obtener recursos para configurar y escribir tu sistema.

Newtopian
fuente
1

Javascript es un excelente lenguaje básico

Es :

  • poderoso
  • fácil de aprender
  • soporta paradigmas tanto procesales como orientados a objetos
  • es rápido para escribir y comenzar a correr
  • popularizó muchos conceptos del lenguaje moderno: cierres, funciones anónimas, programación asincrónica / basada en eventos, tipos dinámicos / inferencia
  • tiene excelentes herramientas (editores, tiempos de ejecución, herramientas de pelusa, navegadores)
  • tiene un increíble soporte en línea con muchas comunidades activas
  • puede hacer funciones matemáticas
  • tiene habilidades gráficas (a través de HTML / Canvas)
  • puede usarlo para escribir aplicaciones

Personalmente, creo que vale la pena aprenderlo, incluso si no lo usa a diario. Amplía tu mente de tal manera que consideres diferentes soluciones al usar otros lenguajes como C ++ o C #, por ejemplo, Iteración versus solución algorítmica, tipeo dinámico e inferencia de tipos.

He visto a personas usarlo para procesar números / volcados de datos más rápido que las herramientas profesionales, pegando sus datos en un área de texto HTML de una página que habían construido con algún código JS para trabajar a través de los datos.

¿Para qué más es bueno?

Incrustar dentro de otra cosa:

Todas las empresas para las que he trabajado en los últimos 12 años han creado productos comerciales y herramientas de desarrollo interno que utilizaron JavaScript (o pariente cercano - ECMAScript, ActionScript, etc.) como base, ya que era fácil de aprender, había sido fácil- implementaciones integradas (gratuitas) listas para funcionar (SpiderMonkey y Microsoft Active Scripting SDK) y el rendimiento fue "lo suficientemente bueno" para empezar y ha seguido mejorando.

Antes de que jQuery / Prototype y todo el movimiento AJAX aparecieran, la elección de JS no parecía obvia: ¿por qué no usar VBA (estremecimiento), algo lex + yaccable o rodar su propio idioma? El poder de JS como lenguaje combinado con ricos widgets / frameworks significaba que no se necesitaba escribir mucho código, por lo que una solución estándar era atractiva ya que se podía gastar más esfuerzo en el resto del producto.

A medida que el lenguaje ha aumentado en capacidad y velocidad, la apuesta en JS ha dado sus frutos. Con más desarrolladores capaces de asimilar JS, la contratación también es más fácil.

JBRWilkinson
fuente