He estado hablando con un amigo sobre el propósito de Javascript, cuándo y cómo debería usarse, etc. Citó eso:
JavaScript fue diseñado para agregar interactividad a las páginas HTML
[...]
JavaScript proporciona a los diseñadores HTML una herramienta de programación
- Los autores HTML normalmente no son programadores, ¡pero JavaScript es un lenguaje de script con una sintaxis muy simple! Casi cualquiera puede poner pequeños "fragmentos" de código en sus páginas HTML. JavaScript puede reaccionar a los eventos.
- Se puede configurar un JavaScript para que se ejecute cuando sucede algo, como cuando una página ha terminado de cargarse o cuando un usuario hace clic en un elemento HTML. JavaScript puede leer y escribir elementos HTML
- Un JavaScript puede leer y cambiar el contenido de un elemento HTML. JavaScript puede usarse para validar datos
- Se puede usar un JavaScript para validar los datos del formulario antes de enviarlo a un servidor. Esto salva al servidor del procesamiento adicional
- JavaScript se puede usar para detectar el navegador del visitante: se puede usar un JavaScript para detectar el navegador del visitante y, según el navegador, cargar otra página específicamente diseñada para ese navegador.
- Se puede usar JavaScript para crear cookies: se puede usar un JavaScript para almacenar y recuperar información en la computadora del visitante.
Sin embargo, parece que Javascript se está acostumbrando a hacer mucho más que en estos días. Mi amigo también aboga contra el uso de la funcionalidad OOP de Javascript, alegando que "no debería estar procesando datos, simplemente validando". ¿Está Javascript realmente limitado a validar datos y hacer gráficos llamativos en una página web?
Continúa afirmando "no deberías intentar acceder a las bases de datos a través de javascript" y también dice "en general no quieres hacer tu trabajo pesado en javascript". No puedo decir que esté de acuerdo con su opinión, pero me gustaría obtener más información sobre esto.
Entonces, mi pregunta: ¿Ha evolucionado Javascript de la definición anterior a algo más poderoso, ha cambiado la forma en que lo usamos, o simplemente estoy equivocado? Si bien me doy cuenta de que esta es una pregunta subjetiva, no puedo encontrar más información al respecto, por lo que algunos enlaces serían buenos, si nada más. No estoy buscando un debate, solo una respuesta.
fuente
Respuestas:
Las personas que piensan que JavaScript no es un lenguaje de programación son personas que opinan que JavaScript no debe respetar.
JavaScript es un lenguaje que ha crecido orgánicamente inspirado por la semántica de Scheme y la sintaxis de Java. Su propósito original no era general, pero ahora ha crecido hasta serlo.
JavaScript como lenguaje es adecuado para realizar casi cualquier tarea si es adecuada para ello. Eche un vistazo a ejemplos como node.js donde JavaScript tiene acceso al entorno host que consiste en la funcionalidad IO que le permite ser utilizado para la programación genérica del lado del servidor
No, JavaScript es un lenguaje de programación, si desea representar estructuras de datos, algoritmos y lógica, utilice las herramientas que ofrece el lenguaje. Específicamente, las funciones y prototipos de primera clase son herramientas poderosas.
Incorrecto, en el navegador tenemos una base de datos llamada indexedDB a la que accedemos con JavaScript. Es una base de datos integrada directamente en el navegador y si desea usarla (y debería hacerlo), entonces usa JavaScript.
También tenga en cuenta que tanto mongodb como couchdb le permiten usar javascript para ejecutar consultas adhoc en la base de datos directamente.
En cuanto a levantar objetos pesados, tiene razón en parte. Si estás haciendo trabajo pesado, deberías hacerlo en C o erlang. Aunque tenga en cuenta que el término "levantar objetos pesados" es vago, por ejemplo, no codificaría ni decodificaría videos en JavaScript, no haría el procesamiento de imágenes en JavaScript (use C). No haría ningún número de crujido en JavaScript (use fortran).
JavaScript se escribió en un período de 2 semanas solo para incluir funcionalidades menores de secuencias de comandos en HTML. Desde entonces ha crecido severamente. Desde ES3 (1999) ha sido un poderoso lenguaje de programación de propósito general.
fuente
La visión de su amigo es efectivamente muy obsoleta y echa de menos todo lo que sucedió desde que Google lanzó GMail.
Ahora, ¿significa esto que Javascript se desarrolló más allá de lo que fue diseñado originalmente para hacer? Algo así como. Pero no olvide que el diseño cambió mientras tanto, y cambiará en el futuro de acuerdo con las nuevas necesidades de los desarrolladores. Esto también es válido para otros idiomas populares. Por ejemplo, cuando se lanzó la primera versión de C #, nadie esperaría permitir código dinámico en el diseño. Ahora DLR está disponible por algunos años.
fuente
El lenguaje siempre va más allá de lo que pensábamos al principio. Hable con alguien al comienzo de C (o C ++), ¿alguien pensó que el lenguaje se encontrará en casi todas partes ahora? No lo creo.
Cada idioma gana para aprender más / impulsar más.
Estoy de acuerdo en que Javascript era / aún era un idioma subestimado, su amigo no es el único. El problema no es pensar que el lenguaje X o Y es malo / inútil, el problema es mantener esta idea para siempre. En informática / TI, todo cambia rápidamente, y seguirá cambiando mucho en el futuro.
Por eso es importante seguir aprendiendo / pensar fuera de la caja ...
fuente