miércoles, mayo 17, 2006

Viaje Miami - Orlando

Debí publicar antes las anécdotas que sucedieron en el viaje que hice a Miami, pero bueno, mas vale tarde que nunca.
Podría dividir la travesia en 3 partes principales que son estadía en Miami, estadía en Orlando y visita a la sede de Motorola en Plantation. Comenzaremos por el final:

Motorola. Una experiencia inolvidable, el conocer y estar en el mismo lugar donde se desarrollan los grandes avances tecnologicos e incluso poder ver los proyectos que serán la sensación dentro de unos años, nos hizo darnos cuenta de lo mucho que nos encontramos atrasados en nuestro pais.
Bueno, contando los hechos, yo llegue temprano, se supone que me debia encontrar con Karin, Zico y Beto a eso de las 9am en la sede de Motorola, pero ellos tuvieron un atraso gracias a Zico. En ese momento me di cuenta porque nadie viste terno en Miami, el sol me mataba mientras los esperaba en el lobby.
Cuando llegaron, entramos a una sala donde nos esperaban unos gringos tios con cara de nerds.. jajaja... ellos eran los tigres en J2ME. Bueno, les expusimos con nuestro ingles chicha pero parece que nos entendieron porque nos quedamos conversando sobre más cosas olvidándonos que teniamos que comer!. Cuando nos acordamos, nos dimos cuenta que solo habia comida mexicana (aagghh!, los gringos piensan q los latinos somos iguales!). Como fin del día, luego de enseñarnos la planta, nos obsequiaron unos celulares iden modelo i730... algo es algo.


miércoles, mayo 03, 2006

Sobre Lenguajes de Programacion y otros demonios

Hace mucho tiempo que no escribia en mi blog. Diversos motivos me llevaron a esto, en especial que ahora me encuentro trabajando a tiempo completo en TUMI Labs.
Dado que mi labor principal es la de programador, he tenido contacto con diversidad de lenguajes de programación asi como plataformas.
En este pequeño artículo paso a revisar algunos de estos dando sus pro y contras asi como algunas recomendaciones.

Java. El primer lenguaje de programación orientado a objetos que aprendí, es por eso que lo considero como mi lenguaje materno (además que me hizo ganar un concurso!).
Pros:
  • Facilidad de aprendizaje
  • Gran cantidad de librerias
  • Portabilidad (!!)
Contras:
  • Al ser un lenguaje que necesita un compilacion intermedia (por su JVM), suele ser lento, aunque luego de la primera compilacion, los tiempos decrementan considerablemente.
Mi recomendación es que si tienes que programar una aplicacion de tiempos criticos, utilices la extension que te da el Java con su Java Native Interface (JNI) wrappeando codigo C, en otro artículo explicaré mas sobre eso.

ASP.NET (VBScript y C#). No hablo del ASP (no en .NET) porque si bien es cierto he programado algo utilizando VBScript, la forma de codificación no permite un buen mantenimiento en el futuro.
Con el lanzamiento de la plataforma ASP.NET, se trató de darle una mejor forma utilizando el patrón MVC (Model-View-Controller).
Pros:
  • Desarrollo rápido y facil diseño de interfaces gráficas.
  • Comunicación perfecta con componentes de windows.
Contras:
  • Muy amarrado a la plataforma. Se necesita compilar las fuentes en cada entorno donde se desea instalar la aplicación.
  • Sus muchas facilidades que brinda quitan libertad a los programadores (hay veces que se necesita algún artificio para aumentar la eficiencia).

C/C++. Desde la primera vez que me enseñaron C en la universidad, vi un mundo lleno de libertades en la cual podia literalmente hacer de todo. En este lenguaje realicé mi primer videojuego (al cual llame originalmente Navecitas).
Pros:
  • Manejo flexible de punteros. Se puede acceder toda a toda la memoria!, no solo la asignada a la data ni al heap.
  • Eficiencia y rendimiento al máximo. Bueno para aplicaciones de alto rendimiento (juegos, sistemas críticos, servidores, etc.)
Contras:
  • Difícil de comprender (synctree), aunque en la version C++, la orientacion a objetos mejoraba considerablemente el entendimiento.
Estos se podrían decir que son los 3 lenguajes mas importantes en el momento en que se escribo este artículo. Como les dije, yo me quedaría con Java. Me parece un lenguaje muy estándar, portable, de fácil extensibilidad y de fácil sintaxis.

No he hablado de los lenguajes script (python, ruby, javascript, etc) ya que pienso dedicarle un artículo completo a cada uno dada su importancia. La mayoría no los considera como lenguajes de programación serios, gran error, el futuro va por ahi, y adelantándoles un cachito de mi próxima entrada... javascript es el lenguaje del futuro, asi... hay q ir aprendiendolo!