Saltar al contenido

Java

Si estás aquí seguramente te has hecho esa pregunta, entre otras como ¿Porqué programar en Java? o ¿Qué diferencia tiene Java comparado con otros lenguajes de programación?

A estas preguntas no existe una respuesta concreta, ya que depende de muchos factores que hay valorar.

Una pregunta parecida sería cuál sería el mejor instrumento para saber música, o que idioma estudiar para viajar en el extranjero.

Lo primero de todo es saber cuál es el objetivo final.

Puede ser que simplemente quieras aprender a programar, por lo que estamos hablando de los fundamentos de la programación, pero quizás tu objetivo sea la programación web, el entorno de escritorio, videojuegos…

Dependiendo de lo que tengas en mente es mejor quizás empezar con otros lenguajes o herramientas, como puede ser HTML5 y CSS.

Índice del contenido

Porque aprender a programar con Java

Java siempre está en el TOP 3 de los lenguajes más populares, tanto para aprender a programar desde cero como en demanda de empleo.

Es un lenguaje que ya tiene una larga trayectoria, así que está bien asentado en sus bases, sirve de referencia en otros gracias a su madurez (como Android) , y la información que puedes encontrar es extensa.

Como opinión personal, el lenguaje Java no debería de ser el primero con el que te tengas que enfrentar la primera vez, debido a su sintaxis, aunque suele ser el lenguaje de referencia para enseñar a los estudiantes, por ejemplo en estudios universitarios.

Así que tendrás que esforzarte, practicar mucho y dedicar su tiempo si eres principiante y quieres saber más de este lenguaje.

Pero Java ofrece una serie de ventajas respecto a distintos lenguajes de programación que podemos ver. Java es un software libre, y es gratis.

Aunque en su momento lo compró Oracle  (en realidad quién creó el lenguaje de programación JAVA fue Sun Microsystems), su licencia es GNU, así que no tienes que pagar para poder usarlo.

Esto es importante porque te puedes encontrar con algunos lenguajes que tienes que pagar licencias para utilizarlos, tanto como cliente como desarrollador.

El lenguaje Java es gratis, pero a más a más es de código abierto. Son cosas totalmente separadas.

Que sea Open Source (es otra manera de decir que es código abierto) significa que
encontrarás mucho código, y que además es posible modificarlo y mejorarlo.

La mejor manera de aprender la tecnología Java es leer código que han escrito otras personas, además de poder usarlo para tus proyectos.

Ventajas y desventajas de empezar con Java

Para empezar, Java es orientado a objetos, se utilizan clases, ya que es una evolución de lenguajes como el C.

Aunque sea más fácil que otros lenguajes parecidos, como C++, hay que tener una base de conocimientos antes de empezar a hablar de objetos.

También requiere un esfuerzo mayor para empezar a crear tus primeras aplicaciones Java con cara y ojos (es decir, que tenga un aspecto minimamente profesional).

Dicho de otra forma, Visual Basic .NET o C# te permite crear este tipo de aplicaciones de una manera más sencilla ya que está pensado para ello.

Pero no todo son inconvenientes. Java es un lenguaje que te ofrece unos cimientos muy buenos para dar el salto en cualquier otro lenguaje, ya sea Python, PHP o C++, y después es mucho más simple estudiar un lenguaje de programación nuevo.

Java como lenguaje multiplataforma

También es un lenguaje multi plataforma, es decir, con el mismo código es posible usarlo en cualquier entorno, ya sea Windows, Mac o Linux (gracias a la máquina virtual cuando se instala), además que con ligeras adaptaciones es posible para dispositivos móviles.

Existe un dicho que puedes encontrar por internet que dice

Escríbelo una vez, ejecútalo dónde quieras.

Aunque también tiene su desventaja, ya que una de las críticas que siempre ha tenido Java es su poco rendimiento por el consumo de recursos (memoria RAM, CPU, etc.), al ser un lenguaje precompilado (el código fuente pasa a un código interpretado) y necesitar de un framework.

Aunque curiosamente siempre se ha criticado el uso del framework, ahora muchos lenguajes tienen uno detrás que se usa de apoyo, como la tecnología .NET.

Hemos comentado las distintas plataformas de escritorio, pero Java también existe en muchas aplicaciones Web, y ahora con el sistema operativo Android, utilizado en móviles, tablets y diferentes gadgets (como Chrome Cast, Android TV, etc.).

La base de Android es Java, así que aprender Java te dará mucha facilidad para dar el salto en Android.

La documentación de Java

Al ser un lenguaje popular, no sólo encontrarás miles de ejemplos por internet, sino que su documentación es muy extensa.

Podrás encontrar en su biblioteca muchas funcionalidades que son estándar, de esta manera no tendrás que recurrir a componentes de terceros para poder desarrollar (habitualmente de pago).

Tipos de aplicaciones que se puede hacer con Java

Sin entrar en los posibles destinos que puede tener un programa en Java, me refiero a si es una página web, una app de Android, o un software en Windows, con Java podrás crear tres tipos de aplicaciones. Es muy posible que te encuentres con este vocablo por ahí, así que vamos a explicarlo.

Aplicaciones cliente con Java

Cuando desarrollas un programa que se ejecutará solamente en tu ordenador, estamos hablando de una aplicación cliente.

No es necesario que se conecte a otro ordenador. Un ejemplo de software de este tipo sería una calculadora, un procesador de texto, hojas de cálculo, etc.

Aplicaciones cliente-servidor con Java

Son programas que se ejecutan en tu ordenador, pero necesitan conectarse a otro ordenador o dispositivo, que funcionan como servidor.

Un ejemplo sería cualquier programa que acceda a una base de datos remota, o un juego que recibe o devuelve datos que tenemos en un servidor de internet.

Aplicaciones servidor con Java

Normalmente son aplicaciones web, que se ejecutan en un servidor que devuelve páginas web. Por ejemplo, páginas hechas en JSP o Applets de Java.

Características del lenguaje de programación Java

¿Qué es el lenguaje Java? Aunque hemos hablado de las ventajas y desventajas de Java, vamos a nombrar una serie de características propias del lenguaje:

  1. Popularidad. Lleva muchos años siendo el lenguaje más usado en el mundo.
  2. Orientado a Objetos. Cuando programamos en Java,  todo está orientado a objetos, ya que su base de ejemplo es la de otro lenguaje de programación: C++. De esta manera, ayuda a visualizar el programa en términos reales. Todo lo que hemos aprendido de herencia, clases, nos servirá para entender su sintaxis a la hora de hacer un desarrollo.
  3. Robusto. Lo importante a la hora de programar en tecnología Java es que te puedes fiar a la hora de escribir código fuente. Una vez lo conoces, es complicado cometer errores, ya que es un lenguaje fuertemente tipado. A más a más es:
    1. Simple. Más sencillo de escribir que C o C++, que y te olvidas de utilizar punteros y administrar la memoria.
    2. Seguridad. Se utiliza en entornos de cualquier tipo y clase.
    3. Multihilo. Permite que los programas puedan ejecutar varios métodos o funciones en paralelo.
    4. Recolector de basura o Garbage Collector. De vez en cuando, todo lo que hay en memoria y no se usa se elimina para mejorar su eficiencia.
  4. Multiplataforma.
    1. Da igual la arquitectura.
    2. Portable. Permite escribir un código que puede ser ejecutado en diferentes sistemas operativos que puedan isntalar la JVM (Java Virtual Machine).
  5. Interpretado. En cualquier dispositivo puede instalarse su máquina virtual.

Como funciona el Garbage Collector [recolector de basura]

Muchos lenguajes de programación gestionan la memoria de forma dinámica en tiempo de ejecución (sino lo tendrías que hacer tú, por ejemplo con punteros, como puede ocurrir en C o C++).

El proceso de asignar la memoria puede variar, dependiendo del código fuente, pero siempre devolverá ese puntero al principio del bloque de memoria.

Una vez que la memoria se ha asignado, yo no es necesario ese puntero, así que el programa debe liberar esa memoria.

Los programas que no liberan esa memoria pueden dar fallos, cuando no hay memoria libre que el programa quiera asignar, asi que Java es el responsable de liberarla, y no el programador.

El proceso ocurre automáticamente, mientras dura el programa hecho en Java.

Quién creó Java

Haciendo un resumen de la historia de Java, el creador de Java fue James Gosling, para un proyecto en Sun Microsystems. El año que surgió era el 1991.

La primera versión era bastante básica, porque se hizo para un propósito muy concreto, pero conforme ha ido evolucionando el lenguaje, las versiones posteriores ofrecen un entorno seguro, al usarse en la web en forma de applets y posteriormente en otros entornos, como móviles (incluso antes de Android) o servidores.

Diferencias de Java y otros lenguajes

Vamos a hacer una pequeña comparativa entre este lenguaje y otros, dónde encontramos mucha información que suelen llevar a confusión.

Es habitual porque Java tiene un tipo de sintaxis que es muy común en otros entornos de programación.

  • ¿Qué diferencia hay entre Java y Javascript? Son totalmente difentes, ya que JavaScript está pensado para que se ejecute sólo a nivel web (al menos era la idea inicial).
  • ¿Qué diferencia existe entre Java y Android? Poca relación tienen, ya que Android es un sistema operativo, no un lenguaje de programación. Si que es verdad que las aplicaciones que se crean y ejecutan en Android están hechas con una versión de Java.
  • ¿Qué lenguaje es mejor Java o C++? En vez de hacer la pregunta sobre las diferencias (que son muchas como el uso de la memoria, los objetos,los atributo clases o variables), si estás empezando es mejor elegir Java.

Cómo instalar Java

Para poder programar en Java, es necesario instalar el JDK. ¿Qué es el JDK de Java? Por sus siglas, Java Development Kit, nos da la información que es el conjunto de librerías mínimas necesarias.

Tiene su propio compilador: escribimos las instrucciones, le damos a ejecutar el compilador, y ya tenemos un programa.

Entonces, ¿qué es el JRE? El JRE (Java Runtime Enviroment) lo necesitamos para que cualquier programa creado se pueda ejecutar. Contiene la JVM y todas las api.

La Java Virtual Machine es la máquina virtual de Java: el compilador coge el código fuente de la aplicación Java y generará un bytecode.

El bytecode es un conjunto de instrucciones de código máquina, pero sólo para la máquina virtual. Cada intérprete de la tecnología Java, da igual el sistema operativo, o si es un navegador usando applets, tiene una implementación de la JVM.

De esta manera, leerá cada clase compilada que hemos programado, con la sintaxis correcta, para que se ejecuten.

Ahora que ya sabes las diferencias, en la web de Oracle es dónde debes descargar el JDK de Java, además de Netbeans (un IDE parecido a Eclipse).

Si buscas versiones anteriores, solo es posible de la versión 1.8 (oficialmente), pero si le das al enlace de Learn More verás todas las versiones de cualquier clase de la 1.8.

¿Qué Java tengo instalado en mi pc?

Si te preguntas como saber que java tengo instalado, es muy fácil: busca el programa símbolo de sistema, puedes buscarlo al acceder en el buscador de windows, y escribes lo siguiente:

java -version

y si aparece una imagen parecida a ésta:

es que lo tienes instalado. Si no es así, en el enlace anterior lo puedes descargar.

También existe en el Panel de control un acceso de Java, pero es posible que no lo encuentres, depende de si tienes instalado la versión de 32 o 64 bits.

¿Qué diferencia hay entre java 32 bits y 64 bits?

Pues depende de tu sistema operativo. Si usas uno de 32 bits, sólo puedes optar por el Jave de 32 bits, pero si, por ejemplo, tienes un Windows de 64 bits, puedes optar por cualquier versión.

La diferencia es mínima, sólo a nivel interno de ejecución. Una manera de saber que java tienes instalado, 32 o 64 bits, es que la instalación por defecto se hace en la carpeta Program Files.

Si encuentras la carpeta Java en Archivos de programa, en un sistema operativo de 64 bits, recuerda, es de 64 bits, si está en Archivos de programa (x86), es de 32 bits.

¿Qué es Java auto updater y para que sirve?

Bajo este nombre se encuentra la actualización automática de Java. Siempre es recomendable tener la última versión de Java disponible, que suele arreglar fallos de funcionamiento y seguridad, pero tienes que tener claro que programas usas con Java, porque una actualización puede hacer dejar de funcionar una aplicación.

Sobretodo, no uses software que utilicen Java 1.6 o anterior.

Para quitar el mensaje de actualización de Java, busca en tu ordenador el fichero javacpl.exe, que es el panel de control, y verás una pestaña que pone Actualizar.

Ahí vemos una casilla que pone Comprobar Actualizaciones Automáticamente, que puedes desactivar o configurar.

Como eliminar Java

Si quieres desinstalar Java, puedes hacerlo como cualquier programa, pero las aplicaciones Java dejarán de funcionar.

En Windows, puedes ir a la lista de programas (Programas y características dentro del Panel de Control), buscarlo y desinstalar.

Puedes tener varias versiones instaladas a la vez, entonces sólo tienes que quitar las que consideres oportuno.

Qué libro de Java se recomienda para aprender desde cero

Si lo que quieres es aprender a programar Java desde cero, existe un libro de referencia y que nunca ha pasado de moda. El libro se llama Piensa en Java.

Curso de programación Java

Puedes elegir aprender a programar en Java con un curso de programación. Lo he hablado un poco más arriba.

Aunque no es el mejor para empezar, es el lenguaje que se utiliza en muchas universidades y colegio.

Encontrarás muchos curso de Java por internet, así que piensa cuál es tu objetivo, como puede ser programar en Android, y así podrás decidirte mejor.

¿Cuál es la conclusión final?

Si vienes de otro lenguaje de programación, será más fácil tu camino por Java.

Si no es el caso, no deberías de preocuparte, ya que puedes ver que desde el principio aprenderás un lenguaje de programación de los más usados y con una buena metodología, como la programación orientada a objetos.

Ajustes