Blog de informática y programación
Tamaño horizontal
Tamaño de fuente

open for config

» Suscribirme por e-mail para recibir en mi bandeja de entrada las novedades de algoritmática!

mail


Suscribete a nuestro RSS

willcodeHoy me referiré con “programador” a aquel “pica código” cansado y fatigado.

Programador, una “profesión” bastante cualificada que requiere conocimientos de algoritmia, matemática, fundamentos de programación y unos cuantos lenguajes pero tan “cualificada” está la profesión que está pero está muy muy mal pagada. Sí así es la realidad, al menos en países tercer-mundistas donde el salario mínimo es realmente bajo el trabajo de programador es realmente cansado, estresante y puede llegar a causarnos ciertos problemas.

Leer más »

Muchas veces me ha pasado que al programar llego a un punto de “estress” tal, que… las cosas no salen, un pequeño error en el código me vuelve loco por horas para al final darse cuenta que era una línea…
programador loco
Pero sobre todo yo le llamo “Síndrome del programador inconsciente”.

¿En qué consiste?

Uno ya está tan desesperado, las cosas no salen como deberían ser o al menos como lo especificaste en el algoritmo y de pronto te sumerges tanto en la busqueda del problema que te vuelves “inconsciente” de lo que haces y empiezas a escribir código o a mover variables, bucles, condiciones sin ser “consciente” en otras palabras “NO sabes lo que estás haciendo”

Hoy me pasó

Llevo varios días trabajando más de 8 horas diarias y el día de ayer no pude ni dormir con tal de terminar un proyecto. Esta mañana me encontré con el problema de resolver cierto algoritmo que había codificado en javascript, estaba tan arto que de pronto, sentí ya no estar “en esta tierra” y empezé a mover código, de pronto.. el javascript funcionaba! Ahora sí! ya mejor ni meterle mano! si funciona está claro que hay que dejarlo así.

¿Qué hice? no lo sé, pero funciona…

¿Te ha sucedido?

En incontables ocasiones me ha sucedido esto, pero lo más gracioso es que no sólo a mí, también a varios compañeros y amigos.

Y tú… ¿Qué manías tienes con la programación?

En esta entrega, vamos a profundizar en el fino arte de comentar código.

En principio… ¿por qué deberíamos comentar nuestros códigos?

Quiero empezar citando a Ryan Campbell:

“comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados”

Poner comentarios en el medio de código sin gramática, va mucho mas allá de escribir /* */ por cada línea explicando el funcionamiento de procesos tan obvios como estúpidos. Se requiere casi un “don” para poder explicar en pocas palabras el funcionamiento de algoritmos complejos a otras personas que no seamos nosotros mismos.

¿Que objetivo tiene este artículo?… vamos a intentar comunicarnos con nuestro “yo del futuro”. ¿Estoy loco? no no, hablo de que hagamos código que podamos leer cuando lo agarremos en el futuro (1 año después por ejemplo).

Mi biblioteca de archivos viejos, contiene códigos fuente ilegibles e inentendibles para mi “yo del presente”. Y eso es porque en el pasado, tenia “otra mente” (no, no es que fui abducido por extraterrestres) en el sentido de que mi mente ha evolucionado y ya no recuerdo mi modo de pensar en ese tiempo, por lo tanto, las soluciones y algoritmos que me parecian obvios ya no lo son tanto ahora.

En este artículo voy a tratar de responder estas preguntas: ¿Cómo comentar? ¿Que comentar? y ¿Los comentarios mejoran la calidad del software?

Leer más »

En este articulo, veremos que cosa es la “Programación Genérica” y lo mas importante: ¿para qué nos sirve?

Definición

Segun la wikipedia:

La programación genérica es un tipo de programación que está mucho más centrada en los algoritmos que en los datos. La idea de esta forma de programar pretende generalizar las funciones utilizadas para que puedan usarse en más de una ocasión.

Esto se consigue parametrizando lo máximo posible el desarrollo del programa y expresados o devueltos de la forma más simple posible, evitando detalles concretos.

Como el nombre de la palabra compuesta lo dice: Programación Genérica, signifíca una programación que no dependa de datos fijos, cuyo algoritmo funcione de manera “genérica” para todo tipo de ocaciones.
Leer más »

¿Programar un arte?

Últimamente he estado leyendo y encontrando una y otra vez esta discusión, ¿Programar es un arte?, Yo pienso que sí y es por el mero hecho de plasmar mis ideas y conocimiento en algo casi “tangible” como el código escrito.

La mayoría de los “profesionistas” como siempre abogan por que programar es más que teclear código mientras que los fanáticos y apasionados (mayormente autodidactas) gritan desesperadamente “Programar es un arte!”.

Por eso a continuación trataré de llegar a la conclusión de una vez por todas ya que si no mi cabeza seguirá procesando código y el bucle infinito no parará de ejecutarse.

Leer más »

A la hora de resolver problemas es importante elegir el “paradigma” de programación correcto.
Pero ¿qué es un paradigma de programación?

Entiendase por ello en la forma en como el programador “ve” y piensa sobre la ejecución del programa.

No sería lo mismo entonces pensar en una ejecución secuencial a una ejecución de un algoritmo escrito en POO.

¿Qué paradigmas existen?

Bueno antes que nada un poco de historia, remontémonos a los tiempos de la Old school, las polillas en los enormes computadores y antes de que Bill Gates fuera rico.

En esos tiempos existía (y existe aún) la Programación Imperativa, “Assembly” y “El lenguaje binario” eran las únicas formas de programar…

Mucho después empezaron a surgir los HLL (lenguajes de alto nivel) estructuras de control de flujo, variables, bifurcación y todo el resto que ya conocemos; fue entonces que la programación imperativa fue poco a poco evolucionando y de ahí derivó en la programación estructurada, procedural y Orientado a Objetos.

Leer más »

Programador Bueno - Programador Malo

¿Como reconocerlos?

En Inter-Sections han dado una lista que puede sentar una base de indicadores positivos y negativos para reconocer a los buenos y a los malos programadores. Notar especialmente que estos no se basan ni en la edad, ni en la formación universitaria.

Creo que un buen programador es más dificil de reconocer, ya que para reconocer al malo solamente hace falta toparse con él.

Un buen programador es:

  • Apasionado por la tecnología
  • Programa por hobby
  • Tiene muchos proyectos personales
  • Aprende nuevas tecnologías por su cuenta
  • Opina sobre cual tecnología es mejor en cada caso
  • Se siente poco cómodo usando tecnologías que no considera correctas
  • Capaz de hablar durante horas (o dias) sobre programación
  • Es autodidacta, comenzó a programar mucho antes de ir a la universidad o empezar a trabajar
  • Es claramente inteligente, se puede conversar con él de muchos temas
  • Tiene “icebergs” ocultos, grandes proyectos y actividades personales que no aparecen en el currículum.
  • Conoce gran variedad de tecnologías, que pueden no encontrarse reflejadas en el CV.

Leer más »

Estilo de programación

¿Te imaginas el código fuente de Linux, sin comentar, con lineas y espacios a mansalva, y usando funciones que solo Dios sabe que hacen?
Proyectos grandes, y más los pequeños, se hacen difíciles de continuar por otras personas si el código no está lo suficientemente bonito como para leerlo. No hablamos de comentar el código, ya que he visto la exageración de comentar cada linea de código lo cual se torna en un infierno para leer xD.

Hablamos de crear “código para lectura”, no sólo hacer que funcione sino también hacer que pueda ser leido fácilmente por los programadores.

A veces nos acostumbramos a programar y a hacer código a la ligera, olvidando la importancia de mantener un orden inteligente a través de las tabulaciones, los espacios y los saltos de línea. Este orden debe hacerse costumbre para aquellos programadores que deseen alcanzar la perfección (juaz).
Leer más »


Extras