Java

> Temas > Java
Editar

Java es un lenguaje de propósito general capaz de acometer todo tipo de proyectos y ejecutarse en múltiples plataformas. Aquí aprenderás qué es Java y a programar en este lenguaje con diversos manuales.

Java es un lenguaje de programación de propósito general, uno de los más populares y con mayores aplicaciones del panorama actual. Existen diversos índices de lenguajes de programación y dependiendo el que tomemos como referencia puede considerarse el lenguaje más popular, o uno de los 3 más populares que existen en el mundo.

Fue creado inicialmente por la compañía Sun Microsystems que consiguió posicionar su lenguaje como uno de los más punteros y extendidos, debido sobre todo a su versatilidad y soporte prácticamente universal. Actualmente se encuentra en propiedad de Oracle, después que ésta adquiriera a Sun.

Java es multiplataforma, capaz de ejecutarse en la mayoría de sistemas operativos y dispositivos, con una única base de código. Esto lo consigue gracias a una máquina virtual que existe en cada sistema que es capaz de ejecutar Java y hacer de puente entre el lenguaje de programación y el dispositivo. Eso quiere decir que, si hacemos un programa en Java podrá funcionar en cualquier ordenador, dispositivo o cualquier tipo de máquina que soporte Java.

El hecho de ser multiplataforma es una ventaja significativa para los desarrolladores de software, pues anteriormente era necesario hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, MacOS, etc. Esto lo consigue porque se ha creado una Máquina virtual de Java para cada plataforma, que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente. Hoy hay muchos lenguajes multiplataforma, pero Java fue de los primeros en ofrecer esta posibilidad.

Con Java podemos hacer todo tipo de proyectos, desde aplicaciones web a servicios web basados en SOAP o REST, aplicaciones de escritorio de consola o interfaz gráfica. Además Java es el lenguaje de programación que se usa para el desarrollo nativo para Android, lo que ha llevado a esta tecnología a un nivel de popularidad todavía mayor y con alta demanda porfesional.

Más información:

Máquina virtual

Java es pionero entre los lenguajes multiplataforma, llevando en la práctica el lenguaje no solo a distintos sistemas operativos de escritorio, como muchos lenguajes actuales, sino a cualquier tipo de máquina.

Para ello Java incorpora una importante innovación llamada JVM, Java Virtual Machine. La máquina virtual de Java permite ejecutar el código de este lenguaje, de modo que Java es soportado en cualquier sistema que incorpore su propia máquina virtual.

Cuando se compila un programa realizado en Java se genera un archivo con lo que se llama bytecodes. Ese archivo puede ser entendido por la correspondiente máquina virtual y procesado tal como el sistema operativo real requiera.

Editar

Java para Android

Java es el lenguaje con el que se programan las aplicaciones nativas para Android. Aunque hoy hay muchos otros lenguajes de programación que tienen sus frameworks que compilan a nativo, Java es el lenguaje con el que se puede sacar mayor partido a todas las posibilidades de la plataforma y obtener el mejor rendimiento de las aplicaciones para Android.

Esta situación a permitido una nueva juventud para el lenguaje Java, con un importante resurgir, ya que en los últimos años había visto como muchas de sus parcelas estaban siendo ocupadas mayoritariamente por otros lenguajes y había sido relegado para aplicaciones pesadas del ámbito empresarial.

Google, el responsable de la plataforma Android, ha puesto muchos recursos para la creación de otros lenguajes, como Dart y frameworks como Flutter. Está por ver la evolución de estos movimientos para comprobar si el reinado de Java para Android pueda verse o no limitado en el futuro.

Editar

Historia de Java

Java es un lenguaje de programación impulsado por Sun Microsystems. Su presentación se realizó en 1994 de manera interna dentro de la compañía y solamente el año siguiente vio la luz de manera pública. Java se encauzó desde otros proyectos de Sun, pero la idea detrás del lenguaje convenció a los ejecutivos de la compañía, que decidieron apostar fuerte y crear un grupo de desarrollo de la tecnología.

Su primera aparición en las conferencias SunWorld vino acompañada de un navegador ya desaparecido basado en Java llamado HotJava. La idea inicial del lenguaje era aplicar una sintaxis similar a C++, pero que permitiese la ejecución del código mediante una máquina virtual. La filosofía, innovadora en aquella época, era la de "Escribe una vez y ejecuta donde quieras". Bajo ese prisma, se podría ejecutar Java en cualquier tipo de ordenador, independientemente de la plataforma. Para ello se creó la JVM (Java Virtual Machine) como un complemento gratuito para los sistemas más habituales.

Java fue acogido con entusiasmo por la industria de Internet. Netscape anunció que soportaría Java en su navegador y los principales clientes web aportaron también soporte a una tecnología hoy en desuso de Java, los Applets, que permitían crear programas hechos en Java que se incrustaban como contenido dentro de una página web, dotando a las webs de herramientas de programación que no existían hasta la época.

A partir de su puesta en marcha Java dotó a los desarrolladores de un JDK (Java Development Kit) que fue evolucionando rápidamente e incrementando sus posibilidades gracias a un enorme conjunto de clases para realizar prácticamente todo tipo de programas y aplicaciones. El primer JDK 1.0 salió en 1996. En 1998 el kit para desarrollo de Java pasó a llamarse J2SE, haciendo referencia su evolución (Java 2 Plattform Standar Edition). Cuando salió Java 6 en 2006 el kit de desarrollo fue renombrado a Java SE. En 2019 tuvimos el lanzamiento de Java SE 12.

Editar

Cómo los Applets conquistaron la web e impulsaron Java

Puede parecer que una tecnología como los Applets de Java, que no era estándar abierto y que en verdad tuvo bastante poco tiempo de "vida", no haya tenido demasiada importancia en la historia del lenguaje o de la informática en general. Sin embargo, lo cierto es que marcaron un antes y un después a muchos niveles.

Recordemos que los applets son programas realizados en Java, que se ejecutaban empotrados en una página web. El código del programa residia en el servidor de la web, como cualquier otro elemento supletorio, imágenes, css, etc. Los applets se ejecutaban completamente en el cliente, por lo que no se requería ningún lenguaje del lado del servidor para que la web los soportase, solamente que el navegador tuviese incluida la máquina virtual de Java. Pero, a pesar que no tenían código del servidor, los applets eran tan poderosos como el propio Java y eran capaces de hacer conexiones de red, trabajar con sockets, mostrar cualquier tipo de interfaz gráfica, responder a eventos, etc.

En la informática en general los applets abrieron los ojos de toda la comunidad, pues era la primera vez que una aplicación era capaz de entregarse sin la necesidad de estar instalada en un ordenador. Esto quería decir que cualquier empresa podría ofrecer un servicio basado en un programa informático sin estar presente ese programa en los ordenadores de los usuarios. Esto permitió que comenzase una nueva era en el mundo del desarrollo y de los negocios en Internet.

Los Applets significaron un gran avance en el mundo de la web, ya que era la primera vez que podíamos ejecutar código con toda la complejidad que fuera necesario en el contexto de una web. Hay que recordar que aparecieron antes incluso que el lenguaje Javascript. Ayudaron a la web, para que la gente percibiera las enormes posibilidades que había detrás, pero también la web ayudó mucho a Java, porque lo hizo un lenguaje mucho más conocido.

En el fondo, la aparición de los applets podemos decir que fue anecdótica para la web, porque antes o después se habría introducido otro lenguaje para dotarle de superpoderes. Sin embargo, sí que fue un punto clave en el éxito de Java como lenguaje, puesto que provocó que muchas personas, que quizás no habían más que oído hablar de Java, se interesasen por el lenguaje, para aprenderlo y usarlo en sus proyectos, o que muchas universidades lo tomasen en cuenta para enseñarlo en sus aulas, etc.

Editar

JSP: Java Server Pages

JSP es una tecnología que permite desarrollar sitios y aplicaciones web tradicionales, en las que el servidor ofrece el HTML directamente para que el navegador lo renderice al usuario.

En el ámbito de Java JSP sería la alternativa más sencilla para programar páginas web dinámicas del lado del servidor, con accesos a bases de datos, sistema de archivos, tratamiento de XML y con cualquier tipo de conexión de red entre sistemas, etc. JSP es muy práctico ya que permite programar con Java y devolver HTML para el consumo directo del navegador, sin embargo podemos decir que la tecnología en si nunca tuvo demasiado tirón.

JSP sería un competidor de PHP, pero requiere el uso de un servidor compatible con servlets de Java, una configuración que, si bien es soportada por una servidor popular como Apache, lo cierto es que no es nada habitual. Otro servidor conocido que soporta JSP es Tomcat. Sin embargo este tipo de configuraciones en los servidores de Internet no están muy extendidas requieren disponer de un servidor propio para poder instalarlos, lo que no facilitó su penetración en el mercado.

Editar

Por qué Java es un buen lenguaje para aprender a programar

Aprender a programar con Java es una alternativa muy interesante, ya que permite y obliga a usar el paradigma de programación más extendido en la actualidad, la programacion orientada a objetos.

El desarrollo en Java es bastante robusto y muy académico, lo que facilita la incorporación de buenas prácticas desde el primer día. Por ello, muchas escuelas y universidades usan Java como lenguaje para enseñar programación. Por supuesto, también su versatilidad y sus muchas áreas de aplicación lo hacen ideal para dedicar nuestro esfuerzo en el aprendizaje.

Sin embargo, también existe una corriente de personas que piensa que es un lenguaje demasiado rígido para facilitar una experiencia de aprendizaje atractiva para las personas que no tienen conocimiento alguno de programación. Esto es debido a la propia necesidad de programar orientado a objetos, la declaración de todos los tipos de las variables o la necesidad de compilar el código para poder ejecutarlo. En este sentido otros lenguajes como Javascript puedan facilitar un primer aprendizaje en la creación de programas sencillos, que puede resultar de utilidad antes de pasar a Java.

Editar

¿Quieres añadir algo sobre Java?

Crea artículos, recursos o comparte información sobre Java

Crear un bloque

Java

Manuales

Manual de Java
Manual de la tecnología Java. Trata temas introductorios, una guía rápida para aprender la sintaxis y otros temas más avanzados...
Manual de JSP
Manual donde aprenderemos la tecnología Java para la creación de páginas web con programación en el servidor.
Videotutorial del Curso de Iniciación a Java
Grabaciones de las clases del Curso de Iniciación a la programación con Java, realizado en DesarrolloWeb y EscuelaIT, un curso...

Más manuales

Tenemos 2 manuales más sobre Java

Desarrollo para Android
Manual donde veremos todos los pasos necesarios para comenzar a realizar aplicaciones para la plataforma Android.
Android Básico
Este es un Manual básico de Desarrollo para Android. Tiene como objetivo ofrecer una introducción a Android desde cero para...

Temas relacionados

Preguntas y respuestas de Java

Se han recibido 10 faqs en Java

Hacer una pregunta