¿Qué es esa vaina de codear?

Por Amadeus Malca - hace 3 semanas

Sección: Tech


“A ver. Para esto de acá, vamos a hacerlo en django con Python 2.7 y mySQL para el backend, mientras el front aun no decido si le vamos a meter Wordpress o va a ser tu HTML5 con JQuery y OMG común y silvestre. Si vamos a hacer móvil, necesitamos un pasante que sepa ObjectiveCsm -  o mas fácil Swift con WTF y BBQ. Todo esto sale cuchucientosmil soles y lo tenemos para el 30 de Febrero.”

Mejor háblame en Chino, que por lo menos eso lo pongo en google y me lo traduce.

 

 

Fuente: Pond5

 

¡Bienvenido al mundo del desarrollo de software! Es bastante probable que en algún momento de tu vida, si es que tienes algo tangencialmente que ver con un proyecto o empresa que opere de cierta manera “en línea,” hayas escuchado una ráfaga de palabras parecida a esas líneas y no hayas entendido nada. Si ese es el caso, ojalá entonces que esas oraciones no vinieron de tu equipo de desarrollo tecnológico hablándote de sus planes de trabajo y, dios te libre, presupuesto.

Pero entonces, si uno no tiene un Bachiller en Ciencias de Computación, ¿cómo se le hace para entender eso? Y ya que estamos ahi, ¿que diantres hacen esos tíos y tías que siempre entregan tarde y encima del presupuesto, que eso de hacer clic no es tan complicado?

Bueno, la verdad que no es tan difícil. Mira que si yo me gradué de novelista y si aún así le agarré el truco, a ti que tienes educación de verdad se te va hacer más fácil. Vamos por partes, y desde el inicio, y voy a asumir que no sabes nada de computadoras ni código. Así que primero vamos a ver qué es y qué hace una computadora. Luego veremos qué es ese asunto de código, lenguajes de programación, librerías, frameworks, APIs, y la verdadera dificultad detrás de todo eso de programar. Tras eso, veremos cómo es que se las cosas se ponen en la web, todo el asunto de servidores, hosting, ancho de banda, servicios web, y demás. Y finalmente, hablaremos de móviles y su importancia, y lo que se viene en el futuro, para que estés preparado.

 

 ¿Quieres saber todo sobre los lenguajes de programación? Entérate aquí

 

Parte I - ¿Qué es una computadora? 

Puesto de la manera más simple, una computadora es una máquina al cual le entregas una o más cosas, hace algún proceso con lo que le dijiste, y te devuelve el resultado del proceso aplicado a lo que le diste originalmente. Algo así como cuando le das comida a un bebe y te devuelve un pañal sucio, o le pides un presupuesto al pata de márketing y te devuelve una billetera con hueco. El nombre “computadora” (del Inglés “computer,” computador) viene del uso original de las computadoras digitales, que se construyeron para computar cálculos matemáticos extremadamente complejos allá por la Segunda Guerra Mundial, entre otras cosas resolviendo funciones avanzadas de criptografía intentado romper los códigos Nazi (como en la peli “El Código Enigma”) o encontrando la masa crítica precisa para las primeras bombas atómicas. 

La verdad, nosotros hemos tenido máquinas que hacían eso desde hace tiempo. Una de las computadoras más antiguas que conocemos es el Mecanismo de Anticitera, que tras un naufragio en las costas Griegas estuvo esperando desde el siglo II antes de Cristo que lo sacáramos a la superficie, y que servía para calcular eclipses, la posición de los planetas, y cuando tocaban las Olimpiadas.

 

A que tú no eres tan hincha como para hacerte una de estas que prediga el Mundial.

 

Por supuesto, ninguna de estas corría Windows o algo. En realidad, hacían sus cálculos actuando básicamente como ábacos extremadamente sofisticados, no sólo moviendo bolitas de un lado a otro, sino utilizando la diferencia de ratios de giros de ruedas de engranaje y movimiento de levas, y usando transmisiones y embragues para conectar distintas partes dependiendo de lo que se quería hacer con los números con los que era alimentada. Si querías sumar, se usaba esta parte. Para restar, esta otra parte. Estas eran computadoras analógicas, computadoras que utilizaban los cambios continuos de propiedades físicas para hacer sus cálculos. Con el paso del tiempo estas computadoras se volvieron más y más sofisticadas, llegando a utilizar no sólo levas y engranajes, sino trampas hidráulicas y de presión, y voltajes y frecuencias eléctricas, y eran (y son) utilizadas en diversas aplicaciones, desde contar el dinero que entra en una tienda en forma de caja registradora, hasta apuntar cañones enormes y misiles como sistemas de control de armas. De hecho, es bastante probable que estés vistiendo una computadora analógica para medir el tiempo en tu muñeca (¿y quién dijo que los wearables eran cosa nueva?), y que hayas utilizado una computadora analógica para pesar algo alguna vez, con el resultado indicado por una aguja en un círculo calibrado.

El problema de estas computadoras es que, al ser máquinas diseñadas y construidas explícitamente para un propósito, cada cambio, mejora, o ajuste podría potencialmente requerir rediseñar totalmente el armatoste, lo cual no era ni rápido ni barato. Sin embargo, esto, afortunadamente, no es necesario ahora.  De manera muy simplificada (de nuevo), la lógica formal permite que básicamente cualquier expresión matemática pudiese ser expresada en operaciones lógicas, a partir de valores de verdadero o falso - entonces, si una computadora podia hacer una secuencia de verdaderos o falsos suficientes veces, podría hacer cualquier operación, solamente cambiando la secuencia en vez de la máquina en si. Sin embargo, tomó hasta el final de la década de 1930 para que el estado de la electrónica avanzase lo suficiente como para tener verdaderas computadoras digitales, funcionando con valores discretos - eso es, valores que sólo pueden ser completamente o uno o lo otro, como los verdaderos o falsos, ya que no hay algo que pueda ser medio verdadero en la lógica formal - capaces de seguir instrucciones (relativamente) fáciles de modificar.

 

Ok, bacán, ¿pero esto que tiene que ver con el dichoso código?

Eso te lo digo en el siguiente artículo. Por mientras, deja que esto digiera, y anda pensando en eso que dije acerca de instrucciones y secuencias de verdaderos y falsos, y recetas de cocina.

 

¡Síguenos en Timov para conocer todo sobre innovación y emprendimiento!

Autor del artículo

Amadeus Malca

Amadeus Malca es un pata que necesitaba pagar la renta y junto con su hermano hizo un app. Las cosas como que se le escaparon de las manos después de eso. Actualmente es CEO de inClass, Cofundador de StudyRoom mientras impulsa el desarrollo de nuevas ideas en Los Ynnovadores.

Comentarios