Aprende a programar en tres pasos.

En la era digital donde pasamos horas frente a programas es importante aprender a programar, y nunca es tarde para comenzar este largo viaje.
Describiré lo esencial para programar.

1. Primer Paso: Entender el contexto.

Antes de comenzar debemos responder a la pregunta. ¿Qué es programar?.

Segun la definición de Wikipedia “es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación.”.

Entre los pasos descritos (diseñar, codificar, depurar y mantener el código), el más importante es diseñar, ya que a partir del “como” yo hago el programa computacional se derivará la complejidad de los siguientes pasos.

1.1 Diseñar es “como yo lo haré”.

Ej: Suma de dos números.

Solución 1:

x = 1
y = 2
z = x + y
mostrar(z) // El sistema mostrará 3

Solución 2:

y = 2
z = 1 + y
mostrar(z) // El sistema mostrará 3

El  diseñador del programa computacional (que no se refiere al aspecto visual sino a la estructura) en ese instante decidirá el grado de complejidad que tendrá un programa para una solución.

1.2 Codificar es “Con que lenguaje y plataforma lo comunicaré”.

Codificar es escribir la solución para ser ejecutada por un computador. Existen varios lenguajes de programación, y decidir en cual programar dependerá donde ejecutaremos la solución. Si quieremos hacer una página web tenemos php, python,ruby,c#,java. Para soluciones mobile como android tenemos java y para iphone c++. etc.

Necesito también un entorno de programación (programa por el cual codificaré la solución). Tenemos eclipse, sublime, Netbeans, Visual Studio.

2.Tipos de datos.

En el mundo real existen “tipos” de cosas. Personas, cuadernos, perros, gatos y todos ellos comparten distintas caracteristicas (atributos), de los cuales no se pueden hacer operaciones al igual que en algebra de terminos distintos.

Los tipos de datos existen en todos los lenguajes de programación, sin embargo no en todos se declara y en esos casos lo hará el implicitamente el lenguaje. Aunque sean procesos automáticos debemos entender que esas estructuras existen y hay que respetarlas.

Profundizaré en los tipos de datos en los próximos artículos con ejemplo concretos.

Ahora a programar!.

3. Intentar, intentar hasta correr el programa.

Les dejo un entorno (IDE) de aprendizaje para iniciar en este mundo de forma simple. http://pseint.sourceforge.net/. PSeint es un software libre que te ayudará en los primeros pasos de programación.

Mi próxima entrada será sobre PSeint para luego enfocarme en lenguajes específicos. Espero que la información sea de gran utilidad.

Mi nombre es Emanuel Vega
Consultas en twitter: @emanuelvega

html14

Comportamiento y origen de vida

Hace algunos días comencé a leer varios libros para conocer en profundidad sobre el comportamiento animal y humano, y de que forma se explica por medio de la biología y matemáticas (especialmente probabilidades) las  teorías derivadas de Darwin en  la programación de los seres vivos.

Es probable que cada uno de nosotros en algún momento de su vida se pregunte cual será el propósito de vivir, o independiente a nuestros sueños y metas, como están relacionas, si es que existen estos fines macroevolutivos o quizas espírituales en nuestra vida.

Si queremos entender nuestra vida inevitablemente debemos explicar el origen de la vida como el primer desencadenador u origen, y para comprender esto tenemos como factor inicial la atracción gravitacional que permite que grupos de masa (similares) se agrupen formando lo que conocemos actualmente como planetas, estrellas o conglomerados más grandes como galaxias. Al tener masas juntas y grandes dimensiones se producirá una probabilidad increíble de multiples combinaciones y agrupamientos estables como los son, sistemas solares, galaxias y comportamientos estables (orbitas, multiples fenomenos físicos por efecto termodinámico y tipos de elementos). Tipos de elementos similares se agrupan y dada las condiciones de la tierra hace 4500 millones de años se produjeron lo que llamamos replicadores que eran cadenas básicas de aminoácidos. Cada cadena comenzó adoptar formas para obtener energía que se hicieron más complejas al igual que las estrellas transforman el hidrógeno a helio por medio de la fusión nuclear, ellos adoptaron estructuras complejas (lo llamaría fisión de vida) dada su condición inevitable de obtener energía. Su complejidad creo lo que llamamos la secuencia de ADN y se establecieron formas básicas de elementos que consumían energía y se transformaban por herencia igual que el ejemplo de la estrella. A medida que pasaba tiempo el ADN se hizo más complejo y se subdividió en lo que llamamos Cromosomas y genes. Cada gen es un trozo de ADN y contiene la información que puede variar en una próxima generación (mutación) para afrontar los cambios del entorno y funcionan como verdaderos programadores de la vida. De aquí solo lo que necesitamos son millones de años para llegar a las estructuras que conocemos actualmente y quien nos adapta es la información portada en cada gen. Entonces volvemos al caldo inicial donde estaban estos organismos básicos intentando obtener energía en un entorno adverso mientras pasaban las generaciones solo los que mutaban vivían haciendo una evolución de selección natural. Cada gen que lograba mutar vivía en su maquina creada, por lo que se dividieron en los que obtenían recursos bajo agua y fuera del agua, además los que obtenían recursos fuera del agua mutaron en los que obtenían como panel solar directo del sol y los que se comían éstos paneles (animales) con movimientos más ágiles.

Toda explicación está en el gen, las formas de conciencia y supervivencia las controlan los genes. De ahí que exista la cohesión familiar, ya que portan los mismos genes.

Lectura recomendada.
El gen egoista de Richard Dawkins