Fundamentos de JavaScript
inventado por Brendan Eich, cofundador del proyecto Mozilla, Mozilla
Foundation y la Corporación Mozilla.
Puedes hacer casi cualquier cosa con JavaScript. Puedes empezar con
pequeñas cosas como carruseles, galerías de imágenes, diseños
fluctuantes, y respuestas a las pulsaciones de botones. Con más
experiencia, serás capaz de crear juegos, animaciones 2D y gráficos 3D,
aplicaciones integradas basadas en bases de datos ¡y mucho más!
JavaScript por sí solo es bastante compacto aunque muy flexible, y
los desarrolladores han escrito gran cantidad de herramientas encima del
núcleo del lenguaje JavaScript, desbloqueando una gran cantidad de
funcionalidad adicional con un mínimo esfuerzo. Esto incluye:
- Interfaces de Programación de Aplicaciones del Navegador
— APIs construidas dentro de los navegadores que ofrecen
funcionalidades como crear dinámicamente contenido HTML y establecer
estilos CSS, hasta capturar y manipular un vídeo desde la cámara web del
usuario, o generar gráficos 3D y muestras de sonido. - APIs de terceros, que permiten a los desarrolladores incorporar
funcionalidades en sus sitios de otros proveedores de contenidos como
Twitter o Facebook. - Marcos de trabajo y librerías de terceros que puedes aplicar a tu
HTML para que puedas construir y publicar rápidamente sitios y
aplicaciones.
Ya que se supone que este artículo es solo una introducción ligera a
JavaScript, la intención no es confundirte en esta etapa hablando en
detalle sobre cuál es la diferencia entre el núcleo del lenguaje
JavaScript y las diferentes herramientas listadas arriba. Puedes
aprender todo eso en detalle más tarde, en el AREA ADM y en el resto de MDN.
Debajo se presentan algunos aspectos del núcleo del lenguaje y
también jugarás con unas pocas características de la API del navegador.
¡Diviértete!
HOLA MUNDO
La
sección de arriba suena realmente emocionante, y debería serlo.
JavaScript es una de las tecnologías web más emocionantes, y cuando
comiences a ser bueno en su uso, tus sitios web entrarán en una nueva
dimensión de energía y creatividad.
Sin embargo, sentirse cómodo con JavaScript es un poco más difícil
que sentirse cómodo con HTML y CSS. Deberás comenzar poco a poco y
continuar trabajando en pasos pequeños y consistentes. Para comenzar,
mostraremos cómo añadir JavaScript básico a tu página, creando un «¡Hola Mundo!»
Según algunos expertos, Java es un lenguaje de programación puramente orientado a objetos, mientras que C++ es un lenguaje de programación basado en objetos.
El código escrito en Java puede ejecutarse en diferentes plataformas, mientras que esto no es posible con C++.
Diferencias entre Java y C++:
Orientación a objetos:
- En C++ se pueden escribir programas orientados a objetos, no orientados a objetos, o mezcla de ambos (por ejemplo, tener clases con funciones globales en el mismo programa)
- Java es puramente orientado a objetos; cualquier función debe pertenece a alguna clase (es un método).
Control sobre la plataforma (hardware+S.O.)
- C y C++: el programador tiene control del procesador.
- Java: el programa se ejecuta sobre un procesador virtual (JVM) que abstrae al programador de la plataforma concreta
Código de máquina generado:
- C y C++: el compilador genera código de máquina para una plataforma concreta
- Java: el compilador genera código de máquina (bytecode) para el procesador JVM
Liberación de Memoria:
- C y C++: a cargo del programador (delete).
- Java: automática; los objetos creados son destruidos automáticamente ente cuando se quedan sin referencias.
Punteros:
- C y C++: existen punteros con una aritmética bien definida, y entre otras cosas, permiten programador explorar la memoria del computador físico.
- Java: no existe el concepto de puntero; los objetos son accedidos mediante referencias.
Paquetes:
- C y C++: no existe tal concepto; lo más aproximado son los archivos de biblioteca (.h)
- Java: un paquete es una entidad organizativa que permite agrupar clases, interfaces y excepciones, así como que sus elementos dispongan de una determinada visibilidad con respecto a elementos externos al paquete.
Conversión implícita de tipos:
- C y C++: existe (flexibilidad para el programador)
- Java: no existe por considerarse un mecanismo objeto de errores potenciales
Sobrecarga de funciones y operadores:
- C++: existen ambos tipos de sobrecarga
- Java: sólo existe la sobrecarga de funciones (métodos).
Herencia múltiple:
- C++: existe
- Java: no existe por considerarse poco eficiente.
Interfaces:
- C++: no existen este concepto.
- Java: existe el concepto de interfaz como conjunto de especificaciones de métodos y de atributos constantes.
Estructuras dinámicas:
- C++: Librería STL
- Java: paquete java. útil. Los nombres y el funcionamiento son distintos.
Compiladores:
- C++: Muchos compiladores. Pueden ser bastante distintos.
- Java: Un único compilador siempre igual.
Objetos:
- C++: Ningún ancestro común.
- Java: Todos los objetos heredan automáticamente de la clase Object.

0 Comentarios