INTRODUCCIÓN A JAVA

* ¿Qué es java?
Java es un lenguaje de programación de propósito general orientado a objetos desarrollado por Sun Microsystems. También se puede decir que Java es una tecnología que no sólo se reduce al lenguaje sino que además provee de una máquina virtual Java que permite ejecutar código compilado Java, sea cual sea la plataforma que exista por debajo; plataforma tanto hardware, como software (el sistema operativo que soporte ese hardware). El apoyo a esta tecnología viene dado por la gran cantidad de fabricantes que apoyan esta especificación de máquina virtual.

* Objetivos del lenguaje Java
El lenguaje Java se creó con cinco objetivos principales:


  1. Debería usar el paradigma de la programación orientada a objetos. 
  2. Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.
  3. Debería incluir por defecto soporte para trabajo en red.
  4. Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
  5. Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++. 

Para conseguir la ejecución de código remoto y el soporte de red, los programadores de Java a veces recurren a extensiones como CORBA (Common Object Request Broker Architecture), Internet Communications Engine o OSGi respectivamente.

* Características del lenguaje Java

Sun describe al lenguaje Java de la siguiente manera:
  • Simple 
  • Orientado a Objetos 
  • Tipado estáticamente 
  • Distribuido 
  • Interpretado 
  • Robusto 
  • Seguro 
  • de Arquitectura Neutral 
  • Multihilo 
  • con Recolector de basura (Garbage Collector) 
  • Portable 
  • de Alto Rendimiento: sobre todo con la aparición de hardware especializado y mejor software 
  • Dinámico 
Sun admite que lo dicho anteriormente son un montón de halagos por su parte, pero el hecho es que todas esas características pueden servir para describir el lenguaje. Todas ellas son importantes, sin embargo cabe destacar tres, que son las que han proporcionado tanto interés por el lenguaje: la portabilidad, el hecho de que sea de arquitectura neutral y su simplicidad. Java ofrece toda la funcionalidad de los lenguajes potentes, pero sin las características menos usadas y más confusas de éstos.

Java elimina muchas de las características de otros lenguajes como C++, para mantener reducidas especificaciones del lenguaje y añadir características muy útiles como el recolector de basura. No es necesario preocuparse de liberar memoria, el recolector se encarga de eliminar la memoria asignada. Gracias al recolector, sólo te tienes que preocupar de crear los objetos relevantes de tu sistema ya que él se encarga de destruirlos en caso de no ser reutilizados.

Java reduce en un 50% los errores más comunes de programación con lenguajes como C y C++. Entre las características más "indeseables" de C++ que se han evitado en el diseño de Java destacan: ficheros de cabecera, aritmética de punteros, sobrecarga de operadores, estructuras, uniones, conversión implícita de tipos, clases base virtuales, pre-procesador, etc.

* ¿Qué es una API?

API son las iniciales de Application Programmer Interface. Pensemos lo siguiente. Por muy completo que sea un lenguaje en cuanto a estructuras, tipos de datos y operadores, para que sea funcional necesita hacer E/S (procesar ficheros, pedir datos por teclado, leer el ratón o visualizar ventanas). La E/S es dependiente del Sistema Operativo. La API es una capa de abstracción que se pone encima del S.O. para permitir hacer entradas y salidas de una manera estandarizada. Se trata de una especificación de una librería software, detallando las llamadas a funciones, los argumentos, y los resultados que obtienes al utilizarlas. Una API sólo existe en papel y no es más que diseño. De hecho, para usar una API necesitas una librería que exista y que implemente esa API.

En otras palabras, las API son un conjunto de comandos, funciones y protocolos informáticos que permiten a los desarrolladores crear programas específicos para ciertos sistemas operativos. Las API simplifican en gran medida el trabajo de un creador de programas, ya que no tiene que «escribir» códigos desde cero. Estas permiten al informático usar funciones predefinidas para interactuar con el sistema operativo o con otro programa.* ¿Qué es la API de Java?

La API Java es una interfaz de programación de aplicaciones (API, por sus siglas del inglés: Application Programming Interface) provista por los creadores del lenguaje de programación Java, que da a los programadores los medios para desarrollar aplicaciones Java.

Como el lenguaje Java es un lenguaje orientado a objetos, la API de Java provee de un conjunto de clases utilitarias para efectuar toda clase de tareas necesarias dentro de un programa.

La API Java está organizada en paquetes lógicos, donde cada paquete contiene un conjunto de clases relacionadas semánticamente.


* ¿Qué es la máquina virtual de Java?

Una máquina virtual Java (en inglés Java Virtual Machine, JVM) es una máquina virtual de proceso nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el bytecode Java), el cual es generado por el compilador del lenguaje Java.

El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun.

La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final.

La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje, de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes arquitecturas, y, así, un programa .class escrito en Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java: “escríbelo una vez, ejecútalo en cualquier parte”, o “Write once, run anywhere”.

* ¿Qué es el compilador de Java?


La función de un compilador es convertir un programa escrito un en lenguaje como Java a un lenguaje que la computadora pueda entender. Los programas en Java se convierten en códigos de bytes. El comando para llamar al compilador es: javac MiPrograma.java

Donde el nombre del compilador es javac y MiPrograma.java es el nombre del archivo que contiene el código de nuestro programa.

Al compilar el programa, el compilador verifica que éste obedezca las reglas de programación en Java, y si algo sale mal, muestra los mensajes de error apropiados. El compilador crea un archivo con el sufijo .class. Este contiene el código de bytes equivalente a su programa en Java.


Pero el archivo .class que produce el compilador no está listo todavía para ejecutarse ya que requiere vincularse con las bibliotecas de clases Java proceso que se realizará cuando el programa se ejecute.

* ¿Cuales son las vesiones del Java?


JDK 1.0 (23 de enero de 1996)
JDK 1.1 (19 de febrero de 1997). 
J2SE 1.2 (8 de dieciembre de 1998 - Nombre clave Playground. Esta y las siguientes versiones fueron recogidas bajo la denominación Java 2 y el nombre "J2SE" (Java 2 Platform, Standard Edition), 

2SE 1.3 (8 de mayo de 2000) - Nombre clave Kestrel.

J2SE 1.4 (6 de febrero de 2002) - Nombre Clave Merlin. 
J2SE 5.0 (30 de septiembre de 2004) - Nombre clave: Tiger. (Originalmente numerado 1.5, esta notación aún es usada internamente.)
  • Java SE 6 (11 de diciembre de 2006) - Nombre clave Mustang. 

  • Java SE 7 - Nombre clave Dolphin.

    Java SE 8 
    Java SE 9
    Java SE 10
    Java SE 11

    * Requerimientos para programar en Java

    1) Java JDK
    Lo primero que necesitas para poder desarrollar en Java es el "Java Development Kit". Es un software gratuito que contiene todo aquello que requiere tu máquina para trabajar con el lenguaje, tanto la JVM como las librerías para realizar programas de Java, desde los más básicos hasta los más complejos y específicos.
    Como puedes apreciar, cuando descargas el JDK, en realidad estás descargando Java por completo, incluyendo todas las librerías y también por supuesto el Java VM (JVM). Si te descargas el JRE, en realidad estás trayéndote un subconjunto de Java. Así pues, simplemente tienes que fijarte qué es lo que estás descargando para traerte aquello que necesites.
    2) JVM
    Lo más seguro es que tú ya tuvieras la Java Virtual Machine en tu sistema (es común que Java esté instalado en tu ordenador porque incluso sin saberlo estés usando algún programa desarrollado con Java.) Si tenías o no Java realmente no es preocupante, pues como pudiste apreciar en la imagen anterior, la JMV se instala también cuando instalas el JDK para Java.
    3) IDE para desarrollo
    El tercer paso sería contar con un IDE para el desarrollo. IDE son las siglas de "Integrated Development Environment" o en español, Entorno de Desarrollo Integrado.

    * ¿Qué es un IDE?
    Un entorno de desarrollo integrado​ o entorno de desarrollo interactivo, en inglés Integrated Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software.

    Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de código (IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus.

    El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está bien definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y varias herramientas. Muchos IDE modernos también cuentan con un navegador de clases, un buscador de objetos y un diagrama de jerarquía de clases, para su uso con el desarrollo de software orientado a objetos.

    * Cuales son los IDE's más utlizados para programar con Java

    1.- NetBeans

    Inicialmente desarrollado por Sun y ahora en manos de Oracle, NetBeans es uno de los IDE para desarrollo Java más completos. NetBeans tiene una estructura modular fácilmente ampliable mediante complementos, existiendo configuraciones predefinidas para desarrollo Java SE, Java EE y también dirigidas a otros lenguajes de programación, como PHP o C++.


    NetBeans

    2.- Eclipse

    Al igual que NetBeans, Eclipse también es un proyecto de código abierto y el IDE está disponible para múltiples sistemas operativos. Eclipse es un IDE no solo para Java, sino para muchos otros lenguajes y herramientas de desarrollo. Es considerado por muchos el IDE por excelencia, al incorporar un gran abanico de complementos que facilitan prácticamente todas las tareas relativas al desarrollo de software.


    Eclipse

    3.- IntelliJ IDEA

    IntelliJ IDEA es un IDE para Java desarrollado por la empresa JetBrains, estando disponible para Windows, OS X/MacOS y GNU/Linux. Como ocurre con NetBeans y Eclipse, también puede incorporar soporte para otros lenguajes de programación. A diferencia de ellos, sin embargo, no se trata de un proyecto totalmente basado en software libre, sino de un producto comercial. Existe, no obstante, una edición reducida denominada Community que puede obtenerse gratuitamente.


    IntelliJ

    No hay comentarios.:

    Publicar un comentario

    JavaScript

    JavaScript