Ir al contenido principal

Introduccion a Java

Que es Java?
Java es un lenguaje de programación de propósito general concurrente orientado a objetos,en el cual podemos realizar cualquier tipo de programa.


Objetivos de Java

Fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser reconpilado para correr en otra.


Características de Java

Sun describe al lenguaje Java de la siguiente manera:
  • Simple.
  • Orientado a Objetos.
  • Tipado estática mente.
  • 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.

Que es una API

Una API (siglas de Application Programming Interface) es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la interfaz de usuario facilita la interacción humano-software.

Las API son valiosas, ante todo, porque permiten hacer uso de funciones ya existentes en otro software (o de la infraestructura ya existente en otras plataformas) para no estar reinventando la rueda constantemente, reutilizando así código que se sabe que está probado y que funciona correctamente.

Que es la API de Java

Es una interfaz de programación de aplicaciones provista por los creadores del lenguaje Java, que da a los programadores los medios para desarrollar aplicaciones Java.
Como este 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.

Que es la maquina virtual de Java

Esta es la encargada de interpretar el código y transformarlo bytecode un código de computadora fácil de entender con el cual nos ayuda a que los programas Java sean portables y elimina la difícil tarea de tener que programar en diferentes sistemas operativos.
Una máquina virtual Java 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 cual es generado por el compilador del lenguaje Java.
Ejemplo del proceso:

Esquema de funcionamiento de la compilación Java

Que es el compilador Java

Un compilador de java es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina).

El funcionamiento corresponde a un proceso de traducción que se compone internamente de varias etapas o fases, que realizan distintas operaciones lógicas.

Entre las fases de análisis se describen el Análisis léxico, Análisis sintáctico y Análisis semántico.

JDK: 
Realiza un análisis de sintaxis del código escrito en los ficheros fuente de Java con extensión *.java, de no encontrar errores en el código genera los ficheros compilados con extensión *.class y en otro caso mostraría la línea o líneas erróneas.

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 nombreprograma.java, donde el nombre del compilador es javac y nombreprograma.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.


Cuales son las versiones de Java

Java aparece en 1995 como un nuevo lenguaje de programación con soporte multiplataforma desarrollado por James Gosling y Sun MicroSystems.
Versiones De Java
Versión 1.0: La primera versión del lenguaje contiene las clases principales , la maquina virtual y el API gráfico de AWT es un lenguaje que acaba de nacer.

Versión 1.1: Aparece en 1997 y su mayor aportación fue la inclucion para el estándar javabeans y JDBC para base de datos.

Versión 1.2: en 1998 incluyen en Framework de Collections y la api de swing, para interfaces de ventanas mas complejas.

Java ha madurado y el fabricante dispone a realizar actualizaciones.
VersionesDeJavaAvance
Versión 1.3: Se incluye la arquitectura de la maquina virtual, y su arquitectura hotspot con compilacion JIT.

Versión 1.4: Salto importante en API´s, Se realiza un fuerte soporte de XML, expresiones regulares y criptografia.

Versión 1.5: También denomina Java 5 se producen dos saltos importantes a nivel del core del lenguaje. Por una parte la inclusión de tipos Genéricos que se echaban en falta en el mundo de las colecciones. Por el otro lado la inclusión del concepto de meta datos con el uso de anotaciones. Se amplía el soporte de APIs orientadas a programación concurrente.

Java ha madurado mucho y es una de las plataformas de referencia.
VersionesDeJavaUltimas
Versión 1.6: Se Incluye una api, "on the fly" que ayuda a la gestión de servicios web.

Versión 1.7: Mejora ala Maquina virtual y colectores de basura.

Versión 1.8: Se abren las puerta a la programación funcional con el uso de expresiones Lambda y Streams.

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.


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. Te recomendamos usar Eclipse, luego veremos algo más sobre cómo obtener y usar Eclipse.


IDE´s para Java

Algunos de los Ides mas utilizados para programar en Java son:

  • Netbeans
  • Eclipse
  • Intellij Idea
  • JDeveloper
  • Bluej
  • Android Developer
  • JGrasp
  • JCreator









Comentarios

Entradas más populares de este blog

SCRUM

Scrum también se utiliza para resolver situaciones en que  no se está entregando al cliente lo que necesita , cuando  las entregas se alargan demasiado ,  los costes se disparan  o  la calidad no es aceptable , cuando se necesita  capacidad de reacción ante la competencia , cuando  la moral de los equipos es baja y la rotación alta , cuando es necesario  identificar y solucionar in eficiencias sistemáticamente  o cuando se quiere trabajar utilizando un  proceso especializado en el desarrollo de producto . Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas practicas para trabajar colaborativa mente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas Practicas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos. Scrum se utiliza en proyecto complejos los cuales necesitan obtener resultados rápido donde los cambi...

Proceso

El desarrollo se realiza de forma iterativa e incrementa. Cada iteración, denominada  Sprint,  tiene una duración preestablecida de entre 2 y 4 semanas, obteniendo como resultado una versión del software con nuevas prestaciones listas para ser usadas. En cada nuevo  Sprint,  se va ajustando la funcionalidad ya construida y se añaden nuevas prestaciones priorizándose siempre aquellas que aporten mayor valor de negocio. Product Backlog :  Conjunto de requisitos denominados historias, descritos en un lenguaje no técnico y priorizados por valor de negocio, o lo que es lo mismo, por retorno de inversión considerando su beneficio y coste. Los requisitos y prioridades se revisan y ajustan durante el curso del proyecto a intervalos regulares. Sprint Planning :   Reunión durante la cual  el Product Owner presenta las historias del backlog por orden de prioridad. El equipo determina la cantidad de historias que puede comprometerse a completar en ese sp...

Roles

En Scrum, el equipo se focaliza en construir software de calidad. La gestión de un proyecto Scrum se centra en definir cuáles son las características que debe tener el producto a construir (qué construir, qué no y en qué orden) y en vencer cualquier obstáculo que pudiera entorpecer la tarea del equipo de desarrollo. El equipo Scrum está formado por los siguientes roles: Scrum máste r: Persona que lidera al equipo guiándolo para que cumpla las reglas y procesos de la metodología. Gestiona la reducción de impedimentos del proyecto y trabaja con el Producto owner para maximizar el ROI. Product Owner : Representando de los accionistas y clientes que usan el software. Se focaliza en la parte y el es responsable del ROI del proyecto (entregar un valor superior al dinero invertido). Traslada la visión del proyecto al equipo, formaliza las prestaciones en historias a incorporar en el product Backlog y las re prioriza de forma regular. Team: Grup...