¿Es JavaScript el mejor lenguaje porque aparentemente puede desarrollar aplicaciones móviles y web y hacer una pila completa?

No. Cualquiera que diga que cualquier idioma es el mejor está equivocado. Todos tienen sus propósitos.

JavaScript es el único lenguaje para el desarrollo front-end web. Sin embargo, es muy posible que varios lenguajes que se compilan en JavaScript sean más adecuados.

Resulta que también es fácil de usar en el back-end, pero eso no lo hace bueno . Está escrito de forma dinámica y débil, lo cual es horrible para grandes proyectos. Su rendimiento, aparte de la web, no es impresionante. Sus capacidades son limitadas (tenga en cuenta que no fue diseñado para ser un lenguaje de propósito general). Prefiero escribir código del lado del servidor en media docena de otros idiomas (Go, Rust, Python, D, Haskell, C ++ vienen a mi mente, sí, prefiero escribir C ++ que perder el tiempo con JavaScript) y mantener JavaScript únicamente para el front-end Nadie en su sano juicio usa JavaScript fuera de la web.

En pocas palabras, no hay mejor idioma.

Sin embargo, para usted puede haber un mejor idioma, tal como lo hay para mí. Hace dos años (más o menos) descubrí meteor.js y quedé impresionado. En ese momento hice un diseño y desarrollo de interfaz de usuario front-end, pero no era desarrollador. Meteor (y, en menor medida, MEAN) me permitió convertirme en desarrollador trabajando en su entorno de lenguaje único.

Eso fue crucial para mí, ya que provenía de una base de conocimiento de codificación cero, no conocía patrones comunes o antipatrones, no conocía las configuraciones del servidor o la diferencia entre el back-end o el front-end.

En proyectos personales todavía uso meteorito porque estoy solo y es mucho más rápido para mí. Dicho eso …

En mi mundo laboral no utilizo un solo idioma porque simplemente no tiene sentido. Para los sitios web normales, los sitios de pila LAMP aún tienen más sentido porque es probado y verdadero. Para grandes aplicaciones a gran escala, puedo ejecutar django como backend o elegir ruby.

Realmente depende de la tarea que estoy tratando de resolver y cada uno de estos puede alimentar una aplicación móvil / web.

Entonces, para usted, debe decidir qué compensaciones está dispuesto a hacer. ¿Desea utilizar un entorno de un solo idioma para poder poner en funcionamiento su aplicación rápidamente? En ese caso, un entorno todo js tiene sentido. O, ¿estás comenzando y aprendiendo? Una vez más, todos los entornos js tienen sentido aquí.

Sin embargo, si está trabajando con un equipo en el que puede separar las preocupaciones, tal vez debería tener una discusión con el equipo sobre las fortalezas y debilidades de cada enfoque y decidir a partir de ahí qué idioma (s) usar.

Puede hacer una pila completa en cualquier idioma (s). Full stack no se trata solo de software, se trata de negocios y de poder explicarle a una persona no tecnológica las compensaciones técnicas de varios enfoques y elegir el enfoque correcto en función de las decisiones comerciales. Se trata de construir un servidor desde cero (si es necesario) y ajustarlo para la producción. Se trata de escribir un buen código y mantenerlo.

No. JavaScript es un lenguaje. Se puede usar para construir una serie de aplicaciones. Diferentes personas tienen diferentes intereses. Puedo usar c # para crear aplicaciones web y móviles. ¿Eso lo hace mejor? No lo creo.

El objetivo es crear aplicaciones que resuelvan problemas. La pila de tecnología es mucho menos importante que la resolución del problema empresarial.

No, es simplemente el mejor lenguaje para aplicaciones móviles y web y desarrollo completo. No es el mejor idioma para muchas otras cosas, y ni siquiera califica para otros (escribir software financiero y bancario en JS probablemente podría llevarlo a la cárcel).

No. En primer lugar, no existe un “mejor lenguaje” que se destaque sobre todos los demás lenguajes de programación del mundo. Uno puede ser bueno en algo, uno sobresale en otro. Es una cuestión de la herramienta adecuada para el trabajo.

Claro, JavaScript es divertido de hackear (y está por todas partes en este momento), pero actualmente hay alternativas mucho mejores para la informática científica y el desarrollo del sistema operativo, por nombrar algunos.

No, solo se ha implementado en muchas plataformas diferentes.

Además, por supuesto, en la web es el único juego en la ciudad.

En mi humilde opinión (OK, no es tan humilde), JavaScript es un lenguaje de script OK, pero ya no usaría ningún lenguaje escrito dinámicamente para ningún proyecto, ya que estuve allí, lo hice, no lo volvería a hacer.

Como lenguaje completo, para mí JavaScript no es el mejor, y no estaría entre mis mejores 1000.

Si bien tengo que estar de acuerdo en que no hay un mejor idioma, creo que JS es uno de los mejores idiomas, no por lo que dices, sino porque, a diferencia de otros idiomas concurrentes, está orientado a eventos. Esto lo hace muy eficiente para aplicaciones pesadas de entrada y salida y las aplicaciones web están muy basadas en E / S.

Si algún día siente la necesidad de salir de JS / Node por razones de rendimiento, el enfoque más moderno podría ser Scala o Java con Akka, que son tanto concurrentes como orientados a eventos. Sin embargo, perderás la parte de la pila completa.