Se muestran los artículos pertenecientes a Octubre de 2008.
JEE
Ha sido un poco frustrante, pero que puedo decir, el deber me llama. He iniciado mi penultimo semestre de la carrera y con el mi servicio social(requisito indispensable para poder titularme) razón de sobra que el tiempo no me alcanza para atender como se debe este Blog.
Pero bien, a lo que nos importa. Con anterioridad habran observado que hablamos de web’s dinamicas, pues resulta que como buen programador he empezado a manejar bien a Java en red, o como Sun lo llama JEE(Conste, el J2EE es solo mercadotecnia y hacia referencia a la version de la maquina virtual 1.2 que ahora se encuentra ya en la 1.6) esta herramienta derivada de la clase javax.servlet es un medio importante para solventar muchas de las deficiencias que conlleva el desarrollo en PHP como lengua CGI para amplicaciones que corren del lado del servidor. JEE es una alternativa de Java para abarcar este segmento que si bien esta competido y varias empresas pequeñas y medianas aqui en México tengo el conocimiento de que ocupan PHP para sus web’s dinamicas. Pero, ¿que diferencia a java de otros? pues que es independiente de la Plataforma, ovbio.
Es decir, podemos hacer lo mismo que hacemos con PHP pero con Java, sin importar en que servidor este instalado siempre y cuando pueda atender llamadas de requirimiento HTTP. Entonces, aquel desarrollo que escribamos en un Linux igual correra sobre un Windows, ¿que marca la diferencia? Pues la verdadera marca queda en entre las versiones de la maquina virtual y sin duda el servidor que estemos utilizando. Algunos de los que podemos usar: Tomcat, GlassFish, Coldfusion, JSWDK, Jakarta, entre otros muchos. Pero para aquellos que estan mas adentrados en el asunto de los servidores sabran que sin duda la unica diferencia entre la estructura de los servidores Web son el formato de sus archivos de configuración, y los nombres que manejandentro del sistema.
Ahora, regresando a servlets, es simple código Java que se ejecuta del lado del servidor a diferencia de un applet que es lo mismo, pero se ejecuta del lado del cliente. Bueno, no podemos decir que son lo mismo pues son derivados de diferentes clases pero siguen siendo código Java en red, y mientras un applet puede ser suministrado por cualquier servidor Web(Cherokee, Apache, IIS, etc.) un servlet tiene que ser ejecutado en el servidor, requiriendo esto tener al menos una maquina virtual en el servidor. En alguna otra entrega les dire como instalar cualquiera de estos servidores mencionados.
Pero bueno, las ventajas mencionadas hasta ahora pueden hechar por tierra con la clara consigna de que el código intrepretado(Java y Phyton) es considerablemente mas lento al momento de cargarse. Entonces, un servlet tarda en cargarse mientras un script escrito en PHP es mucho mas rápido, pero nunca se menciona esto, que un script en PHP se carga con cada llama, considerando una acceso al servidor de 20 solicitudes por minuto son 20 cargas por parte del servidor para que pueda atender esa demanda, sin embargo, un servlet se carga una sola vez y quiza con a primera solicitud sera lento, pero un servlet se mantiene en memoria como un hilo(o Thread) mientras siga siendo solicitado, dando igual una posibilidad de poder descargarlo de la memoria x minutos despues de recibir la ultima solicitud expandiendo considerablemente su rendimiento pues no se tiene que cargar con cada llama. es decir, solo se carga una vez y atiende un grupo de llamadas.
Bien, ya revizamos algo de lo que es un servlet y queda en duda aun que se puede hacer o en que consiste una aplicación web dejandoles este ejemplo claro aunque hecho en PHP, nos podemos dar cuenta del potencial que se tendria si estuviera hecho en Java. http://eyeos.org
Les aseguro mas entregas, desde como instalar un servidor para aplicaciones web escritas en Java hasta su primer servlet. Hasta pronto.
Problematica de Programadores
Saludos, y seguimos hechandole ganas a poner información importante al blog, hoy algo de lenguajes en general y la problematica de los programadores actuales.
Hace ya unos dias, tuve una corta pero acalorada platica con un amigo de la escuela. Al parecer le paso algo similar que conmigo, cuando empece a mudarme del clasico Turbo C++ 3.1 de Borland a algunos de los entornos integrados de Winows como VisualC++, DevC++, Borland C++, y otros tantos que existen, pero el problema no radica en saber el lenguaje o no, sino que en este punto muchas de las funciones de ventanas y cajas de texto ya existen y el problema se convierte no en saber un lenguaje, sino en conocer los argumentos y forma de usar esos objetos, funciones y librerias que ya existen para poder desarrollar rapidamente. Pero para mi se convirtio en un calvario al tratar de comprender el funcionamiento de cada nuevo componente.
Pero escribo este articulo, no para criticar el avance o el "volver inutil" de los desarrolladores, mas bien para tratar de encontrar un camino entre la multitud gigantesca de lenguajes de programacion que existen. Si bien tenemos de todos los sabores, como; Programacion web, sistemas distribuidos, sistemas monousuarios, cliente-servidor entre otros. Y a todo esto viene la disyuntiva de enfocarnos a un lenguaje o tematica de programacion.
Aun así, si observamos las similitudes que existen entre la programación orientada a objetos que se usa en Turbo C++ 3.1 de Borland, contra java, phyton, php, javascript, c#, nos podremos percatar que entonces tengo razón y con conocer un lenguaje orientado a objetos como lo es C, nos da el claro panorama de que se necesita saber almenos uno. El que ustedes decidan estara bien, y entonces ¿porque este ariculo?
Vamos para haya, si bien se parecen mucho la dificultad que enfrenta un desarrollador frente a un nuevo lenguaje que tiene una estructura orientado a objetos es la de conocer y saber manejar todas sus funciones que ya existen dentro de ese lenguaje en especial, conocer a la perfección cada función con sus argumentos que tu no has creado pero que funcionan tan bien o mejor que como tu mismo las hubieras hecho. Ahora, lo que quiero hacer saber y recalcar es que si tu conoces un lenguaje de programación no te hes dificil aprender uno nuevo, simplemente tedioso y te haras valer de manuales especializados o incluso una biblioteca de ejemplos para conocer la forma de enviar correctamente los argumentos.
Ese es el nuevo reto de los programadores hoy día, porque para aquellos que hacen análisis y planeación de proyectos quiza lo mas dificil sera adaptar nuevas tendencias que son casi nulas, a sus procesos ya planeados de análisis y planeaciones.
o, ¿Ustedes que opinan? Yo creo que la programación se volvera tan secilla que nunca conoceran que fue el ensamblador a pesar de usarlo a diario.


