Yerotaro’s Weblog

Septiembre 5, 2008

QUE ES JAVA?

Archivado en: JAVA1 — yerotaro @ 3:19 am
Tags:

Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más punteras.

 

La plataforma Java consta de las siguientes partes:

  • El lenguaje de programación, mismo.
  • La máquina virtual de Java o JRE, que permite la portabilidad en ejecución.
  • El API Java, una biblioteca estándar para el lenguaje.[1]

UN POCO DE HISTORIA:

La tecnología Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.

El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java.

El término Java fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym (”sólo otro acrónimo ambiguo más”). La hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café disponible en la cafetería cercana. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE. Otros simplemente dicen que el nombre fue sacado al parecer de una lista aleatoria de palabras.

CREADORES DE JAVA

bp1.blogger.com/…/s320/fotomysql.jpg

El lenguaje Java se creó con cinco objetivos principales:

  1. Debería usar la metodología 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++.[2]

PORQUE EL LOGO DE JAVA ES UNA TASA DE CAFE:

 

 blogs.inquirer.net/…/2008/05/java_logo.gif

Se sabe que la idea de ponerle Java a este lenguaje de programación vino de la gran aficción de sus programadores al Café (Java es el nombre de un tipo de café, originario del este de Asia, de la isla del mismo nombre). De hecho como tu ya lo mencionaste el logotipo de Java es una taza de café humeante, y es tambien muy frecuente ver granos de cafe al lado del nombre Java en un libro de programación.[3]

 

CARACTERISTICAS DE JAVA

Archivado en: JAVA1 — yerotaro @ 2:54 am
Tags:

 

Lenguaje simple

Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.

Orientado a objetos

Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red.

Distribuido

Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas.

Interpretado y compilado a la vez

Java es compilado, en la medida en que su código fuente se transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador.
Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).

Robusto

Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.

Seguro

Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.

Indiferente a la arquitectura

Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñado para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.

Portable

La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas.
Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).

Alto rendimiento

Multihebra

Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.

Dinámico

El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.

Produce applets

Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets.
Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java.
Por su parte, las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.
[4]

 

 

 

PROCESO DE COMPILACION JAVA

Archivado en: JAVA1 — yerotaro @ 2:41 am
Tags:

”Una vez que has copiado el programa Java en Hello.java, necesitas compilar tu programa Java a un código byte. A continuación presentamos algunas definiciones:

  • El código fuente es un programa escrito en Java o en otro lenguaje de alto nivel. A los humanos se les facilita leer los códigos fuente. Los códigos fuente se almacenan en archivos fuente. El programa en Java que viste en la sección previa es un código del applet Hello.
  • La compilación es el proceso de convertir un código fuente de alto nivel a un lenguaje para máquina u otra forma que ésta pueda ejecutar. Mientras que el código fuente de alto nivel pueden comprenderlo fácilmente lo humanos, el lenguaje de máquina de bajo nivel es una forma que es extremadamente difícil para los humanos de seguir, mientras que es muy fácil para que las máquinas lo interpreten.
  • El compilador es un programa de computación que realiza la compilación. En nuestro curso, lo más seguro es que utilizarás un compilador Java llamado javac que es parte del Java Development Kit (JDK). Hay más ayuda para instalar y utilizar el JDK en la sección de ayuda setting up your Java environment (configurando tu medio/ambiente Java).

Desde la ventana de la consola en DOS, puedes habilitar al compilador Java javac para que compiles el archivo de código fuente Hello.java con el comando:

javac Hello.java

El compilar un archivo fuente en Java produce un archivo de código byte. El código byte es un formato especial de nivel intermedio que se puede ejecutar por una Java Virtual Machine: JVM (Máquina Virtual de Java: JVM). Los archivos que contienen los códigos byte tiene una extensión .class. Cuando compiles Hello.java utilizando el compilador de Java javac, éste producirá el código byte en un archivo llamado Hello.class en el mismo directorio. Este archivo lo escribe y nombra el compilador Java y su nombre es siempre el mismo que el nombre de la clase definida en tu programa Java agregando la extensión .class. El resultado de una compilación exitosa de un programa en Java siempre es por lo menos un archivo .class.

El código byte no es código de máquina de bajo nivel. Tu computadora no lo puede ejecutar directamente. El código byte debe ejecutarse por una Máquina Virtual de Java: JVM. Aunque la JVM tiene el término máquina, la palabra máquina se refiere al desarrollo del software, ej., una máquina abstracta. Cuando el código byte se ejecuta dentro de la JVM, éste se traduce a un código real de máquina que puede ejecutarse físicamente por la máquina. Todos los intérpretes Java, navegadores capacitados para Java y los applet viewers tienen una JVM y pueden ejecutar un código byte. La JVM actúa como un intermediario entre la computadora real y tu código byte. Al tener un arquitectura de dos niveles con un código byte como una representación de nivel intermedio y teniendo la JVM actuando como una máquina abstracta, Java adquiere la característica de ser portátil a través de las plataformas computacionales. Por ejemplo, puede ejecutar tu código byte en una computadora Sun o una computadora Macintosh o cualquier otra computadora que tenga una JVM. Actualmente, las JVMs se incluyen en la mayoría de las plataformas computacionales existentes.”[5]

 

[6]http://atenea.ucauca.edu.co/~arendon/corba/CorbaJava/Image11.gif

 

JAVA2

Archivado en: JAVA1 — yerotaro @ 2:07 am
Tags:

CONCEPTO

Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación—parte de la Plataforma Java—para desarrollar y ejecutar software de aplicaciones en Lenguaje de programación Java con arquitectura de N niveles distribuida, basándose ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar a otras especificaciones del Java Community Process, Java EE es también considerada informalmente como un estándar debido a que los suministradores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; no obstante sin un estándar de ISO o ECMA.[8]

TIPOS

Java 2 Platform, Standard Edition (J2SE):
Nos proporciona un entorno de escritorio Core Java y desarrollo de aplicaciones Java, y es la base de Java 2 Platform, Enterprise Edition (J2EE) y tecnologías Java Web Services . Tiene el compilador, herramientas, módulos de ejecución, y la API de Java que le permiten escribir, probar, implementar y ejecutar applets y aplicaciones.

Java 2 Platform, Enterprise Edition (J2EE):
Define el estándar para el desarrollo basado en componentes aplicaciones multitier enterprise. Se basa en J2SE y ofrece servicios adicionales, herramientas y APIs para apoyar a la simplicicacion del desarrollo de aplicaciones empresariales(Aqui pondemos tener a los Jsp, Beans, Servlets, Jsf, Ejbeans, entre otros.Digamos que esto es para aplicaciones desde el servidor).

Java 2 Platform, Micro Edition (J2ME):
Es un conjunto de tecnologías y especificaciones dirigidas a los consumidores y dispositivos embebidos, como teléfonos móviles, asistentes personales digitales (PDA), impresoras, TV y set-top boxes(que segun supe, esta tecnologia ya no se va a utilizar).”[9]

 

 

ENTORNOS DE DESARROLLO

Archivado en: JAVA1 — yerotaro @ 1:43 am
Tags:

Los IDEs (Integrated Development Environment) son un conjunto de herramientas para el programador, que sulen incluir en una misma suite, un buen editor de código, administrador de proyectos y archivos, enlace transparente a compiladores y debuggers e integración con sistemas controladores de versiones o repositorios.

Cuando de Java se trata, son varias las opciones de IDEs, para utilizar. Gracias a El CoDiGo K mencionamos algunos de los principales y más populares:

·         BlueJ: desarrollado como un proyecto de investigación universitaria, es libre. 

http://www.softonic.com/windows/entornos-de-desarrollo

H    

·         Eclipse: desarrollado por la Fundación Eclipse, es libre y de código abierto 

 

 

 

http://www.softonic.com/windows/entornos-de-desarrollo  

·         Jbuilder: desarrollado por Borland, es comercial pero también existe la versión gratuita.

·         JCreator: desarrollado por Xinox, , es comercial pero también existe la versión gratuita.

http://www.softonic.com/windows/entornos-de-desarrollo  

 

 

·         JDeveloper: desarrollado por Oracle Corporation, es gratuito.

 

http://www.softonic.com/windows/entornos-desarrollo

·         NetBeans – gratuito y de código abierto.

 

http://www.softonic.com/windows/entornos-de-desarrollo 

Sun Java Studio Enterprise: desarrollado por Sun, es comercial.


Además, muchos de estos IDEs, han servido de base para otras plataformas de desarrollo o se pueden utilizar para el desarrollo en otros lenguajes (ya sea en distribuciones específicas o bien a través de la instalación de plugins):

QNX Momentics Development Suite

NetBeans Early Access for PHP

Eclipse C/C++ Development Tooling ”.[9]

 

INFOGRAFIA

Archivado en: JAVA1 — yerotaro @ 12:42 am
Tags:

[1]:http://www.desarrolloweb.com/articulos/497.php

[2]:http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java

[3]:http://www.sun.com/java

[4]http://ar.answers.yahoo.com/question/index?qid=20070824120909AAew11f

[5]http://www.iec.csic.es/CRIPTONOMICON/java/quesjava.html

[6https://www3.carnegietech.org/content/SSD/SSD1/1.7.1Mx/normal/unit2/readMod/how2run/how2run.html

[7] http://www.monografias.com/trabajos/java/java.shtml

[9]http://www.sun.com/java/J2EE

[10] http://luauf.com/2008/05/13/entornos-de-desarrollo-integrado-para-java/

 

Blog de WordPress.com.