Java es un
lenguaje de programación orientado a objetos que se popularizó a
partir del lanzamiento de su primera versión comercial de amplia difusión, la
JDK 1.0 en 1996. Actualmente es uno de los lenguajes más usados para la
programación en todo el mundo.
Los antecedentes de
Java habría que buscarlos en los lenguajes de programación C y C++. El lenguaje
C fue desarrollado en la década de los 70 y constituye un lenguaje muy robusto
usado como núcleo del sistema operativo Unix. C no admite la orientación a
objetos y está considerado un lenguaje “poco amigable” desde el punto de vista
de que su sintaxis, elementos de programación que emplea (manejo directo de
memoria) y otras cuestiones hacen que sea un lenguaje difícil de aprender. C++
fue una evolución de C desarrollada en los años 80. Introdujo el diseño
orientado a objetos, pero manteniendo la compatibilidad con C. Esto suponía que
C++ permitiera tanto el uso de la programación estructurada “tradicional” como
la programación orientada a objetos. Además C++ mantuvo ciertas características
de C como el manejo directo de la memoria, el uso de variables globales, sentencia
goto, etc. que hicieron que la evolución fuera “parcial”.
Como paso final en
esta evolución tenemos Java, un lenguaje que evoluciona a partir de C y C++,
pero que elimina diversos aspectos de estos lenguajes y se constituye en un
lenguaje definitivamente orientado a objetos. El romper con distintos aspectos
de C++ cuyo manejo inadecuado por parte de muchos programadores daba lugar a
problemas en las aplicaciones ha sido un factor decisivo para convertir a Java
en un lenguaje popular y de amplio uso.
Nosotros vamos a
quedarnos con el lado práctico de lo que hemos comentado respondiendo esta
pregunta: ¿Es necesario saber C ó C++ para programar en Java? No,
no es necesario. Aunque puede suponer una ventaja para aquellas personas que
tengan conocimientos previos en estos lenguajes, no recomendamos de forma
explícita su estudio en profundidad como paso previo al aprendizaje de Java.
De modo orientativo,
veamos un esquema sobre la evolución de los lenguajes.
Este esquema es
meramente orientativo: es imposible reflejar la diversidad de lenguajes y su
evolución en un gráfico tan simplificado. También los datos relativos a fechas
son orientativos.
No hay que suponer que
lo único válido sea la programación orientada a objetos por ser lo más moderno.
Al contrario, muchísima programación de la que se hace hoy en día se basa en
lenguajes o código no orientado a objetos. Además, la misma programación orientada
a objetos se basa en conceptos muy antiguos de programación.
Tener en cuenta que
algunos lenguajes que nacieron en los años 60 han perdido vigencia y ya no se
usan, mientras que otros se han ido modernizando y continúan usándose más o
menos ampliamente, como es el caso de Cobol. Lo que consideramos interesante
con este esquema es que se vea que Java es una evolución que por un lado
incorpora cosas que se venían usando desde hace mucho tiempo en programación, y
por otro introduce ciertas novedades que lo convierten en un lenguaje
moderno.
Java es un lenguaje
útil para casi todo tipo de problemas. Podemos citar como funcionalidades de
Java varias:
1.
Aplicaciones “cliente”: son las que se ejecutan en un solo ordenador (por
ejemplo el portátil de tu casa) sin necesidad de conectarse a otra máquina.
Pueden servirte por ejemplo para realizar cálculos o gestionar datos.
2. Aplicaciones
“cliente/servidor”: son programas que necesitan conectarse a otra máquina
(por ejemplo un servidor de datos) para pedirle algún servicio de forma más o
menos continua, como podría ser el uso de una base de datos. Pueden servir por
ejemplo para el teletrabajo: trabajar desde casa pero conectados a un ordenador
de una empresa.
3. Podemos
hablar también de “aplicaciones web”, que son programas Java que se
ejecutan en un servidor de páginas web. Estas aplicaciones reciben
“solicitudes” desde un ordenador y envían al navegador (Internet Explorer,
Firefox, Safari, etc.) que actúa como su cliente páginas de respuesta en HTML.
Éstos son sólo algunos
ejemplos de todo el potencial que hay detrás de Java como lenguaje para
aprender y obtener muchos beneficios con su uso. Obviamente por determinados
términos empleados (cliente, cliente/servidor, base de datos, HTML…), te darás
cuenta de que el lenguaje Java tiene mucha potencialidad, pero también de que
su conocimiento a fondo requeriría mucho tiempo. Nosotros en este curso vamos a
estudiar únicamente los aspectos más básicos de Java.
No te preocupes si no has entendido todo lo expuesto hasta ahora. Nuestra
metodología se va a basar en ir trabajando poco a poco con Java e ir
aprendiendo gradualmente mediante el trabajo práctico. Por otro lado, cuando se
habla de Java es habitual oír hablar de definiciones teóricas sobre qué es la
programación orientada a objetos, sus características (herencia, abstracción,
polimorfismo, encapsulamiento), los objetos, la máquina virtual Java, y siglas
como JVM, JRE, JDK, etc. Nosotros no vamos a hacer un recorrido teórico por
estos conceptos: buscamos un recorrido práctico. Para ello vete leyendo el
texto y probando en tu ordenador los ejemplos, ejercicios o programas que
iremos mostrando o proponiendo.
ConversionConversion EmoticonEmoticon