2008-10-28 57 views

Respuesta

575

Java y Javascript son similares, como Car y Carpet son similares.

+0

de ddaa import wit # ¡Ojalá hubiera llegado con eso! – ddaa

+2

Esa es la mejor respuesta de la historia. Si es original (es decir, no la has escuchado de otro lado) eres un genio. Voy a empezar a citar esto ... –

+11

Lamentablemente, no puedo afirmar la originalidad. Sin embargo, no recuerdo dónde lo escuché por primera vez. –

14

Todo. Son idiomas no relacionados.

+0

* Punzones en el brazo *. Según wikipedia, debo hacerlo después de que me hayas maldecido y antes de que pueda volver a hablar. http://en.wikipedia.org/wiki/Jinx – ddaa

+2

Lo malinterpretaste, tengo que golpearte ahora. Y cógeme mi Coca. –

38

Todo.

JavaScript fue nombrado así por Netscape para confundir a los incautos con la idea de que tenía algo que ver con Java, la palabra de moda del momento, y tuvo éxito.

Los dos idiomas son completamente distintos.

+8

Javascript originalmente se llamaba Livescript, y el mundo probablemente sería un mejor lugar hoy si no lo hubieran cambiado de nombre. –

+2

Dudo que haya confusión, ¿cuál es el beneficio para la compañía de eso? Sospecho que _intent_ fue para aprovechar el éxito de Java, aunque el _efecto_ fue lo que dijiste. – paxdiablo

+0

"montar el éxito de java" llamando algo que no está relacionado con un nombre similar? Eso suena muy parecido a "causar confusión con fines de marketing" para mí. – ddaa

189

Estas son algunas diferencias entre los dos idiomas:

  • Java es un lenguaje de tipos estáticos; JavaScript es dinámico
  • Java está basado en clases; JavaScript está basado en prototipos.
  • Los constructores de Java son funciones especiales que solo se pueden invocar en la creación de objetos; Los "constructores" de JavaScript son solo funciones estándar.
  • Java requiere que todas las sentencias que no sean bloques terminen con un punto y coma; JavaScript inserta punto y coma al final de ciertas líneas.
  • Java usa el ámbito basado en bloques; JavaScript usa el alcance basado en funciones.
  • Java tiene un alcance this implícito para métodos no estáticos, y alcance de clase implícito; JavaScript tiene un alcance global implícito.

Estas son algunas de las características que creo que son puntos fuertes de JavaScript:

  • JavaScript apoya el cierre; Java puede simular tipos de "cierres" utilizando clases anónimas. (Se pueden admitir cierres reales en una versión futura de Java).
  • Todas las funciones de JavaScript son variadas; Las funciones de Java son solo variadas si están marcadas explícitamente.
  • Los prototipos de JavaScript se pueden redefinir en tiempo de ejecución y tienen efecto inmediato para todos los objetos de referencia. Las clases de Java no se pueden redefinir de forma que afecten a las instancias de objetos existentes.
  • JavaScript permite que los métodos en un objeto sean redefinidos independientemente de su prototipo (piense en clases propias en Ruby, pero en esteroides); los métodos en un objeto Java están vinculados a su clase, y no se pueden redefinir en tiempo de ejecución.
+8

2 años tarde, pero muchas gracias por esta explicación. Es mucho más útil e informativo que la respuesta seleccionada, y merece muchos más votos IMO –

+2

He votado a favor y en contra en ambos casos. Necesitamos la respuesta correcta, pero santo shmoly, geeks como nosotros, realmente necesitamos más de este humor –

+0

También podría estar aquí fuertemente tipado y libremente tipeado en lugar de tipeado estáticamente y tipeado dinámicamente. – San

408

Uno es esencialmente un juguete, diseñado para escribir pequeños trozos de código, y usado tradicionalmente y abusado por programadores inexpertos.

El otro es un lenguaje de scripting para navegadores web.

+2

Si pudiéramos hacer votos categóricos, votaría +1 gracioso, pero de lo contrario, meh. –

+19

Estaba a punto de reñirte por haber descifrado Javascript cuando había llegado tan lejos en los últimos años. Luego eliminé el segundo párrafo y L'dOL. Pero, espere un momento, Java es mi principal fuente de ingresos ... :-) – paxdiablo

+2

downvoted por descifrar Javascript, luego darse cuenta de que estaba hablando de JAVA y votó (y lol'ed mucho). –

8

Son idiomas independientes con linajes no relacionados. Brendan Eich creó Javascript originalmente en Netscape. Inicialmente se llamaba Mocha. La elección de Javascript como nombre fue un guiño, si se quiere, al lenguaje de programación Java entonces ascendente, desarrollado en Sun por Patrick Naughton, James Gosling, et. Alabama.

23

JavaScript es un lenguaje orientado a objetos scripting que le permite crear páginas HTML dinámicas, lo que le permite procesar datos de entrada y mantener datos, generalmente dentro del navegador.

Java es un lenguaje de programación, un conjunto básico de bibliotecas y una plataforma de máquina virtual que le permite crear programas compilados que se ejecutan en casi todas las plataformas, sin distribución de código fuente en su forma original o recompilación.

Si bien los dos tienen nombres similares, en realidad son dos lenguajes/modelos/plataformas completamente diferentes, y se usan para resolver conjuntos de problemas completamente diferentes.

Además, se trata directamente de la Wikipedia Javascript article:

Un error común es que JavaScript es similar o estrechamente relacionados con Java; esto no es asi Ambos tienen una sintaxis similar a C, están orientados a objetos, son generalmente de espacio aislado y se utilizan ampliamente en aplicaciones web del lado del cliente, pero las similitudes terminan ahí. Java tiene tipado estático; El tipeo de JavaScript es dinámico (lo que significa que una variable puede contener un objeto de cualquier tipo y no se puede restringir). Java se carga desde un código de bytes compilado; JavaScript se carga como código legible por humanos. C es su último idioma común antepasado.

+2

Javascript no es solo para páginas HTML, Java6 ahora lo incluye, BIRT lo usa para creación de scripts de informes: estoy seguro de que hay otros usos que no son HTML más allá de estos dos. – paxdiablo

+0

Tienes razón. Con el desarrollo de Rhino, y algunos de los otros desarrollos que mencionaste, Javascript ha salido bastante lejos del entorno limitado del navegador. –

+2

El scripting es simplemente un tipo particular de programación ... en su lugar, debería decir quizás que Java es un lenguaje de programación compilado y javascript es un lenguaje de programación interpretado o scripting. – Blacktiger

52

Tome un vistazo a la Wikipedia link

JavaScript, a pesar del nombre, es esencialmente no relacionada con el lenguaje de programación Java, aunque ambos tienen la sintaxis común C, y las copias de JavaScript muchos nombres de Java y las convenciones de nomenclatura . El lenguaje originalmente se llamaba "LiveScript", pero se renombró en un acuerdo de comercialización conjunta entre Netscape y Sun, a cambio de que Netscape incluyera el tiempo de ejecución Java de Sun con su navegador dominante en ese momento. Los principios clave de diseño en JavaScript se heredan de los lenguajes de programación Self y Scheme.

2

No tienen nada que ver entre sí.

Java está tipado estáticamente, se compila y se ejecuta en su propia VM.

Javascript se tipea dinámicamente, se interpreta y se ejecuta en un navegador. También tiene funciones de primera clase y funciones anónimas, lo que Java no hace. Tiene acceso directo a los elementos de la página web, lo que lo hace útil para hacer el procesamiento del lado del cliente.

También son algo similares en sintaxis, pero eso es todo.

5

Como todos dicen, son bastante diferentes.

Sin embargo, si necesita un lenguaje de secuencias de comandos para su Java aplicación, Javascript es en realidad una muy buena elección. Hay formas de ejecutar Javascript en la JVM y puede acceder y manipular las clases de Java sin problemas una vez que lo haga.

17

En addittion a ser totalmente diferentes idiomas, en mi experiencia:

  • Java se ve bien en un primer momento, más adelante se pone molesto.
  • JavaScript se ve horrible y sin esperanza al principio, luego, gradualmente, realmente te empieza a gustar.

(Pero esto sólo puede tener más que ver con mis preferencias de programación funcional sobre la programación OO ...;)

1

Prácticamente todos los PC en el mundo vende con al menos un intérprete de JavaScript instalado en él.

La mayoría de las PC (pero no "prácticamente todas") tienen una máquina virtual Java instalada.

2

no se confunda con el nombre ..
Java fue creado en Sun Microsystems (ahora Oracle).
Pero, JavaScript se creó en Netscape (ahora Mozilla) en los primeros días de la Web, y técnicamente, "Java-Script" es una marca comercial licenciada de Sun Microsystems utilizada para describir la implementación del lenguaje de Netscape. Netscape presentó el idioma para la normalización de ECMA (Asociación de Europea fabricante del equipo) y debido a cuestiones de marcas, la versión normalizada de la lengua se quedó con el nombre incómoda “ECMAScript.” Por las mismas razones de marca, la versión de Microsoft de la el lenguaje se conoce formalmente como "JScript". En la práctica, solo sobre todo el mundo llama al lenguaje JavaScript. El nombre real es "ECMAScript".

¡Ambos idiomas son completamente diferentes!

Cuestiones relacionadas