martes, 23 de septiembre de 2014

Entornos de programación de Java.

Hola como estás querido/a lector/a, espero que te la estés pasando bien y espero que sea de tu agrado  esta muy modesta serie de publicaciones que estoy escribiendo para todos, si tienes dudas, observaciones o sugerencias, estoy a tus ordenes en la sección de comentarios de la parte de abajo.

Ya que nos vamos a adentrar al universo de Java, en esta ocasión voy a dar  una breve referencia a los entornos de programación, porque si vamos a programar necesitas saber adónde vas a editar, compilar y depurar, por fortuna para nosotros, tenemos una amplia variedad de opciones, para escoger la herramienta que mejor se acople a nuestras necesidades.

JDK (primero lo primero).

Es lo más esencial cuando se habla de programar en Java, esta herramienta es desarrollada por Oracle y es distribuida de manera gratuita, contiene todo lo necesario para crear, compilar y ejecutar nuestros programas, una vez instalado no hace falta gran cosa para comenzar, puedes incluso empezar con tu editor de texto más básico y tu línea de comandos, además es multiplataforma, y no hay limitante sobre ningún sistema operativo. Si quieres descargarlo te dejo el link aquí abajo y un pequeño tutorial sobre cómo usarlo en tu consola.

Descarga JDK.

http://www.oracle.com/technetwork/java/javase/downloads/


NetBeans.

Escribir código nunca fue tan delicioso hasta que llego el entorno de desarrollo integrado, creado por Sun y ahora mantenido por Oracle, es apto para todos los programadores de Java, desde los que se están iniciando, hasta los viejos lobos de mar. Con este entorno podemos escribir, compilar, depurar y  ejecutar nuestros programas de aplicación, applets, aplicaciones móviles y aplicaciones gráficas para todos los escritorios, cuenta con una amplia comunidad de desarrollo que provee al IDE de muchos plug-ins, es multiplataforma, y por si fuera poco, también tiene soporte para otros lenguajes de programación como el C++, PHP, JS y JSP; si estas buscando un entorno de desarrollo, seguramente NetBeans estará entre tus primeras opciones.

Descarga NetBeans 


Eclipse

Una de nuestras navajas suizas del desarrollo de aplicaciones, inicialmente fue desarrollada por IBM, hoy en día es mantenida por la fundación Eclipse, la cual le ha dado un enorme empuje a todas sus variantes, y por cierto, valla que tiene variantes, eclipse tiene muchos colores y sabores, desde la edición estándar, la developers, una suite para trabajar con Spring,  otra para desarrolladores de PHP, de C++, Scout etc. Eclipse realmente tiene una alternativa para todos.

Descarga Eclipse



BlueJ

Creado para fines didácticos por la universidad de Kent, este EDI, que tiene integrado, compilador, máquina virtual y depurador, para escritura de programas; también tiene una presentación grafica para estructuras de clases la cual es muy clara para quien está aprendiendo del tema, soporta edición de texto y gráficos; además de permitir la creación de objetos interactivos, pruebas interactivas y construcción de aplicaciones incrementales; también cuenta con un libro te texto practico, para introducir al lector al mundo de Java y BlueJ.

Descargar BlueJ



El pilon.

En el universo de los entornos de desarrollo de Java,  encontramos a  JCreator en http://www.jcreator.com/, el cual no es de código abierto pero también es muy útil; tenemos a JBuilder, de Borland http://www.embarcadero.com/products/jbuilder; Code Warrior, de Metrokerks y JGresp de la universidad de Auburn.
Sea cual sea tu elección, estoy seguro que te será una herramienta muy útil, con el potencial de convertirse en el amor de tus amores en cuanto a entornos de programación.

Gracias por visitarnos y recuerda que siempre tendremos algo que contarte.
 


lunes, 15 de septiembre de 2014

Programacion orientada a objetos (POO)


Ya tocamos el tema de Java y he decidido que nos vamos a tomar esta copa hasta la última gota, pero antes, quiero tocar algunos puntos importantes para que sepas a lo que nos enfrentamos, y es que me entereza mucho plantar esta semilla desde lo más profundo, para tener un gran árbol de buenos y sólidos conocimientos que nos den sombra. (Bien, después de ese inicio tan poético vamos a lo que nos  truje).

En nuestro entorno social podemos notar que existen tendencias que enmarcan el comportamiento de la gente,  estas tendencias muchas veces son tan pronunciadas que pueden llegar a dictar la diferencia entre lo correcto y lo incorrecto; a esto es a lo que llamamos paradigmas, que es esencialmente la manera en la que ves las cosas, la forma en la que ves la vida atreves del lente de tu propia filosofía.

En la programación, los paradigmas son un conjunto de prácticas de desarrollo de software, que son adoptadas por un amplio número de programadores o de lenguajes de programación; es decir, para un problema específico, hay muchas manera de llegar a una solución, todo de pende de cómo quieres llegar resolverlo; un buen ejemplo de esto, es aquella vieja historia del problema de la escritura espacial: Los americanos y los rusos enfrentaron un problema muy singular, en el espacio las plumas fuente no funcionaban, la gravedad que hace que la tinta baje era muy poca, y hacer algo tan simple como escribir se complicaba mucho, los americanos decidieron desarrollar una pluma capas de empujar la tinta hacia la punta con un complejo y costoso mecanismo, por otro lado los rusos decidieron usar un lápiz.

Otro ejemplo muy claro de lo que puede hacer un paradigma, es la idea de notificar a cientos de clientes del cambio de la tarifa del servicio que les brinda una empresa, lo puedes hacer enviando alguna carta por correo, llamando a tus cliente telefónicamente, enviando un mail masivo a las direcciones de correo electrónico o anunciándolo en todos los medios de comunicación disponibles, al final el objetivo se cumplirá, no importa la  forma en que lo resolviste.

Como paradigmas encontramos el paradigma orientado a eventos, que normalmente es usado en aplicaciones de ambiente gráfico, en donde los eventos de cada control son la parte medular del enfoque de resolución; también encontramos el paradigma imperativo, que es el que nos ha acompañado de toda la vida desde nuestro bien amado lenguaje C, además encontramos paradigmas como el lógico, el declarativo y el funcional, pero el que nos interesa en este post (y por si no habían visto el titulo), es el paradigma de la programación orientada a objetos. 

En la POO, la materia prima son los objetos, los objetos reales y los objetos abstractos; los objetos reales son todas las cosas con las que podemos interactuar con el mundo real, a partir de que analizas un objeto en específico se hará la abstracción de los datos más importante de este objeto, por ejemplo, si vamos a hacer un sistema para una escuela y el objeto a estudiar es el estudiante, nos importara saber el nombre del estudiante, la edad, su dirección, el grado que cursa, el grupo y su historial académico, por otro lado no nos importara si es alto o bajo, si moreno, si le gusta tal o cual programa de televisión.

Por otro lado sabemos que las actividades que nos interesa registrar del alumno son las estrictamente escolares, es decir, nos importa saber cuándo se inscribe, si asiste, si paga la colegiatura y el llenado de sus calificaciones, no nos importa cuáles son sus actividades fuera de la escuela. A todo lo anterior se le conoce como abstracción, de nuestro objeto real que es un alumno, el cual es una persona que tiene muchos atributos y muchas actividades, tomamos las que nos pueden dar la información necesaria para nuestro sistema que administra la escuela, todo esto para dar paso a nuestro objeto abstracto, el cual es la réplica del objeto real, pero solo se conforma de la información que nos es útil.

A todo lo anterior se le conoce como abstracción, de nuestro objeto real que es un alumno, el cual es una persona que tiene muchos atributos y muchas actividades, tomamos las que nos pueden dar la información necesaria para nuestro sistema que administra la escuela, todo esto para dar paso a nuestro objeto abstracto, el cual es como la réplica del objeto real, pero solo se conforma de la información que nos es útil.

Una vez que finalizamos la abstracción de nuestro objeto real y tenemos nuestro objeto abstracto bien definido podremos armar nuestra clase. Una Clase está formada por atributos y por métodos, los atributos son las características de nuestro objeto, y los métodos las  actividades que va a realizar en nuestro sistema.



Cuando nuestra clase está bien definida, el siguiente paso es escribir el constructor del objeto. Un constructor es lo que nos permite crear un objeto a partir de su clase, indicara que nuestro nuevo objeto heredará todos los atributos y los métodos de nuestra clase, por ejemplo si nuestra clase se llama Alumno y nuestro objeto ObjetoAlumno, el constructor seria el siguiente: 

Alumno ObjetoAlumno= new Alumno();


Y para invocar el objeto con algunos de sus métodos tendríamos una línea de código como esta:

ObjetoAlumno.Inscripcion();
 
Si con todo la enterior aun no queda del todo claro, te dejare un diagrama para que nos ayude a que este enredijo de clases, metodos atributos y objetos quede mas claro.


Nos vemos hasta la proxima, cualquier duda, sugerencia o queja puedes dejarmela en los comentarios de abajo o me lo puedes decir en persona si tiene las posibilidad, que tengas una excelente semana y recuerda que siempre tendremos algo que contarte.

El pequeño cerdo capitalista.

Hace ya varios años que se del libro del pequeño cerdo capitalista, lo he visto en supermercados y librerías, incluso ya había leído ...