Archive for the Ingenieria Category

Hola a todos

Hoy mismo recibí la activación de mi cuenta en Google App Engine, y me lance a realizar la guía de inicio, muy bien explicada en la línea habitual de Google.

El resultado lo podeís ver en mi aplicación de prueba: pformosotry.appspot.com.

Las principales características de Google App Engine son:

  • Python como lenguaje de programación
  • Framework de desarrollo webapp de Google
  • Servidor de desarrollo con el SDK
  • Script en Python para la publiación de la aplicación en el servidor
  • Un máximo (de momento) de tres aplicaciones
  • Uso de plantillas de Django
  • Configuración de la aplicación con sintaxis YAML
  • Posibilidad de incluir rutas estáticas para incluir imagenes, css o páginas estáticas

En la guía de inicio se realiza un libro de visitas, donde los usuarios pueden dejar un mensaje en el libro de forma anónima o logeandose con su cuenta de Google. La integración de los usuarios se realiza mediante la API de forma muy sencilla.

Dentro de poco iré probando más cosillas que os ire contando.

Un saludo a todos.

Acabo de estar leyendo en VivaLinux que el creador de Amarok (reproductor de mp3, podcasts, etc… para linux, dentro de poco para windows) tiene la intención de reescribirlo a Ruby para su versión 3.0 en su gran mayoría. Enhorabuena Mark!!

Llevo un año y medio usando Ruby y la verdad es que no he vuelto a tocar otro lenguaje, salvo por motivos profesionales. Como dice Mark es un lenguaje robusto, inteligente, con una curva de aprendizaje baja, flexible… Lo tiene todo! Y estoy totalmente de acuerdo con él.

En algunas conversaciones con compañeros de profesión me choca el echo de que aún halla gente en el sector que no lo conozca, y más dentro del mundo del desarrollo web (RoR… LoL, te quiero, gracias por hacer mi vida más productiva). Alguan vez ya comente por aquí que en la empresa en la que trabajo desde mi llegada realizamos todos los proyectos con Ruby on Rails como framework para el desarrollo y tras la 2.0 me parece que no voy a cambiar.

La semana pasada me compré un libro de ASP .NET por que me picaba el gusanillo de ver lo que me podía ofrecer y despues de leer las primeras páginas ya me di cuenta de que lo único que me podía ofrecer era un triste drag and drop de controles… nada más.

Os animo a todos a que porvéis, si os dicen algo como que Ruby y RoR no valen para proyectos grandes, escalables, etc… podéis responder directamente: “No lo habéis provados, verdad?” ;)

Aparte de otros proyectos que desarrollamos con éxito para clientes de forma interna tenemos funcionado una preciosa hoja de gastos y actualmente estamos comenzando el desarrollo de un ERP para la empresa. El problema no es Ruby son la Old School de los “Ingenieros” que se menten a desarrollar con Struts + Spring + Beans + Ants para esto + Ants para lo otros… Yo soy Javero reconocido, pero… va siendo hora de ser productivos y de disfrutar con lo importante, que es crear.

Haber si nos ponemos las pilas en España que necesitamos desarrolladores en Ruby!!!

Un saludo a todos!!!

PD: Se cada lenguaje tiene sus opciones más útiles y hay ciertas cosas para las que Ruby aún se queda un poco corto, pero tener la mosca detras de la oreja ;) Yo jamás me pondría a desarrollar una aplicación para PDA’s usando Ruby, pero seguro que es por que aún no se como, jejejeje

Hola a todos.

Hoy por la mañana he estado leyendo el árticulo publicado por dos profesores de Ciencias de la Computación (nuestro equivalente americano a Ingeniería Informática) de la Universidad de Nueva York, en el que tachan a Java como un mal lenguaje para aprender a programar.

De manera resumida el árticulo expone los contras de usar Java como lenguaje aplicado a la ensañanza desde un principio y para aprender a programar y el por que deberían enseñarse lenguajes como Ada, Lisp, C y C++ por las características que estos tienen.

Os dejo el enlace a el árticulo ya que voy a realizar una reflexión personal sobre el mismo.

A los 9 años tuve mi primer contacto con un lenguaje de programación, Basic, en un precioso C64 que mi padre acaba de traer de EU, a los 12 años empece con C y un par de años más tarde hice un curso de VB, 5.0 de aquella y empezaba a hacer mis pinitos con HTML. Esto antes de empezar a estudiar la carrera.

De forma resumida en la universidad trabajamos de la siguiente manera:

  • Priemero: Ada
  • Segundo: Ada
  • Tercero: Java
  • Cuarto: LISP,Prolog y Java
  • Quinto: Prolog y Java + un poco de Phyton y Corba

Ahora por lo que se sustituyeron en segundo Ada por C++, pero aún así y viendo todos estos lenguajes no sales preparado.

En el árticulo hay una frase que dice que el verdadero ingeniero puede programar en cualquier lenguaje, y eso muy cierto y bajo mi punto de vista reside ahí el principal problema de la enseñanza o de los alumnos, según como se mire. El problema surge cuando aprandes a construir un estructura en Java o cualquier lenguaje y no aprendes a construir una estructura, me explico, debería de existir una separción entre la componente teorica de la programación y la componente práctica, si te enseñanas que un bucle es algo del tipo for(int i = 0; i < 10; i++) {} y no algo en pseudocódigo o almenos de una manera más abstracta despues puedes llagar a un lenguaje como ruby y costarte entender un for edificion in manzana do … end

Otro problema es la importancia que se le resta a la autentica alma mater de la carrera (ojo, esto es una opinión personal) la Ingeniería del Software. De acuerdo que hay maneras y maneras de enseñarla pero como en toda profesión debe de existir cierta preocupación por parte del estudiante por leer y empaparse de todo el conocimiento que le sea posible. Muchas veces perdia el tiempo estudiando aquitecturas y patrones de libros como los de Martin Fowler que todo arquitecto/analista/diseñador/programador debería tener a mano o almenos conocer, con esto nos evitariamos situaciones de total desconomiento ante frameworks que usen algún tipo de modelo de persitecia o asociaciones MVC.

En conclusión no creo que sean un problema del lenguaje, Java es un lenguaje muy valido a la hora de dar el salto, una vez que tienes conocimientos de programación funcional y toca darle un poco a la orientación a objetos encaja perfectamente, pero lo que no puede enseñar es que un objeto es una clase en java…. (no es la primera vez que me lo dicen).

El futuro lo veo un poco raro, vivimos en una ámbiente de completo cambio tecnológico en el que los informáticos tenemos que absorver las nuevas tencnologías a una velocidad de vertigo y sin cierta abstracción vamos jodidos. Por eso animo a todos a probar el aprender a programar no aprender un lenguaje.

Un saludos a todos!