Durante mis años de desarrollo web con JavaScript, llegué a la conclusión de que es un lenguaje increíblemente poderoso y que puedes hacer cosas increíbles con él.
Ofrece un rico conjunto de características, como:
- Escritura dinámica
- Funciones de primera clase
- Funciones anidadas
- Cierres
- Funciones como métodos
- Funciones como constructores de objetos
- Basado en prototipos
- Basado en objetos (casi todo es un objeto)
- Regex
- Arreglos y objetos literales
Me parece que casi todo se puede lograr con este tipo de lenguaje, también puede emular la programación OO, ya que proporciona una gran libertad y muchos estilos de codificación diferentes.
Con funcionalidades personalizadas más orientadas al software (E / S, FileSystem, dispositivos de entrada, etc.) creo que será genial desarrollar aplicaciones.
Sin embargo, hasta donde yo sé, solo se usa en el desarrollo web o en los softwares existentes solo como lenguaje de script.
Solo recientemente, tal vez gracias al motor V8, se ha utilizado más para otro tipo de tareas (ver node.js, por ejemplo).
¿Por qué hasta ahora solo se relega al desarrollo web? ¿Qué lo mantiene alejado del desarrollo de software?
Respuestas:
Recientemente node.js ha llevado adelante el desarrollo del lado del servidor. Entonces, ahora es posible escribir JavaScript, para el desarrollo.
Es verdad. En la historia, no se ha utilizado como lenguaje de desarrollo. Pero, oye, incluso las secuencias de comandos en el entorno del cliente (agentes de usuario) es un tipo de desarrollo. ¿No es así?
La razón principal por la que he escuchado y leído en muchos blogs es que la gente no sabía sobre su poder y singularidad hasta los últimos años . Lo que hizo que esto sucediera fue que quizás otros idiomas estaban haciendo su trabajo lo suficientemente bien y nadie pensó en hacer algo paralelo.
fuente
Desde aquí :
fuente
¿Por qué?
JavaScript, el lenguaje más incomprendido
Estábamos en la edad oscura y todavía estamos para que la comunidad de desarrollo general acepte que JavaScript es un lenguaje poderoso y versátil. Simplemente no es convencional.
El único avance reciente es que node.js se ha vuelto ruidoso y la gente está comenzando a aceptar que JavaScript tiene otros usos.
Estuve vigilando el desarrollo de JS y HTML5 para Windows 8 y la reacción de la comunidad .NET fue "querido Dios, ¿por qué?".
Es simplemente un hecho que la mayoría de los desarrolladores que no son web todavía ven JavaScript como el lenguaje de juguete que usas para hacer que esos menús se desplacen por los navegadores.
Es cierto que JavaScript no se alinea con las "prácticas modernas de desarrollo". Para mí, JavaScript sigue siendo un lenguaje de pirateo que descifro con vim e Internet es mi documentación. No hay IDE, no hay herramientas de desarrollo, no hay autocompletado o "intellisense", no hay GUI de clic y arrastre.
En el mundo de los desarrolladores de Java y .NET, están conectados a sus GUI e IDE y no podrán programar en vim.
fuente
Su lista no contiene nada sobre escribir archivos en el sistema, que es una parte masiva del desarrollo de software.
La gente no pensaría en usar JS para construir una aplicación porque es el lenguaje de scripting de facto para la web, y siempre usaría la herramienta adecuada para el trabajo.
¿Por qué escribir acres de JS para escribir un archivo cuando es una operación trivial en Java / .NET / C / C ++?
Dicho esto, como otros han mencionado, node.js y sus bibliotecas han hecho que las operaciones del lado del servidor sean triviales y con node.js popularizándose, aprenderlo se convertirá en una habilidad para un CV, ya que podrá mantener / extender / construir aplicaciones con ella.
fuente
Writing files to the file system has been replaced with HTTP POST.
No si estás escribiendo las API que manejan las publicaciones.La mayoría de los idiomas de uso común son más potentes y están mejor diseñados que JavaScript. Todas las características que menciona son compatibles con otros lenguajes dinámicos como Python o Ruby, que en general están mejor diseñados. Y de todas formas, algunas de las funciones que menciona no son necesariamente deseables: muchos considerarían que la escritura estática con inferencia de tipos es preferible a la escritura dinámica, si tiene la opción.
No estoy diciendo esto para diss JavaScript. Disfruto bastante trabajando con JS cuando desarrollo web. Pero mirándolo objetivamente, JS tiene una serie de inconvenientes en comparación con otros idiomas:
La única característica que realmente diferencia a JavaScript de otros lenguajes modernos es la herencia basada en prototipos (a diferencia de la basada en clases), y la ventaja de este modelo es dudosa, ya que todos lo usan para emular una herencia basada en clases de todos modos.
Simplemente no hay razón para elegir JavaScript si tiene la opción de elegir otro idioma moderno. La única razón sería si fuera el único idioma que conoces.
fuente