Java
Introducción
Java es un lenguaje de programación ideado en 1991 por Sun Microsystem. Su nombre y logo se deben a que se ideó en una cafetería llamada 'Java', aunque hay otras versiones del origen de su nombre. A fecha de hoy, el propietario de la plataforma es uno de los grandes actores de la industria TIC.
Se trata de un lenguaje orientado a objetos y concurrente. Su sintaxis está basada en la de C++, Aunque se le ha dotado de simplicidad que favorece la programación.
Una característica fundamental es que es "portable", es decir, puede ser usado en cualquier arquitectura, gracias a su máquina virtual. Esto fue resaltado en su lema "Write Once, Run Anywhere", es decir, escríbelo una, y ejecútalo en todas partes.
En sus principios, era destinado a funcionar en Lavadoras y otros electrodomésticos, pero ahora mismo su alcance es mayor.
Características
Sus características más importantes son las siguientes:
- Simple: elimina las características problemáticas de otros lenguajes(C++).
- Orientado a Objetos : paradigma de programación por la cual se deja de ser una programación modular, y se puede dividir la aplicación en partes simples las cuales pueden ser reemplazadas.
- Tipificación estáticamente: implica que las variables deben ser tipificadas en su declaración e inicialización, pero el contenido de dicha variable, puede cambiar de tipo.
- Interpretado: El compilador traduce cada fichero fuente de clases a ByteCode, el cual puede ser interpretado por todas las máquinas.
- Robusto: las aplicaciones creadas dispondrán de una fortaleza frente a fallos.
- Seguro: se proporcionan herramientas para proteger una aplicación.
- Multihilo: permite correr varios hilos de ejecución a la vez.
- Recolector de basura: borra objetos no referenciados automáticamente.
- Portable: puede ser usado en cualquier arquitectura y sus operaciones aritméticas funcionaran igual en todas las máquinas.
Además podemos destacar :
- Herencia, permite ahorrar código basado en la repetición, ya que comparte automáticamente métodos y datos entre clases, subclases y objetos.
- Interfaces, establecen relaciones entre clases que no están relacionadas y obligan a que estas usen los mismos métodos.
- Polimorfismo, que significa que una variable puede tomar distintos tipos en tiempo de ejecución.
- Sobrecarga, permite sobrescribir funciones, que se diferencian por el número y tipos de argumentos que tengan las funciones.
La Licencia de Java es cuanto menos interesante.