martes, 3 de febrero de 2015

Orígenes II: ¿Por qué se les llama 'bug' a los errores informáticos?



En la jerga del desarrollo de software es muy común escuchar que, cuando un programa tiene algún fallo, se dice que tiene un bug. Aún más, el término empleado universalmente por los desarrolladores para referirse al proceso de detectar y corregir errores de un programa es debug -y su horrenda castellanización: debuguear- o sea, quitar los bugs. Dado que bug, en inglés, significa 'bicho', surge la pregunta: ¿de dónde viene esa costumbre?

Afortunadamente la Wikipedia nos provee una respuesta:

En 1947, los creadores de Mark III informaron del primer caso de error en un ordenador causado por un bug. El Mark II, ordenador sucesor de ASCC Mark II, construido en 1944, sufrió un fallo en un relé electromagnético. Cuando se investigó ese relé, se encontró una polilla (bug) que provocó que el relé quedase abierto. Grace Murray Hopper, licenciada en física y destacada matemática que trabajó como programadora en el Mark II, pegó el insecto con cinta adhesiva en la bitácora.
Este incidente es erróneamente referido como el origen de la utilización del término inglés bug («bicho») para indicar un problema en un aparato o sistema. En realidad, el término "bug" ya formaba parte del idioma, al menos desde que Thomas Alva Edison lo utilizó en 1889 refiriéndose a interferencias y mal funcionamiento. Es posible que Hopper lo haya asociado por primera vez a la informática, en este caso, relacionado a un insecto real. Por otra parte, aunque durante los años 50 del siglo XX, Hopper también empleó el término "debug" al hablar de la depuración de errores en los códigos de programación, el primer uso registrado del término se encuentra en la Journal of the Royal Aeronautical Society de 1945.

Anécdota curiosa, sin duda, que nos ha heredado uno de los términos de mayor uso en el diario devenir del desarrollador de software.

lunes, 2 de febrero de 2015

Desarrollador desde cero (I): ¿Y por dónde empiezo?



Vivimos en una época en la que estamos rodeados de dispositivos electrónicos que nos hacen la vida más sencilla de muchas maneras.  Desde smartphones, computadoras, laptops, tablets, Smart TVs y hasta refrigeradores inteligentes, hoy podemos hacer más con menos esfuerzo gracias a todos estas geniales invenciones. A fin de dominar esta amplia variedad de dispositivos, necesitamos programas que nos permitan interactuar con ellos. Es ahí donde entra en juego la labor del desarrollador de software.

Pero para quien desea iniciarse en el desarrollo de software, siempre estará la sencilla pero desafiante pregunta: "¿Por dónde empiezo?". Ese es el objetivo de esta nueva serie de entradas: proporcionar un punto de entrada al desarrollo de software e ir llevando de la mano a cualquier persona interesada en iniciarse en esta labor.

En esta serie artículos estaremos revisando el maravilloso mundo de la programación de aplicaciones y conoceremos las bases necesarias para desarrollar nuestro primer programa. También nos plantearemos qué es lo que nos motiva a comenzar el desarrollo de una aplicación así como las partes que la constituyen. Incursionaremos también en el entendimiento de la lógica misma de la programación de modo que podamos movernos con libertad en el uso de cualquier lenguaje de programación.

Desarrollo de aplicaciones.

El mundo (casi) en su totalidad se rige por programas desarrollados mediante algún lenguaje de programación. Desarrollar una aplicación consiste en crear, probar y buscar errores en un programa informático. Dicho programa pretende dar solución a alguna situación o problema al que comúnmente se le conoce como "modelo de negocio".

El modelo de negocio puede plantearse desde distintas fuentes. Bien puede tratarse de una necesidad personal (como desarrollar un sitio web personal o escribir una aplicación que me recuerde cuándo inician mis series de TV favoritas) o una necesidad de un tercero. Lo importante es que tengamos una necesidad que pueda ser solventada con el uso de una aplicación informática, para poder orientar nuestro aprendizaje y no navegar a la deriva.

Primero: la intención.

Muchos piensan que desarrollar un programa es una tarea reservada única y exclusivamente a los "genios informáticos" o a personas con una inteligencia sobresaliente. Nada más alejado de la verdad. Como cualquier actividad, la programación requiere de esfuerzo, disciplina y dedicación, pero ello no implica que no sea accesible a cualquiera que desee aprenderlo. Y es que esa es una cuestión muy importante: la persona necesita desear aprender y estar dispuesto a poner todo de su parte para lograrlo. Si ya se cuenta con este impulso, lo primero en lo que se debe profundizar es en la lógica de programación.


Elegir la plataforma destino

Otra clave para comenzar nuestro camino en el desarrollo de aplicaciones es definir qué clase de aplicaciones deseamos desarrollar. Como se estableció al inicio de este artículo, hay una gran variedad de dispositivos para los cuales podemos programar y para poder enfocar nuestro aprendizaje necesitamos elegir una plataforma a la cual orientaremos nuestro desarrollo, ya que de ello depende también la elección que haremos de los lenguajes de programación y de las herramientas de desarrollo que vamos a necesitar. El desarrollo de sitios web, de aplicaciones para computadoras de escritorio o laptops, de aplicaciones móviles (para tabletas o smartphones) o el desarrollo de videojuegos ... cada uno de ellos tiene sus lenguajes y herramientas específicas.

Lógica de programación: la pieza fundamental.


Aprender la lógica de programación es el primer paso que deberíamos dar en nuestro camino hacia el desarrollo de aplicaciones. Esto es debido a que conocer la manera de resolver un problema nos ayudará a escribir el código necesario para hacer realidad la solución empleando cualquier lenguaje de programación con el que nos acomode mejor trabajar. Además, cuando entendemos cómo funciona la lógica de programación podemos tomar cualquier modelo de negocio o problema funcional de una organización y resolverlo mediante la programación de una aplicación. También, conocer la lógica de programación nos ayuda a dar el salto de un lenguaje de programación a otro de un modo más fácil.




Es precisamente en la lógica de programación donde comenzaremos nuestro viaje de aprendizaje del desarrollo de aplicaciones. Será en el próximo artículo de esta serie donde comenzaremos a dar este paso tan importante en nuestra futura carrera como desarrolladores de software.

Espero sus comentarios y preguntas. ¡Hasta la próxima!

Copyright © IsraelCapetillo.com - Un blog de tecnología, noticias geek y más Compartido por Gooyaabi Templates | Powered By Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com