CodeGym /Blog Java /Random-ES /Revel sobre Java y JavaScript
John Squirrels
Nivel 41
San Francisco

Revel sobre Java y JavaScript

Publicado en el grupo Random-ES

¿QUE ES JAVA?

Java es un lenguaje de programación de propósito general diseñado con un mantra en mente: " escribe una vez, ejecuta en cualquier lugar ". Las aplicaciones Java se compilan en bytecode que se pueden ejecutar en implementaciones de Java Virtual Machine (JVM). JVM ayuda a cerrar la brecha entre el código fuente y los 1 y 0 que entiende la computadora. Cualquier máquina que tenga instalada la JVM puede ejecutar Java. En el desarrollo web, Java ocupa un lugar destacado como lenguaje del lado del servidor y el lenguaje de programación elegido para aplicaciones móviles en la plataforma Android. Todavía tiene una presencia decente en el front-end como un subprograma de Java, aunque esto está cayendo en desgracia debido a problemas de seguridad.

¿QUÉ ES JAVASCRIPT?

Junto con HTML y CSS, JavaScript (estandarizado como ECMAScript) se considera uno de los tres grandes componentes centrales de la web. Empleado por la mayoría de los sitios web, JavaScript es un lenguaje de secuencias de comandos que generalmente se ejecuta en el navegador y hace que las páginas web sean dinámicas e interactivas. Actualmente, JavaScript también está creciendo rápidamente como tecnología del lado del servidor desde el lanzamiento de Node.js en 2009.

JAVA VS. JAVASCRIPT: PRINCIPALES SIMILITUDES

Tan diferentes como son, hay algunas similitudes de alto nivel que vale la pena considerar, especialmente si está buscando desarrollo web al comparar Java con JavaScript. Programación Orientada a Objetos (OOP) . Ambos lenguajes requieren que el desarrollador codifique en términos de objetos y sus relaciones entre sí. Por extensión, esto le da a ambos lenguajes acceso a técnicas como herencia, encapsulación y polimorfismo. Desarrollo Front End . Ambos lenguajes se pueden usar en aspectos del desarrollo front-end. JavaScript se puede incrustar directamente en HTML, implementar como un marco o biblioteca; Java se puede utilizar como un applet de Java. Desarrollo de back-end. Ambos idiomas se pueden utilizar en el lado del servidor. Java se ha utilizado durante mucho tiempo para impulsar tecnologías de back-end como Apache, JBoss y WebSphere. Node.js se ha convertido en una plataforma de lanzamiento para servidores basados ​​en JavaScript

JAVA VS. JAVASCRIPT: PRINCIPALES DIFERENCIAS

Es importante recordar que Java y JavaScript se desarrollaron para cumplir propósitos completamente diferentes. Java fue diseñado como un lenguaje de programación de propósito general para crear aplicaciones independientes, mientras que JavaScript es un lenguaje de secuencias de comandos creado específicamente para interactuar con tecnologías web, a saber, HTML. Cuando Sun lanzó Java en 1991, inicialmente se usaba para programar productos electrónicos de consumo como VCR. JavaScript se introdujo para usarse con Java como un lenguaje de secuencias de comandos del lado del cliente que podría ejecutarse en el navegador sin tener que compilarlo. Echemos un vistazo más de cerca a algunas de las principales diferencias entre estos dos idiomas. Compilado vs. Interpretado.Java se considera un lenguaje de programación compilado. JavaScript se considera un lenguaje de secuencias de comandos interpretado. La diferencia está en la implementación: Java se compila en un código de bytes y se ejecuta en una máquina virtual, mientras que JavaScript puede ser interpretado directamente por un navegador en la sintaxis en la que está escrito (aunque generalmente se minimiza en la práctica). Comprobación de tipos estáticos y dinámicos. Java utiliza la verificación de tipo estático, donde el tipo de una variable se verifica en tiempo de compilación. El programador debe especificar el tipo (entero, doble, cadena, etc.) de cualquier variable que cree. JavaScript, como la mayoría de los lenguajes de secuencias de comandos, utiliza escritura dinámica, donde la seguridad de tipos se verifica en tiempo de ejecución. No es necesario que un programador especifique el tipo de cualquier variable que cree. Hay muchos pros y contras para estos dos paradigmas, pero la principal ventaja de la verificación de tipo estático es que los errores de tipo se detectan temprano en el desarrollo y, debido a que el compilador sabe exactamente qué tipos de datos se están utilizando, el código generalmente se ejecuta más rápido o usa menos memoria. . La principal ventaja de la verificación dinámica de tipos es la productividad del programador: puede asignar tipos cuando lo desee. concurrencia. La capacidad de manejar la ejecución de varias secuencias de instrucciones al mismo tiempo se maneja de manera muy diferente entre Java y JavaScript. Java hace uso de múltiples subprocesos para realizar tareas en paralelo. JavaScript, particularmente como existe como Node.js en las aplicaciones del lado del servidor, maneja la concurrencia en un hilo principal de ejecución a través de un sistema de cola llamado bucle de eventos y un sistema de bifurcación llamado Node Clustering. Para la mayoría de los casos de uso, ambos métodos funcionan bien, pero Java es generalmente más rápido porque la transmisión basada en subprocesos es mucho más rápida que la comunicación entre procesos (IPC). Basado en clases versus basado en prototipos. Java sigue la herencia basada en clases: una relación de arriba hacia abajo, jerárquica y basada en clases en la que las propiedades se definen en una clase y son heredadas por una instancia de esa clase (uno de sus miembros). En JavaScript, la herencia es prototípica: todos los objetos pueden heredar directamente de otros objetos. La jerarquía se logra en JavaScript asignando un objeto como prototipo con una función constructora.

¿DEBO UTILIZAR JAVASCRIPT O JAVA PARA MI PRÓXIMO PROYECTO?

Al igual que con todos los idiomas, la elección realmente se reduce a lo que está tratando de construir y qué recursos tiene a su disposición. JavaScript sigue siendo en gran medida una tecnología web, mientras que Java es un lenguaje de propósito general que puede construir cualquier cosa. Deberías considerar Java si tu proyecto involucra…
  • Aplicaciones de Android
  • Software empresarial
  • Computación científica
  • Análisis de grandes datos
  • Programación de propósito general de hardware
  • Tecnologías del lado del servidor como Apache, JBoss, Geronimo, GlassFish, etc.
Debería considerar JavaScript si su proyecto implica...
  • Aplicaciones dinámicas de una sola página (SPA)
  • Tecnologías front-end como jQuery, AngularJS, Backbone.js, Ember.js, ReactJS, etc.
  • Tecnologías del lado del servidor como Node.js, MongoDB, Express.js, etc.
  • Desarrollo de aplicaciones móviles a través de PhoneGap, React Native, etc.
  • Tenga en cuenta que ninguna de las listas es extensa, solo pretenden ser un punto de partida para ayudarlo a tener una idea de lo que puede esperar y qué palabras clave puede usar para evaluar el mejor idioma para sus necesidades.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION