¿Por qué elegir java?




    Hace poco recibí la gran oportunidad de publicar un artículo escrito por Alejandro Hernandez en mi blog, titulado: Init.js: Una guía de los Por Qué y Cómos en el conjunto de tecnologías de JavaScript. Sin embargo, al leerlo, mi mente no pudo evitar viajar a través del tiempo, y recordar cada encuentro que he tenido en el mundo de la programación, a su vez, preguntarme ¿por qué java?.

    Cuando tenía alrededor de 7 años, tuve mi primera computadora, la cual usaba discos de 5 y cuarto, tenía windows 3.1; realmente es un lujo para esa época. Tenía aparte mi impresora de matriz de puntos y para mi, era todo un sueño hecho realidad. Tomé clases de computación, aunque eso no era suficiente. Así que lo llevé al siguiente nivel, he hice cursos de matenimientos de computadoras, cuando apenas tenía 10 años. Pero, eso apenas era el inicio. Y años mas tarde lo iba a descubrir. 

    Al iniciar mi carrera en ingeniería en informática, sentí que todo en mi vida tenía sentido. Había encontrado mi hogar. Y sobre todo, una familia que entiende mi mismo lenguaje. Sin embargo, mi primer encuentro con la programación fue evaluar una matriz, respondiendo con las características de una matriz dada (reflexiva, antisimétrica, entre otras). Como nunca antes había programado, utilicé visual basic. Porque sentía que le podía dar forma desde la parte exterior hacia la interior. En cierto modo, yo buscaba que tuviera la apariencia y luego, pasaba horas haciendo los cálculos. Gracias a Dios, fue todo un éxito, hasta que el profesor me pidió que lo programara nuevamente para una matriz mas grande. Realmente sentí que la herramienta que usaba se me quedaba corta.

    Luego, asistí a clases de programación orientada a objetos. La cual tenía su aplicación en el lenguaje c++. Leí muchos libros para comprender lo que mis profesores aspiraban de mi. A su vez, varias horas de práctica en el pc, para poder adquirir experiencia y poder resolver cualquier situación que pudiera presentarse en el laboratorio. No entendía mucho la importancia de ordenar, la única ventaja que, con mis pequeños conocimientos, observé era la herencia. Poder aplicar los mismos atributos en diferentes partes del programa, era todo un éxito; especialmente porque todos los programas de las prácticas se basaban en un cliente - vendedor / paciente - médico. 

    Cambié de universidad, y encontré un mundo diferente. Me presentaron assembler. !Noches y noches tratando de entender! Allí si que tenía las opciones limitadas. La asignación era crear un programa del juego que se llama el ahorcado, pero con 5 palabras diferentes. Debido a los saltos que se debían insertar para poder cambiar de una palabra a otra, o para incluso verificar cada letra que ingresa el usuario; solo se pudo cumplir con 3 palabras para el programa. Wow que fue todo un desafío mental.

    Sin embargo, cuando a uno se le presentan retos, se empieza a tener mas sed de información. Comencé a investigar por cuenta propia para poder aprender a un ritmo acelerado; puesto que no hay paciencia para esperar al décimo semestre para programar en android, por ejemplo. Así que investigué dentro de las herramientas de google y comencé a aprender a desarrollar aplicaciones para android. Lo cual es muy entretenido, porque te permite crear desde donde tengas mayor habilidad, desde la parte gráfica o desde la parte de códigos. Pero, mi inquietud no terminó allí, porque era un requisito conocer java. ¿por qué elegir java? Así que me apunté en un nuevo curso: Java para principiantes. Quedé completamente sorprendida con lo fácil que es crear un programa completamente funcional y profesional con todas las alternativas que ofrece java. 

   Ahora bien, ¿por qué en las universidades no enseñan java desde el primer semestre? Si se está formando un futuro profesional, ¿no sería adecuado formarlo con la herramienta actual, que le facilitará conseguir o crearse un empleo en un corto plazo?. Especialmente java, el cual posee un entorno que facilita traducir las ideas en un producto tangible y de alta calidad. Siento, que con java se puede elevar el nivel de creatividad de cada uno, puesto que no existe una limitación al momento de crear, y lo mejor es que se adapta a todo tipo de requerimiento. Incluso, en java se utilizan muchas de las herramientas de programación orientada a objetos, de las cuales, son completamente fáciles de implementar, porque interviene la parte intuitiva del usuario, sientes que es algo natural en ti, programar de manera ordenada y no algo forzado, como lo era en c++.

   Y si mi experiencia no te dice lo suficiente del por qué elegir java, te anexo la opinión de Alejandro Hernandez, al respeto, conjunto a la invitación muy cordial a su blog, en busca del artículo completo, para que tengas una mayor perspectiva, de todo lo bueno que nos ofrece java como herramienta de programación:

"Soy desarrollador web desde 1998. Por esas épocas usabamos Perl para la mayoría de nuestro desarrollo del lado del servidor, y aún desde esos tiempos teníamos JavaScript del lado del cliente. Las tecnologías web del lado servidor han cambiado inmensamente desde entonces: fuimos a través de oleada tras oleada de distintas tecnologías y lenguajes cómo PHP, ASP, JSP, .NET, Ruby, Python, solo por nombrar algunas. Los desarrolladores comenzaron a darse cuenta que usando dos distintos lenguajes para ambientes cliente y servidor estaba complicando las cosas. Los intentos iniciales para unificar bajo un mismo lenguaje intentaban crear componentes cliente del lado del servidor y compilarlos en JavaScript. Esto no funcionaba como se esperaba y muchos de esos proyectos fallaron (por ejemplo, ASP MVC reemplazando los formularios web de ASP.NET, y podría decirse que GWT será reemplazado por Polymer). en un futuro cercano). Pero era una excelente idea, en esencia: un lenguaje único en el cliente y el servidor, permitiéndonos reusar componentes y recursos (esta es la clave: recursos).

La respuesta era simple: usar JavaScript en el servidor.

De hecho, JavaScript nació con JavaScript Server Side en Netscape Enterprise Server, pero el lenguaje simplemente no estaba listo en esa época. Luego de años de prueba y error, Node.js finalmente emergió, lo cual no solo puso a JavaScript en el servidor, pero además promovió la idea de programación no-bloqueante, cambiando la forma en la que escribimos “fread”(I/O) para siempre (lee más aquí.

Pero esas ideas no eran nuevas—entonces, ¿por que se volvieron tan populares con Node.js? Simple, la programación no-bloqueante puede ser alcanzada de distintas formas. Tal vez la más fácil es usar callbacks y un evento en bucle. En la mayoría de los lenguajes, esa no es una tarea fácil: mientras que los ‘callbacks’ son una característica común en algunos lenguajes, un evento en bucle no lo es y usualmente te encuentras aferrándote a librerías externas (por ejemplo: Python, con Tornado). Pero en JavaScript, los callbacks son construidos dentro del lenguaje, como también el evento en bucle, y casi cualquier programador que haya incursionado en JavaScript está familiarizado con ellos (o al menos los han usado, aunque no entiendan del todo que significa un evento en bucle). De repente, cada una de las startup en el Planeta Tierra podía reusar desarrolladores (por ej., recursos) tanto en el lado cliente cómo en el lado del servidor, resolviendo el problema de “Se necesita Gurú Python”.

Entonces, ahora tenemos una plataforma increíblemente rápida (gracias a la programación no-bloqueante) con un lenguaje de programación que es increíblemente fácil de usar (gracias a JavaScript). Pero, ¿Es suficiente? ¿Perdurará? Estoy seguro que JavaScript va a tener un importante lugar en el futuro."




Anuncio

Comentarios