viernes, 8 de agosto de 2008

La importancia de la lógica de Programación

¿Qué separa a un buen programador de uno “normal”?. Yo diría que la lógica de programación. El lenguaje de programación (su sintaxis) es algo que encontrarás en muchos libros o en los manuales de ayuda de la aplicación, pero ¿como es que teniendo los mismos libros para aprender, una persona realiza mejores programas que otra?.

El conocer un lenguaje de programación, su sintaxis, librerías y pormenores tiene su mérito y sobre todo, su nicho de mercado. Sin embargo, más importante que eso cuando se sale a conseguir trabajo ya sea como empleado o como “freelance” es tener lógica de programación.

A lo largo de mi carrera profesional, he aprendido a utilizar varios lenguajes de programación tales como C++, Delphi, C++ Builder, ASP, VB6, VB.NET, ASP.NET, PHP, JSP, JavaScript. ¿Y qué tienen todos ellos en común?, pues que siempre existe una manera de tomar decisiones, realizar repeticiones, declarar funciones o procedimientos, declarar variables. Es cierto que en cada uno se escriben de manera diferente.

¿Cuánto te puedes tardar en conocer (y digo conocer más no dominar) un lenguaje de programación?. Aproximadamente 15 días. ¡Claro que no será así la primera vez!. Cuando comencé a estudiar Turbo Pascal por allá de 1996 durante la preparatoria, me tomó mucho más que eso ‘agarrarle la onda’ a esto de la programada. Tuve que realizar muchísimos ejercicios y pruebas para poder comprender la lógica de programación. Sin embargo, una vez dominada la lógica aprender un nuevo lenguaje es más sencillo cada vez.

Todos hemos escuchado esa frase que dice: “al que más tiene más se le dará, y al que tiene menos, aún eso poco que tiene se le quitará”, la cual aplica también al conocimiento. Un ejemplo más claro: “use it or loose it”, “lo que no se usa se oxida”. Y esto aplica también al conocimiento. Veamos… el cerebro es una “máquina” de aprender, y mientras más aprenda más conexiones realiza entre sus neuronas, y mientras más conexiones tenga, más poder de asociación tendrá y más sencillo le resultará aprender.

Ok, ok, me desvié un poco, ¿cuál es el punto?. El punto es que mientras más lógica de programación tengas y más lenguajes de programación conozcas, más fácil te será aprender un nuevo lenguaje de programación ya que los conceptos son muy parecidos entre ellos, de hecho, si conoces C++ se puede decir que ya conoces una parte de Java ó de PHP. Y si conoces Turbo Pascal, ya conoces una parte de Delphi y por lo tanto se te facilitará aprender otro lenguaje de la misma especie como Visual Basic .NET y se te facilitará luego conocer ASP.NET . Revisa la gráfica que aparece a continuación y observa como el conocimiento de un lenguaje te facilita otro.


Sin embargo, el hecho de conocer varios lenguajes de programación no te hace mejor programador porque podría ser que ¡seas malo en todos!, o por otro lado, tal vez conoces unos pocos y eres bueno programando y cuando estudias otro lenguaje de programación ¡también eres bueno en ese!.

Tampoco olvidemos que cada lenguaje de programación tiene su ámbito (de esto hablaremos en otro post en un futuro cercano), esto es, su lugar de aplicación, no puedes intentar programar una aplicación de base de datos utilizando solamente lenguaje ensamblador, de la misma forma, no intentes programar el control remoto de la televisión utilizando Visual Basic .Net

Ok, ok…. Me desvié de nuevo del tema del post, ¿cuál es la importancia de la lógica de programación?. La importancia de la lógica es que programar no es como tener una receta, no es una lista de pasos a seguir, aunque muchos quieran verlo de esa manera, no se puede aplicar la misma solución en todas las ocasiones y lo más importante de programar aplicaciones del tipo que sea es que tengas la capacidad de adaptarte a los requerimientos del entorno. La buena noticia es que la lógica de programación es algo que se desarrolla, la mala... es que se desarrolla practicando y realizando ejercicios.

Hola Mundo !!

Hola Mundo.

Aquellos que se dediquen al mundo de la programación ya comprenderán el porqué del título de este post. En este blog escribiré cosas de programación en diversos lenguajes de programación y en diferentes niveles de dificultad. Básicamente son:
• mini-tutoriales que iré escribiendo conforme mis conocidos me pregunten de situaciones de programación.
• temas que me han llamado la atención al estar resolviendo un problema o incluso solamente navegando.
• Tutoriales en varios fascículos de algún tema interesante de cualquier nivel de dificultad.
• Respuestas a preguntas interesantes que me planteen en este blog.

Espero que la información que puedas encontrar sea amena y sobre todo, útil. Si tienes algún tema que te gustaría tratar, favor de anotarlo en el post.

¡Saludos!