Diario de un principiante (Capítulo 1)
Diario de un Principiante (parte 1): La amenaza fantasma
Fecha de creación: 15.04.2001
Revisión 1.0.1 (25.11.2002)
Leo Suarez
leo AT javahispano DOT org
|
Introducción
Este diario no pretende ser ni un tutorial ni un compendio de cosas descubiertas sobre este lenguaje puestas sin orden ni concierto. Ésto pretende ser simplemente eso, un diario, en el que intento plasmar todo lo que he ido comprendiendo y explicarlo con mis palabras, tal y como lo veo.
Está hecho desde el prisma de una persona acostumbrada única y exclusivamente a la programación estructurada, con bastante pánico a eso de los objetos y partiendo de cero en la programación en Java.
Alguno se preguntará, ¿y si el primer lenguaje que toco es JAVA?. Amigo mío, no te preocupes, también te vale, es más, partes con mayor ventaja que yo, pues mientras yo y los que están en mi situación tenemos que desprogramar el chip de la programación estructurada que tenemos instalado en el cerebro, tú lo aprenderás de forma natural. Es lo mismo que cuando pretendes aprender un idioma. Bueno, basta de tanta paja y al grano.
O en inglés el Java Development Kit, lo puedes conseguir en la página de Sun , http://java.sun.com[1] o en alguna revista dedicada a la programación. Son unos 20 MB y de fácil instalación. Luego, una vez instalado tendrás que solucionar el problema del CLASSPATH, cuestión que está resuelta en el FAQ de esta misma página [2].
En principio vale cualquiera, por ejemplo el notepad o el wordpad de Windows o el emacs de Linux pero mi consejo es que utilices uno más completo, que interprete el código Java (te permita compilar y ejecutar desde dentro de él), te ponga la letra de diferentes colores según el tipo de datos que estés usando (clarifica el código), etc..., éstos son los llamados entornos de desarrollo (actualmente podeis encontrar una lista y comentarios de sus usuarios en javaHispano [3]).
Vale, de acuerdo pero dime alguno. Pues de los que he oído hablar entre otros está el Borland JBuilder, Visual Age for Javade IBM, Forte for Java de Sun y un montón más, así que puedes elegir el que más te guste ya que todos tienen versiones gratuitas o de evaluación y los puedes encontrar en Internet (introduce el nombre de ellos en un buscador que ya te saldrá una extensa relación de lugares) o bien en cualquier revista informática (es raro el mes que no aparece alguno). Eso sí, olvídate del Visual J++ (de Microsoft), pues según los entendidos ésto ni siquiera es Java.
En mi caso particular empleo el Kawa, sencillo de utilizar, completo y que además te resuelve automáticamente el problema del CLASSPATH en una de sus opciones.
Ya lo tengo todo, ya puedo empezar a programar. ¿seguro? ¿tú crees? ¿por dónde empiezas? ;-), abre con un editor de páginas HTML las especificaciones de la API (directorio_donde_tienes_el_JDK\doc\index.html) y a los 5 minutos se te pondrá la misma cara de asombro que se me puso a mí cuando veas los 59 paquetes, que por ejemplo trae el JDK1.2 (también llamado Java 2) teniendo cada paquete incorporadas innumerables clases y éstas a su vez con incontables métodos.
De estos hay un montonazo y más, pero no por tener más bibliografía vas a aprender antes, todo lo contrario, vas a leer lo mismo pero con diferentes palabras y distinta explicación con lo que te puedes acabar haciendo un lío. Mi consejo es que elijas lo justo pero bien elegido. Si tienes acceso a las bibliotecas públicas o universitarias vale la pena pillarse un libro para realizar consultas, no recomiendo comprártelo porque yo nunca he visto en los libros que he consultado que esté hecho todo lo que quiero hacer específicamente y tampoco merece la pena leértelo de cabo a rabo pues no te va a solucionar gran cosa.
En cuanto a manuales o tutoriales, sin duda alguna recomiendo los que estén hechos por estudiantes como nosotros porque se nota que han tenido que pasar por el mismo periplo que nosotros y la verdad que vienen bien mascaditos. Busca por las páginas universitarias si sabes de alguna dirección o bien en un buscador teclea "tutorial java" y entretente unos cuantos días consultando la relación que te de el buscador para decidir cuál te parece más adecuado. Uno que está muy bien, y además la POO está muy bien explicada es Aprenda Java como si estuviera en Primero en formato PDF [4].
Y como no, los tutoriales on-line los cuales podéis encontrar en la página de Sun[1], son bastante completos y cargados de ejemplos que es lo que realmente nos interesa a los principiantes. Además tienen la ventaja que en vez de tener la mesa llena de libros y tutoriales hojeándolos de delante a atrás y viceversa , éstos los tienes en un visor HTML lleno de enlaces con lo que si quieres aprender acerca de algo que a su vez necesita de otras cosas, el propio tutorial te enruta el aprendizaje.
Otro tutorial bastante bueno es Thinking in Java (más que un tutorial es un libro entero, actualmente en proceso de traducción al castellano), lo puedes encontrar en formato PDF y HTML en la web [5] del autor, Bruce Eckel.
Otra buena fuente de información son los foros o news y afortunadamente tenemos uno en español en es.comp.lenguajes.java. Ahí se reúnen desde los gurús hasta los novatos como nosotros por lo que encontrarás cuestiones sencillas como las que tú te plantearás, trucos de programación, etc... No tengas miedo a preguntar ya que las news van de ayudarse los unos a los otros y además, nadie nació sabiendo a programar en Java, al menos no la mayoria ;-) .
Bueeeno, por fin ya puedo empezar. Pues sí, aunque si puedes aguantar un poco te recomiendo que te cojas un libro o tutorial o manual o lo que sea que te explique bien el concepto de la POO (Programación Orientada a Objetos), porque por si no te lo han dicho o no te has dado cuenta, en Java no se habla de otra cosa que de clases, objetos, métodos y atributos. Ojead la sección de artículos [6]de javaHispano y seguro que encontrais algo.
Aquí te expongo yo cómo veo lo que es una clase, un objeto y un método que de momento te vale para empezar a programar conmigo en Java unas cuantas líneas más abajo.
Una clase es un conjunto de cosas relacionadas entorno a un mismo tema, por cosas me refiero a datos y funciones (llámense métodos en la POO) y un objeto hace uso de ella. Para los estructurados, la clase haría las veces del tipo de variable y el objeto haría el papel de la variable (OJO!! ésto es para entendernos pero no es realmente así, ok?).
Imaginemos que queremos informatizar las características de los coches, pues bien, dado que todo lo que vamos a trabajar está relacionado con él, lo lógico es que Coche sea la clase, a este coche le querremos dar o definir un color (setColor()), una marca (setMarca()), un modelo (setModelo()), etc..., pues bien éstos serían los métodos o funciones asociados a la clase Coche y miCoche, tuCoche serán ejemplares concretos de la clase Coche, o sea, son los Objetos. Comorr? ejemplares concretos? Sí, porque miCoche es gris plateado, marca BMW y modelo M3 y tuCoche tendrá otro color, será de otra marca y otro modelo (si me dices que es el mismo es que estás fardando igual que yo) ;-))
Bueno, pues por esta semana vale ya que ahora estarás ocupado instalando todo lo necesario para tener un entorno amigable de programación, recopilando información y estudiándote el concepto de POO.
La semana que viene (o la otra, o la siguiente, en fin, cuando tnga un rato) veremos los aspectos más importantes de la POO (una vez estudiada) a través de un sencillo programa en Java que a mí es como mejor me resultó para aclarar esto, por eso te recomiendo que primero comprendas o al menos te mires la teoría ya que si luego la plasmas en un ejemplo verás que se asimila mucho mejor.
También comprenderemos para qué sirven las palabras reservadas que nos encontramos en el comienzo de cualquier clase de Java y qué es eso de empaquetar clases.
Bueno amigos, hasta la semana que viene... con otra lección de SuperCoco ;-))).
jnick, un asiduo del foro de javaHispano [7], comento este artículo, indicando con que estaba de acuerdo y con qué no, aquí sus reflexiones por si te pueden ayudar.
Se recomienda el libro -Aprenda Java como si estuviera en primero-. A mi ese libro me ha parecido un ladrillo y sobre todo, es contraproducente empezar leyéndolo por el primer capítulo, puede desanimar bastante porque no te enteraras de nada. Si decides leer ese libro empieza por el Capítulo 2. Yo, mas o menos, he leido ese libro y ahora me ha dado por volver a 'reaprender' Java leyendome otro: -Java 2- de la coleccion guia practica de Anaya. Tal vez este puede estar mejor para aprender, pero es solo una intuición y una opinión personal porque todavía no lo he leído, solo lo he ojeado. Es pequeñito, (300 páginas, libro de bolsillo), pero parece que promete. Te puedes bajar el código de los programas del libro de la web de anaya.
Tambien discrepo del IDE, (programa para hacer programas), yo utilizo JCreator y me gusta bastante. Mira los comentarios
[8]
. En realidad no es necesario ningun IDE para hacer programas en java. Puedes hacerlo con cualquier procesador de texto grabando el fichero como lo_que_sea.java, pero con un IDE es mucho mas comodo el compilar, ejecutar, etc...
Otra cosa que puede ayuardarte en esta sopa de letras que es el mundo de Java es que hay como "3 familias" de Java: j2me (Java 2 MicroEdition), j2se (Java 2 Standard Edition) y j2ee (Java 2 Entreprise Edition). j2me es java para PDAs y telefonos moviles. j2se es el Java Standard que casi todo el mundo empieza aprendiendo, y j2ee es java para aplicaciones empresariales. De menor a mayor, cada uno es un subconjunto del otro. Al menos yo lo entiendo asi.
Tambien tienes que tener en cuenta que Java tiene lo que se llama, (o al menos yo llamo), extensiones. Partes del lenguaje que para utilizarlas tendras que bajarte al igual que para la jdk una documentacion y un conjunto de librerias que tendras que añadir a tu CLASSPATH. Por ejemplo, para manejar servlets, (no te preocupes todavia por ellos), necesitas bajarte un fichero de de la web de sun, http://java.sun.com, los creadores del lenguaje.
Esta web [9] es lo mejor que he encontrado de java en español. Visítala de vez en cuando, se coge mucha culturilla de java.
Paciencia. Mucha paciencia. Esto de Java es un mundo y al principio no te enteras de nada, sobre todo si eres nuevo en programacion orientada a objetos. Con cada puerta que abro encuentro una habitacion mas grande. Al igual que tu, yo tambien estoy aprendiendo. Creo que en esto de Java siempre se esta aprendiendo.
Recursos
[1] Página oficial de Java,
http://java.sun.com/
[2] FAQ de javaHispano,
/faq/faq.shtml
[2] Entornos de desarrollo en javaHispano,
/ides/ides.jsp
[4]
Aprenda Java como si estuviera en primero
[5] Thinking in Java,
http://www.BruceEckel.com.
[6] Todos los artículos de javaHispano,
/articulos/seccion.jsp?id=0
[7] Foros de javaHispano,
/foro/
[8] Comentarios sobre JCreator,
/ides/comentarios.jsp?id=8
[9] Web de javaHispano,
http://www.javahispano.org
Acerca del autor
Leo Suarez
Leo Suarez está actualmente realizando el proyecto de fin de carrera para obtener el título de Ingeniero Superior de Telecomunicaciones por la Universidad de Las Palmas de Gran Canaria.
Cuando no está proyectando o escribiendo para javaHispano aprovecha para disfrutar con la novia y los amigos del estupendo clima de las islas afortunadas.
Reader Comments