Download La noción de sociedad del conocimiento fue utilizada por primera

Document related concepts
no text concepts found
Transcript
“ Java: Programación con aroma y sabor a café”
Ana Lilia Careaga Mercadillo, Julio 2011
Abstract
What is Java? Isn't it a coffee drink? Yes, but that's not what we're talking about
here. We are talking about the computer language which has become very popular for
its multiple applications. Java is a simple,
object-oriented, network-savvy,
interpreted, robust, secure, neutral architecture, portable, high-performance and
dynamic language. It was developed in 1995 by Sun Microsystems, now acquired by
Oracle Corporation, and was intended for mobile and domestic devices to be able to
"talk" to each other. The language has a very similar syntax from C and C++ but has
a simpler object model. Java applications are compiled to bytecode and run in any
Java Virtual Machine (JVM), regardless operating system and computer architecture.
It is intended to let application developers "write once, run anywhere" and is
currently one of the most popular programming languages in use, particularly for
web server applications, video game consoles and mobile devices but also in science
supercomputers. If you browse the Web, you've probably run into Java somewhere.
Ever wondered what it is and what you can do with it? Read this article and discover
what Java really is.
------------------------------------------------------------------------------------------------------------Introducción
“Tinto “es para los colombianos lo que “Java” es para los estadounidenses, y
aunque ambos términos se usan para referirse a una taza de café, hay algunas
diferencias.
Para los colombianos, un tinto es, además de una taza de café, un sinónimo de
afecto y hospitalidad. Y quienes nos hemos honrado en probar tan deliciosa
bebida en Colombia, sabemos que al hacerlo surge una energía y optimismo que
invita a cualquier persona a entablar un diálogo aromatizado de café. En cualquier
lugar de este país: en los escenarios más exóticos, en las playas o en las grandes
ciudades, siempre habrá alguien que lo sirva y te lo ofrezca. En Bogotá, la oferta
es infinita para satisfacer el paladar del más exigente consumidor y encuentras la
mejor taza de café en diferentes presentaciones, colores y sabores…desde un
tinto hasta un exquisito café gourmet. La ciudad de Bogotá se encuentra en el
centro del país a una altura de 2,600 metros y se extiende de sur a norte en una
gran meseta entre verdes y altas montañas. La capital colombiana puede verse
envuelta por las suaves nieblas de la montaña y su temperatura oscila entre los 8
y 15 grados Celsius. La fatiga se hace sentir desde el momento de arribar y se
acentúa al hacer un esfuerzo superior al normal, pero indudablemente el aroma a
café que se respira en el ambiente reanima hasta el más fatigado corazón. En el
norte de la ciudad se encuentra la zona residencial y comercial. Aquí, las
modernas construcciones hechas de ladrillo ofrecen una vista espectacular con
todas sus tonalidades del amarillo rojizo de la arcilla cocida que se observa en las
fachadas, techos y escaleras, y no es raro asociarlas con el aroma de café que se
desprende a todas horas. En la zona sur se encuentran los barrios más humildes y
en el centro muchas plazas, museos, iglesias y espacios verdes .Pero Bogotá se
admira más en su centro histórico, en el barrio de “La Candelaria”, donde se
aprecian construcciones coloniales y arte virreinal .Ahí, desde luego, se encuentra
el capitolio, la catedral y la gran plaza Bolívar, que posee un especial estilo
europeo. Las casonas coloniales sirven de albergue para los museos y galerías de
arte. El más impresionante es el Museo de Oro que nos invita, además de admirar
una enorme y sorprendente colección de piezas de oro, a disfrutar en su cafetería
un “tinto” al final del recorrido que nos dará la energía suficiente para subir
después a el Cerro de Monserrate, rodeado de enormes eucaliptos y ubicado a
3,100 kms de altura sobre el nivel del mar, pero no te preocupes porque el
ascenso es en teleférico a menos que quieras desafiar a algunos peregrinos y
decidas hacer la caminata. Resulta fascinante caminar por las calles de Bogotá
repletas de gente, ruido, tiendas e iglesias pero lo mejor de todo es disfrutar a su
gente, cuya hospitalidad y calidez la ofrecen junto con sus platillos típicos como el
ajiaco, acompañado de una buena arepa. Lo anterior hace de nuestra visita a
Colombia, una experiencia inolvidable pero siempre y cuando, en cualquier
momento, se comparta un tinto, porque tinto, para los colombianos es amistad.
Es importante saber que los granos de café, tienen características distintivas
según su procedencia1. Y ésta es, quizá, la razón que hace una experiencia
diferente tomar un tinto (Bucaramanga, Medellín, Colombia) , un java (isla Java,
Indonesia), un café de “altura” o “high grown” (México y Honduras),un harrar
(Etiopía) o un minas gerais (Brasil), entre otros. Estas características como el
sabor, que incluyen sensaciones como “cítrico” o “terroso”, contenido, cuerpo y
acidez hacen que la estimulación se sienta diferente y , por lo tanto, el efecto
difiere sutilmente .Dichas características dependerán del ambiente local donde
crecen las plantas del café, su método de proceso y subespecie genética. Así, los
cafés presentan un gran abanico de sabores que van desde los más suaves hasta
los más fuertes y raros.
El café de Java tiene un sabor distintivo y muy disfrutado por los amantes del
café fuerte, picante y dulce. La producción de café arábigo2 más buscado de
Java se encuentra en la meseta de “Lien” en el extremo oriental de esta isla,
perteneciente a Indonesia, situada a una gran altitud, entre selvas tropicales y
montañas volcánicas. La isla de Java forma parte del archipiélago de Indonesia
ubicado en el sudeste asiático y es considerada como una de las joyas que la
naturaleza ha obsequiado a nuestro planeta. La capital de la República de
Indonesia es Yakarta, que se encuentra precisamente en esta isla que es, por
cierto, la más poblada del mundo con más de 124 millones de habitantes. Ahí, es
posible encontrar especies de plantas autóctonas cuya belleza exótica es
asociada no solo a sus paisajes sino a sus habitantes .En sus selvas tropicales se
encuentran orquídeas y multitud de plantas epifitas 3 o plantas aéreas que hacen
que el clima sea formidable para los cafetos .El origen de esta isla es totalmente
volcánico y en su relieve se levantan más de cien volcanes cuyas cumbres
1
Citado en http://www.bedri.es/Comer_y_beber/Cafe/Variedades_de_cafe.htm
. También es conocido como café turco
3
Se refiere a cualquier planta que crece sobre otro vegetal usándolo solamente como soporte
2
sobrepasan los 3,000 metros sobre el nivel del mar. Las cenizas volcánicas
contribuyen notablemente a la fertilidad de sus tierras pero aunque los volcanes
fertilizan sus inmediaciones y hacen rico el paisaje, su furia es temida por aquellos
que encuentran sustento en el suelo. Dicen que los javarianos venden sus almas
al volcán y éste las reclama con penosa regularidad.
El volcán Semeru es un faro humeante que cada cinco minutos llena el cielo de
destellos “atómicos”, visible desde cientos de kilómetros. Dicen los ciclistas que se
necesita tener unas piernas de acero para ascender un monte en Indonesia
porque la “lógica “ nacional de ahorro de cemento y alquitrán para construir una
carretera hace que las poblaciones se unan en línea recta, en vez de suaves
curvas, lo cual hace, desde luego que el camino tenga una pendiente abrupta e
inmontable. Pero, indudablemente, todo tiene su recompensa y para los ciclistas
ésta tiene forma de paisaje… y así, por ejemplo ,en el volcán llamado Bromo, al
bajar un camino polvoriento que conduce al centro del cráter , las nubes se ponen
al descubierto a los ojos de quien puede llegar ahí y constituye un bello asalto a la
vista por la naturaleza.
En Java , como en Colombia, el carácter amigable, jovial y “alocado” de su pueblo
está asociado al café .Y de igual forma, tomarse un “java” es irresistible para todo
visitante, pero a diferencia de la suave bebida colombiana, ésta es fuerte y densa
y es llamada localmente “Kopi Jawa”.Junto con el café, los indonesios te
comparten sus platillos típicos como es el “nasi goreng” (arroz frito) y el “mie
goreng” (fideos fritos)…mmm.. ¡ deliciosos!
El cultivo del café en Java se introdujo por los holandeses en el siglo XVII cuando
la isla formaba parte de su colonia de las Indias Orientales. Se hizo tan popular en
Occidente que en algunos sitios se llamó java al café. Esta denominación aún se
conserva en Norteamérica al grado que mucha gente desconoce que Java no sólo
es una taza de café sino una bella isla en el sudeste de Asia. Para los
informáticos, Java tiene un significado adicional porque es el nombre que se ha
dado a un importante lenguaje de programación, cuyo símbolo es,
precisamente, una taza de café caliente. Y para los no informáticos, Java es
“algo” que se instala en nuestra computadora, consola de juegos o dispositivo
móvil que nos permite jugar en línea, chatear con gente alrededor del mundo,
calcular el interés de tu hipoteca o ver imágenes en 3D.Para las empresas, es un
software necesario para que puedan “correr” muchas aplicaciones en la Intranet y
otras soluciones de e-business fundamentales en la operación de su negocio.
¡Java está en todas partes ¡ Está en tu computadora, en los data centers, en las
consolas de videojuegos, en los celulares o supercomputadoras científicas.
En este artículo se describirán las características de este importante lenguaje de
programación, fundamental para el ofrecimiento de la mayoría de los Servicios IT,
pero, antes de comenzar, asegúrate de acompañar esta lectura con una buena
taza de café.
-----------------------------------------------------------------------------------------------------------¿Qué es Java? ¿Cuándo y por qué surgió?
Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Microsystems4 (recientemente adquirida por Oracle Corporation) a principios
de los años 90tas.Un lenguaje de programación orientado a objetos es una forma
especial de programar, más cercana a como nos expresamos en nuestro lenguaje
en la vida diaria .Este lenguaje de programación conserva mucho de la sintaxis de
otros dos lenguajes llamados C y C++ 5, pero tiene mayor simplicidad porque
elimina ciertas herramientas que inducen errores.
Sun Microsystems patrocinó en 1991 un proyecto de investigación llamado
“Green” con la idea de tener un lenguaje de programación que se adaptara a
dispositivos electrónicos domésticos que tuvieran un microprocesador. El equipo
“Green Team” trabajó durante 18 meses en Menlo Park liderado por James
Gosling quien llamó a su lenguaje inicialmente “Oak” debido a un roble que tenía
a la vista de su ventana en las oficinas de Sun. Posteriormente se descubrió que
ya existía un lenguaje de programación con el mismo nombre y el término Java lo
sustituyó cuando estando en una cafetería frecuentada por varios de los
miembros del equipo fue sugerido mientras disfrutaban una taza de café fuerte y
aromático. Sin embargo, aún no está claro si también se trata de un acrónimo de
las iniciales de sus creadores: James Gosling, Arthur Van Hoff. Y Andy
Becholsheim; pero definitivamente, el hecho de que el icono que lo representa
sea una taza de café caliente, confirma que se refiere al café ya que en la
cafetería cercana a las oficinas de Sun se ofrece ese tipo de café .Otro dato
curioso es que los 4 primeros bytes de los archivos .class que genera el
compilador (llamados “número mágico”), son en hexadecimal 0xCAFEBABE.
Pero el proyecto Green tuvo dificultades porque el mercado de dispositivos
electrónicos inteligentes de uso doméstico no se desarrolló como se esperaba.
Peor aún, un contrato importante por el que Sun había competido se le otorgó a
otra empresa y el proyecto estuvo a punto de cancelarse. Afortunadamente,
coincidió que en este momento la World Wide Web comenzó a ganar popularidad
y Java tenía un gran potencial para adaptarse para agregar contenido y dar
animación a la Web .Esto dio nueva vida a la taza de café caliente y Sun anunció
formalmente una conferencia (1995) donde llamó la atención especialmente a la
comunidad de negocios. Por esta razón, en la actualidad Java se utiliza para
desarrollar aplicaciones empresariales a gran escala y para mejorar la
funcionalidad de los servidores.
El objetivo inmediato de Gosling fue reorientar la plataforma hacia la Web, que,
con la llegada del navegador Web que existía entonces “Mosaic” facilitaría la
comunicación interactiva. Sun creó además su propio navegador conocido bajo el
nombre de HotJava. Pero en el momento en que Netscape desplazó a Mosaic
Sun fue sorprendido positivamente cuando el Vicepresidente Ejecutivo (Marc
4
Sun Microsystems es una empresa informática recientemente adquirida por Oracle Corporation anteriormente parte de
Silcon Valley, fabricante de software y semiconductores.
5
C es un lenguaje de programación de alto nivel creado en 1972 por los Laboratorios .Bell. C++ es otro lenguaje de
programación, basado en la manipulación de objetos (programa orientado a objetos), creado en 1980
Andressen) de Netscape decidió que Java sería la plataforma que soportaría
sus navegadores. A partir de este momento, Sun fundó el grupo empresarial
JavaSoft para que se encargara del desarrollo tecnológico.6Dos semanas
después se publicó la primera versión del lenguaje Java. La promesa inicial del
propio Gosling fue “Write once, Run Anywhere” (Escríbelo una vez, ejecútalo en
cualquier lugar) , de donde es fácil deducir que Java es un lenguaje que corre en
cualquier plataforma y es independiente de ésta. Versatilidad que se logró
cuando se incorporó la posibilidad de ejecutar applets (que es un pequeño programa
que es utilizado en una página Web para ejecutar alguna aplicación) .
Java ha experimentado muchos cambios desde la versión primigenia llamada JDK
1.0 (Java Development Kit , versión 1 ) hasta la última Java SE 7 ( Java
Platform, Standard Edition ) que se lanzó en febrero de 2011.La próxima
versión Java SE 8 será lanzada a finales de 2012.
¿Por qué usar Java?
Indiscutiblemente, la versatilidad y eficiencia de la tecnología Java, la
portabilidad de su plataforma y la seguridad que aporta han convertido a esta
tecnología la ideal para su aplicación en redes, incluyendo Internet Es por ello que
celulares, centros de datos, consolas de juegos, supercomputadoras científicas,
dispositivos domésticos emplean Java. Basta mencionar que más de 4.500
millones dispositivos utilizan Java (celulares, sintonizadores, impresoras cámaras
Web, juegos interactivos, sistemas de navegación para automóviles, terminales de
lotería, dispositivos médicos, cajeros automáticos….).
¿Por qué los desarrolladores de software eligen Java?
Java ha sido probado, mejorado y ampliado por una comunidad especializada de
más de 7 millones de desarrolladores que la empelan en todo el mundo. Las
razones son las siguientes:





6
Desarrollar software en una plataforma y ejecutarlo en prácticamente
cualquier otra plataforma (cualquier sistema operativo)
Crear programas para que funcionen en un navegador Web y en
servicios Web
Desarrollar aplicaciones para servidores como foros en línea, tiendas,
encuestas, procesamiento de formularios HTML, etc.
Combinar aplicaciones o servicios que usan el lenguaje Java para crear
servicios o aplicaciones totalmente personalizados
Desarrollar potentes y eficientes aplicaciones para teléfonos móviles,
procesadores remotos, productos de consumo de bajo costo para
prácticamente cualquier tipo de dispositivo digital
Información extraída de varias fuentes: http://www.cad.com.mx/historia_del_lenguaje_java.htm, Mc Laughlin, Brett Java &
XML, 2nd Edition Solutions to Real-World Problems,Burd, Barry, Java for dummies. 5th edition
Diferentes Ediciones Java para diferentes Aplicaciones
Sun define tres ediciones en un intento por cubrir distintos entornos de
aplicación, donde los programas son organizados en grupos llamados bibliotecas.
Cada biblioteca contiene interfases y software relacionados .Así, ha distribuido
muchas de sus API´s7 (Application Program Interface) de manera que
pertenezcan a cada una de las tres principales ediciones8:

Java ME (Java Platform, Micro Edition) o J2ME — orientada a entornos
de limitados recursos, como teléfonos móviles, PDAs (Personal Digital
Assistant), etc. Especialmente para dispositivos con limitaciones de memoria o
procesamiento por lo tanto sus API´s son ligeras J2ME se divide en dos grupos
de bibliotecas:
- Connected Limited Device Configuration (CLDC): Para móviles y
smartphones, que son más limitados
- Connected Device Configuration (CDC): Para tablets, netbooks , Pocket
PCs y algunos dispositivos más poderosos.

Java SE (Java Platform, Standard Edition) o J2SE — para entornos de
gama media y estaciones de trabajo. Aquí se sitúa al usuario medio con PC de
escritorio. Ofrece varias API´s que se bajan directamente del sitio de Java
(Oracle Corporation).Se divide en dos grupos:
- Java Development Kit (JDK) o Standard Development Kit (SDK): un kit para
desarrollo en Java y debe ser instalado sólo por los desarrolladores, por poseer
herramientas para tal tarea.
- Java Runtime Edition JRE: una versión más liviana de JDK pues está
preparada para el ambiente de ejecución, o sea, esta versión ejecutará los
sistemas construidos con SDK.

Java EE (Java Platform, Enterprise Edition) o J2EE — orientada a
entornos distribuidos empresariales o de Internet. Posee un gran número de
API´s donde la seguridad es la principal preocupación. Es ideal para realizar
7
Una API es el conjunto de funciones y procedimientos que ofrece cierta biblioteca para ser utilizado por otro software
como una capa de abstracción.
8
Citado en http://www.oracle.com/technetwork/java/index.html
aplicaciones en servidores de aplicación así como para distribución de
servicios a terceros. La versión 7 estará disponible para trabajar en una
plataforma de Cloud Computing.
La información sobre cada edición y el sitio donde pueden bajarse gratuitamente
es: http://www.oracle.com/technetwork/java/index.html
El conjunto de las APIs es controlado por Sun Microsystems/Oracle junto con
otras entidades o personas a través del software llamado JCP (Java Community
Process). Las compañías o individuos participantes del JCP pueden influir de
forma activa en el diseño y desarrollo de las APIs, algo que ha sido motivo de
controversia.
Otras Ediciones de Java
JavaFX es una familia de productos basados en Java para la
creación de RIA´s (Rich Internet Application) que son aplicaciones Web que tienen
la característica principal de ser multimedia e interactivas. Hay dos tipos de
plataformas: JavaFX Script y JavaFX Mobile y corren en una amplia variedad de
dispositivos.
Java Card : Es una tecnología basada en Java para applets (aplicaciones) en
tarjetas inteligentes como la que se emplea en tarjetas SIM del celular y
monederos electrónicos.
Java TV: También conocida como JSR 927 provee una implementación segura
para aplicaciones que corren a través de la TV o set top boxes como video en
demanda, juegos y aplicaciones educativas.
Máquina Virtual Java
Java es multiplataforma. Cuando un programa Java es compilado, un código
intermediario es generado al cual se le ha llamado bytecode. Este bytecode es
interpretado por la Máquina Virtual Java (JVM) instalada en la computadora del
usuario y corre en la mayoría de los sistemas operativos. En otras palabras, la
máquina virtual es una máquina hipotética que emula por software una máquina
real y es la responsable de traducir los bytecodes en el código nativo del sistema
operativo
de
manera que se
pueda correr cualquier aplicación.
Compilador e Interpretador Java
La compilación consiste en traducir, línea por línea, un programa de alto nivel
a instrucciones en código de máquina que pueda interpretar las acciones a
seguir .De un código Java, que está en un archivo .java, el compilador javac
genera el bytecode el cual crea a su vez un archivo .class. Después de eso la
Máquina Virtual Java ejecuta el bytecode y corre el programa. El compilador
de Java llamado JIT (Just in time) analiza y borra códigos innecesarios
aumentando con ello la velocidad de ejecución lo que ha hecho de Java un
lenguaje más rápido que el propio “C”.
Entornos de desarrollo en Java (IDE) : Eclipse, Netbeans y Jbuilder
Existen diferentes programas comerciales que permiten desarrollar
aplicaciones en código Java. La compañía Oracle, que recién adquirió Sun
Microsystems, distribuye gratuitamente el JDK (Java Development Kit) y
bibliotecas (a veces llamadas también librerías) por separado que permiten
compilar y ejecutar programas en Java. Sin embargo los entornos de
desarrollo integrados o IDE (Integrated Development Environment), como
su nombre lo dice, en un mismo programa es posible escribir el código en
Java, compilarlo y ejecutarlo sin tener que cambiar de aplicación .Los entornos
de desarrollo en Java más representativos son los siguientes:
Eclipse: Eclipse 9 es un entorno de desarrollo integrado (IDE en inglés) de
código abierto multiplataforma para desarrollar "Aplicaciones de Cliente
Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en
navegadores
Netbeans: NetBeans 10 es un proyecto de código abierto de gran éxito con una
gran base de usuarios, y una comunidad en constante crecimiento. La
plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir
de un plug- in. Un plug- in es un archivo Java que contiene classes de java
escritas para interactuar con las APIs de NetBeans y un archivo especial
(manifest file) que lo identifica como módulo9
10
Citado en http://es.wikipedia.org/wiki/Eclipse_(software)
Citado en http://es.wikipedia.org/wiki/NetBeans
Jbuilder: Jbulider
parecido a Eclipse.
es un entorno de desarrollo IDE, basado en Java y
¿Dónde puedo aprender a programar en Java?
Actualmente en muchas escuelas y universidades ofrecen cursos de
programación en Java. Pero para los que quieran aprender a programar en
Java por su cuenta hay una infinidad de tutoriales en la red. Recomiendo
revisar los que ofrece Oracle en:
http://download.oracle.com/javase/tutorial/index.html
Para aprender a hacer tu primer programa de “Hello World” en Java, puedes ver
este video:
http://www.youtube.com/watch?v=UGmhks4K13g&feature=related
……………………………………………………………………………………………
Conclusiones
Dicen que escribir un programa en cualquier lenguaje de programación es como
escribir un ensayo, y escribir un ensayo es como crear una buena pintura. Porque
tanto los códigos de línea, como las frases, al igual que los colores, se deben
combinar en forma agradable. La armonía resultante de esta mezcla es el gran
secreto de los ensayistas así como el de los programadores .Quien sabe escribir
un buen ensayo, puede hacerlo en todos los lenguajes si respeta las reglas
gramaticales y la sintaxis de cada lengua; de manera semejante, un buen
programador lo es en todos los lenguajes si tiene dominio de los códigos y su
respectiva sintaxis .Pero, no basta con el dominio impecable del código, en este
caso de Java, como tampoco basta que las ideas de un ensayo sean armoniosas,
es preciso mostrar argumentos de una forma cautivante. Y, así como un ensayo
se escribe para ser leído y cautivar al lector por su necesidad de ilusión y de
esperanza, un programa de cómputo debe ser escrito para transformar un simple
código en una acción específica que pueda tener argumento para reutilizarse por
cualquier programador en cualquier máquina. Y , de manera semejante a un
texto, como diría Octavio Paz: “el texto es un lenguaje que al usarse se reproduce
y se vuelve otro”, los lenguajes de programación, en especial los de código abierto
buscan ese mismo efecto: hacer desaparecer al autor , dejando sólo su huella
para que pueda ser continuada por alguien más.
Java se ha convertido en un lenguaje de programación
con una
implantación masiva en todos los entornos (personales y empresariales).Por
esta razón es imprescindible buscar la armonía de un ensayo, los colores
cautivantes de una bella pintura y el logro personal que se tiene ante el hecho de
crear algo pensando en los demás. El desarrollo del software es en definitiva, una
actividad creativa , aunque no necesariamente artística ya que no hay que
confundir arte con ingeniería.