0 reacciones

La programación -decía algún gracioso- es de esas pocas cosas divertidas que se pueden hacer con los pantalones puestos. Y la realidad es que para quienes programamos (y en ocasiones vivimos de esto), el hacer que la computadora se comporte como queramos, que dé los resultados deseados, que haga los cálculos que necesitamos, es algo que de entrada es satisfactorio, porque de alguna manera nos damos cuenta del cómo tener que explicarle a una máquina lo que queremos que haga.

Evidentemente con los años las cosas en programación han cambiado notablemente. Quizás una de los primeros ambientes RAD (Rapid Application Development) fue Visual Basic, de Microsoft, pero pronto salieron otros entornos igual de atractivos para lenguajes mucho más poderosos que el relativamente simple Basic. Por ejemplo, Borland presentó Delphi 1.0 en 1994 y a decir de Philippe Kahn, el creador de dicha empresa, no buscaban competir contra Visual Basic, sino contra PowerBuilder (Sybase), el cual aún existe.

La idea atrás de RADs es crear entornos de programación donde los desarrolladores tengan a la mano una serie de componentes comunes: botones, barras de progreso, editores de textos, menús, listas de objetos, imágenes, etcétera, de tal forma que puedan ponerse en la aplicación usando drag & drop, es decir, tomando el componente y soltándolo en la ventana del programa. Cada componente tiene una serie de propiedades y métodos, lo cual cumple estrictamente -en la mayoría de los casos- con el paradigma de la programación orientada a objetos (POO), la cual se utiliza ya comúnmente en cualquier entorno moderno. La gracia de esto es que el desarrollador solamente tiene que asignar qué tipo de acción va a ocurrir cuando se le dé click, por ejemplo, a un botón. Así, no tenemos que armar de cero la aplicación. Basta con poner los componentes que necesitamos y programar los eventos de los mismos.

Evidentemente cualquier RAD moderno tiene mejores habilidades, por ejemplo, la de crear componentes que hagan tareas muy específicas, basándose muchas veces en las bibliotecas y componentes ya existentes. Para la mayoría de los medios ambientes de programación modernos es fácil hallar muchos componentes de terceros para un sinfín de aplicaciones en particular. Por ejemplo, yo he hallado un tablero de ajedrez con una serie de facilidades que permite crear programas asociados con las actividades del ajedrez sin necesidad de tenerme que sentar a escribir un componente propio que valide las jugadas en el tablero, que anime los movimientos de las piezas en la pantalla, etcétera. Vamos, que ya viene todo el componente con esa funcionalidad que evita perder mucho tiempo rehaciendo una y otra vez lo mismo.

Lo mejor del asunto es que este paradigma que RAD ha impuesto por las facilidades que da a los programadores, ya existe para los dispositivos móviles. La mayoría de ellos no tienen entornos de programación. Es decir, no programamos directamente sobre el teléfono celular o la tablet, sino que usamos una herramienta en la máquina de escritorio (PC, Mac, Linux), que nos permite hacer el desarrollo deseado, usando un emulador para probar la aplicación que está siendo escrita (o mejorada). De nuevo, estos entornos de programación para los dispositivos móviles contienen una serie de componentes ya pre-establecidos que permiten desarrollar rápidamente aplicaciones, además de darle a los programas un medio gráfico similar en todo el sistema en el que se está programando (iOS es el mejor ejemplo de esto). Hay incluso empresas que hacen entornos para programar en iOS, Android o Windows Phone bajo este paradigma.

Casualmente, la idea de los RADs ha permeado incluso en medios ambientes que bien podríamos considerar obsoletos. Veo PocketStudio, un ambiente muy parecido a Delphi (se programa en Pascal), para crear apps para la Palm, el cual es comercial. Hay alternativas como Palmphi, que pretende ser un entorno como Delphi, pero cuyo lenguaje nativo es C. Para PocketPC hay también muchas herramientas de desarrollo que incluso siguen vigentes: Pocket Programming Language, que usa su propio lenguaje (el cual no sé a qué se parece), NSBasic, el cual ya  puede usarse incluso en tablets y teléfonos inteligentes en iOS y Android.

Así, la mirada de posibilidades permite a los programadores elegir la mejor opción para cada quien. Aparte de los entornos típicos (como el que da Google para programar para Android) o el que da Apple para iOS. Es cuestión de buscar y empezar a entender las características específicas de los entornos que queremos usar. Si usted se dedica a programar, debe considerar que el futuro será -y por un buen tiempo- los dispositivos móviles. Hay un gran margen de alternativas y posibilidades para quienes buscan vivir de crear código.

0 reacciones

Manuel López Michelone. Físico por la UNAM y Maestro en Ciencias por la Universidad de Essex en el tema de Inteligencia Artificial. Columnista por muchos años en publicaciones de la industria del cómputo y ávido programador. @morsa.

También te puede interesar

Comentarios

  • http://twitter.com/drak001 Drako01

    Una pregunta, tal vez un tanto cuanto tonta:
    Las aplicaciones y juegos tradicionales usaban mucho código (hasta llegan a varios GB) como se “comprimen” en los dispositivos móviles???, un MS Office o un Need for Speed por ejemplo.
    Regresaremos al tiempo donde los juegos y aplicaciones completas cabían en un CD o en un cartucho de videojuego???

    • SnAkESoulFly

      Básicamente son los gráficos y el audio los que se reduce o aumenta su calidad dependiendo de las capacidades de la plataforma y el medio. ;)

    • http://www.facebook.com/carlitosd19 Carlos Guillermo

      Pues no es así, el código fuente no ocupa tanto espacio, ya que con los nuevos paradigmas de programación, se rehusa mucho del mismo, en el caso de los juegos ocupan espacios, los sonidos, las imágenes, los videos y personajes animados,hoy en día ya no caben en un CD por que ya los juegos requieren de mejor calidad de video y con la llegada del HD pues estos son cada vez más pezados

    • Morsa

      buena pregunta. No tengo idea de una respuesta.

  • Walkmanv8

    a mi me agrada mucho las herramientas para programar todo lo referente a la web y BD, y ver lo que hiciste en solo tener un navegador donde se situa en casi cualquier dispositivo que tenga un CPU… miles de millones de aparatos TV movil, pc, etc etc etc. Pero me esta agradando aprender a programar aplicaciones para los moviles y mas adelante tener los conocimientos necesarios para los videojuegos de palabras mayores, el chiste es que uno se sienta agusto haciendolo.

  • David Villa Mex

    Muy buén artículo, yó apenas estoy aprendiendo java y yá  bajé el oracle fusion middleware, el netbeans (en español), y también el sdk para android (con todo y simulador para probar las apps),todos funcionan muy bién , me convenció empezar a programar y desarrollar gracias a lo bién hechos que están los frameworks.

    Estaría muy interesante hacer una segunda parte haciendo un reportaje de las características  y comparaciones entre  los más importantes  frameworks que hay en la actualidad.
    Saludos.

  • ernesto chavez

    Ayer comentado con un compañero de trabajo sobre los IDE’s, comentamos que nos hacen la vida mas simple pero a la vez nos hacen mas torpes a la hora de solo tener un blog de notas y perder la cordura por no recordar los metodos, nombre de clases o librerias. 
    Mis respetos para mi amigo que en su tiempo todo lo hacia en blog de notas porque su pc era muy lento eso si es de verdaderos programadores…

  • http://www.facebook.com/luciano.rodz Luciano Rodriguez

    el Autoplay Media Studio (windows) de la empresa indigo Rose, empezo siendo un software para crear autoruns, pero version a version fue agregando acciones, cuando descubri que se podia usar LUA, me puse a programar pequeños software en el y sin saber nada, la verdad es que es genial, se puede hacer cosas inimaginables.

  • http://www.facebook.com/josue.ruedag Josue Rueda G

    muy buena reseña siempre se encuentra sigan asi!! muy interesante