54) ¿Todo mundo puede programar?

Posted by Leek | Posted in , | Posted on 2:15 p. m.

Un dia un amigo me dijo esto, y me pareció demasiado clara la ignorancia que habitaba en su mente en cuanto a este tópico, le pregunte si el sabía programar a lo que respondió afirmativamente, y le creo, efectivamente todo mundo puede programar desde cierto aspecto; cualquier persona puede bajar algun compilador o interprete para programación, y hasta existen más de mil lenguajes de programación, algunos que son los más usados y otros que solo son utilizados por personas específicas, como las empresas o personas que crean sus lenguajes por puro pasatiempo, es más que sencillo bajar cualquier compilador, pero eso no sería sencillo si el software libre no existiera.

La programación era considerada más que una ciencia, era considerada como una filosofía, algo así como cuando Aristóteles formula su teoría de la metafísica, pero con el tiempo la informática tomó mas sencillez, y sobre todo tomó su auge cuando surgió el software libre. Algunas personas dirán, ¿que tiene que ver eso?, a lo que yo les respondo: mucho. Al surgir el software libre, todo mundo podía ver como funcionaban las cosas por dentro, destripando cualquier programa que tuvieran a la mano y que fuera libre, pero po supuesto, nadie podía ni puede entender los miles de kilómetros de lineas de código que conforma un programa; no señor, se requiere de tiempo de estudio, un poco más o un poco menos, dependiendo de la complejidad del programa o el código; digo esto porque se puede hacer un mismo programa con diferentes códigos; es decir, a la vista del usuario, puede parecerle que un programa es idéntico, si no, es un clon de otro programa similar, pero si alguien con conocimientos de programación se pusiera a leer y analizar los códigos fuente de los dos programas, nos daríamos cuenta de que no es el mismo programa; podemos hacer un programa que realize una ecuación cuadrática mediante la fórmula general, pero eso si, existen más de ocho códigos que harían lo mismo, tomarían las variables que el usuario ingrese, y haría los cálculos, pero no se hace lo mismo realmente, a pesar de que el usuario lo piense así. Regresando a lo de la relación de este tópico con el software libre, gracias al software y con la ayuda de alguien con conocimientos de programación podemos aprender como se hacen las cosas y que es lo que hacen los programas.

En la página oficial para buscar ayuda del hackeo de Firefox, no s damos cuenta de que el código fuente de ese navegador tiene más utilidades que un multifincional y que una hoja de papel, o lo que sea; para que se den cuenta, el motor de navegación de Firefox (Gecko), es utilizado por más de cinco navegadores web sin contar Firefox, dos clientes de correo electrónico, dos suites de internet, un editor de páginas web, un reproductor de audio y video y una aplicación de agenda y esas cosas de gente muy ocupada;el código del motor es realmente una ganga, y además es libre, ¿que más se puede querer?. Bueno, a lo que quiero llegar es que, si bien cualquiera puede bajar el código fuente, no cualquiera puede modificarlo; una sola persona, necesita por lo menos un mes y medio para poder corregir un mini, pero realmente mini-bug; no cualquiera puede programar algo así; se necesitan horas y horas y horas y horas de estudio, lectura y análisis del código fuente.

Ahora, veamos la definición de la Wikipedia:

"Un programador es aquel que escribe, depura y mantiene el código fuente de un programa informático, es decir, el conjunto de instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. La programación es una de las principales área dentro de la informática. En la mayoría de los países, programador es también una categoría profesional reconocida."

Ahora analizemos la definición. Todo nos queda claro hasta el primer punto, ya que asumo que todos los que lean esto saben lo que es un programa informático. La segunda frase nos dice la importancia de la programación dentro de la informática, ya que si la programación no existiera, ¿como funcionarían las cosas? La tercera frase... ajam... bueno, pienso que esto no ha llegado a ser endentido del todo, o tal vez no es que no sea entendido, más bien pienso que esto depende del grado de desarrollo científico y tecnológico que tenga algún país; por ejemplo en mi país (México), el desarrollo tecnológico aún es muy, muy, pero muy escaso, y no se conoce como se debería, la importancia tecnológica dentro del desarrollo económico y social de un país. Para dar un ejemplo de lo mencionado, recurro a lo que mi ex-profesor de Investigación de Campo de mi escuela hizo alusión; mi ex-profesor menciono que estaba realizando un proyecto de investigación en conjunto con investigadores del extranjero, los cuales pertenecen a una organización; en dicha organización, se dijo que México es el único país que no invierte lo que se debería en desarrollo científico y tecnológico; ahora, viendo la situación de mi nación, ¿como espero que a la profesión de un programador se le dé la importancia que tiene? Es deprimente.

Ahora, recurro de nuevo a la Wikipedia:

"Inicialmente, la profesión se formalizó desde el enfoque Tayloriano de la especialización de funciones en la empresa. Así, el proceso de producción de software se concibe como un conjunto de tareas altamente especializadas donde está claramente definido el papel de cada categoría profesional. [...] Hoy día se reconoce que este enfoque no es válido para organizar tareas de tipo intelectual, como es la producción de software. [...] Las dificultades de comunicación entre analistas y programadores(un mero documento no basta para describir lo que se quiere hacer) dio origen a una categoría profesional intermedia, denomidada analista-programador. La concepción original del programador ha desaparecido siendo sustituida por la de un profesional mucho más formado y con unas funciones menos "mecánicas". Como conclusión de lo anterior, cabe inferir que, hoy por hoy, un programador requiere profundos conocimientos que incluyen matemáticas computacionales, electrónica, algorítmia, ingeniería de software, teoría de la computación, interacción persona-ordenador, etc. Por tanto, se trata de una profesión de alta calificación. No obstante, la mayoría de las empresas del siglo XXI aún siguen el enfoque Tayloriano en su gestión, de manera que siguen considerando la profesión de programador como un trabajo de baja calificación. A este hecho se añade el instruismo profesional, ya que, bajo este enfoque Tayloriano, el simple conocimiento de un lenguaje de programación habilita para el ejercicio de la programación. Esto atraes fácilmente a profesionales de otros mercados laborales menos favorecidos. Ambos factores contribuyen a que la profesión cuente con bajos salarios, inestabilidad leboral y un alto estrés. Por ejemplo, en Estados Unidos se calcula que aproximadamente la mitad de los programadores abandonan la profesión."

Ahora el análisis. Todo queda claro hasta el primer punto, pero en la segunda frase se reconoce que no es así, ¿porqué? Bien, pues porque no es necesario ponerse a realizar una serie de pasos como es el caso de firmar un contrato, y cosas por el estilo que se enseñan en la escuela que la mayoría de las veces solo hacen perder el tiempo; y creo que todos entendemos lo que también se dice en la segunda frase sobre que la programación es una profesión de intelecto. Despúes se menciona a los analistas; los analistas en los tiempos en los que la programación apenas andaba en pañales, eran personas que se encargaban de ver a qué problema se enfrentaban los sistemas informáticos y como solucionarlos, y los programadores eran los que realizaban las instrucciones de los analistas para resolver el problema (que tedioso y que perdida de tiempo, ¿no? Por eso surgieron los programadores analistas). Hoy en día, la mayoría del software libre que es encontrado en sitios como Sourceforge.net es desarrollado por programadores analistas. La siguiente frase es bien entendida por personas que no son tercas e ignorantes, y que los programadores tienen bastos conocimientos de diversas áreas científicas y tecnológicas, tanto así que la mayoría de los hackers se hacen llamar programadores para evitar que las personas ignorantes los califiquen de delincuentes al oir la palabra hacker. Las últimas frases hacen referencia de nuevo a la ignorancia de la sociedad, ya que ésta califica a los programadores como profesionales de bajo intelecto, y piensan que con el simple hecho de saber un lenguaje de programación se puede ser programador, y ya ven lo que se provoca, los programadores son sometidos a altos grados de estrés ya que las personas no saben los bastos conocimientos que hace falta tener.

Ahora recurriré a un blog con un lenguaje mas coloquial, pero que es fácilmente entendible para los ignorantes:

"Programar no es como hacer chorizos ni poner ladrillos, programar es un trabajo puramente intelectual, quizás la tarea más intensiva intelectualmente que conozco. A mas horas, no hay más producción, a veces un programador puede ser más productivo en una mañana que en dos semanas y lo más fascinante, esto no es un problema a resolver, sino algo inherente a la tarea de programar y hay que aceptarlo. Si no te gusta te puedes dedicar al cultivo del champiñon o cualquier otro negocio donde el resultado sea más predecible. [...] Un programador trabaando solo o con un pequeño equipo en una start-up le toca quedarse hasta las tantas de la madrugada muchos días porque cuando estás a la mitad de solucionar un problema no funciona lo de son las 19:00, hora de irme, mañana más. Cuando estás a la mitad de concentración, motivado para acabarlo, dejarlo para mañana puede significar realmente mañana, un par de semanas o un mes. ¿Un progrmador ineficiente? No, es simplemente así, volver a concentrarse en esa tarea y acordarse de cada detalle conlleva una pre-tarea de varias horas y si hay otras tarea más importantes que se cruzan, se postergará. Tratar a un programador como un currito que hace sus horas y se va, es ignorar como funcionan las tareas intelectuales, la motivación humana, etc. Proponer a alguien programar un proyecto web viable solo a cambio de un salario o presupuesto cerrado casi roza el insulto. Emprender conlleva un esfuerzo extra buscando un premio, por definición es incompatible pagar un salario fijo y pedir un esfuerzo extra."

Creo que esta cita textual no necesita de ningún análisis, pues pienso que cualquier ignorante lo entiende.

Ahora, pasando a la ignorancia, existe cada persona que solo Dios sabe para que nacieron; un día estaba conversando con un amigo que se cree hacker, y menciono que podía cambiar sus calificaciones; yo asombrado por eso y con mi típica curiosidad tecnológica le pregunte como le fue posible hacer eso, y el muy [...] me dijo que podía hacerlo cambiando el código HTML de la página, dándo clic en Ver -> Código Fuente; seguramente algunos de ustedes que sean ignorantes ya se fueron a ver el código fuente de la página de su escula para ver si es cierto, pero les tengo malas noticias, eso solo es el código fuente y lo que modifiquen solo se guardará en la memoria caché, pero como supongo que algunos de ustedes no entenderan eso, pues mejor lo dejo así. En fin, seguí conversando con mi amigo de otros temas tras decirle que no se podía por la razón que les acabo de mencionar, pero el seguía y seguía diciendo que si se podía mientras yo trataba de cambiar de tema, ¿porqué? porque no hay que perder el tiempo con personas que ademas de ser ignorantes, son testarudas, se les perdonan que sean ignorantes o testarudas, pero no se puede perdonar la combinación de las dos.

En fin, al principio de esta entrada mencioné a un amigo que me dijo que cualquiera podía programar, pero espero que con esta entrada comprenda que eso no es cierto; ser programador es tener amor por la profesión; a pesar del estrés que se les ponga a los programador, les gusta su trabajo, y eso perdona los insultos y lo demás que se sufre.

Ya mencionado esto, quiero decirles que el amigo que mencione, trabaja como constructor, no pienso arquitecto, no, constructor, un trabajo que requiere mucho trabajo y esfuerxo físico, pero no realmente esfuerzo intelectual; no insulto con esto a todos los constructores, no, cualquier trabajo es de honra a pesar del estrés y el esfuerzo que se requiera; eso si, para que sea un trabajo horando a pesar del esfuerzo, se tiene que tener amor por la profesión, y no amor por que "hay que chido, ya me pagaron, me voy a comprar unos jueguitos", no; yo hablo del verdadero amor por la profesión, y si el quiere trabajar como constructor esta bien, pero no es así, dudo que le guste su trabajo, siempre habla de él como un trabajo en el que le entra la pesadez y la apatía de tan solo pensar en él, y quiero decirte a ti, mi amigo, que no le quites la horandez a tu trabajo con tu pezadez y tus ansias de tu dinero para irlo a gastar en juegos. Todos los demás hagan caso omiso de eso si les gusta su trabajo, si no es así, también aplica a ustedes.

En fin, respondiendo a la pregunta que dá título a esta entrada, ¿todo mundo puede programar? Bien, cualquiera puede bajar un compilador y escribir el típico Hola Mundo, si; pero no cualquiera puede decir que está generando un proyecto distribuido bajo licencia de software libre, y no cualquier puede decir lo siguiente con lo cual voy a cerrar esta entrada:

¡Soy programador y amo programar!

Comments posted (3)

Hola Amigo que buen post felicidades, para saber programar primero hay que amar lo que se hace, un buen programador no le importa pasar 2 días sin dormir por estar haciendo lo que le gusta xD.

Hola querido amigo:

Oye primeramente agradecerte por la voluntad de compartir el conocimiento en la red.

es lo mejor que nosotros podemos hacer ya que no tendría sentido almacenar en nuestros HD tanta información, si al final no la vamos a poder utilizas o sacar provecho a todo, y Habiendo tantas personas que estarían agradecidos por que lo compartamos.
Amigo yo también tengo un granito de arena para compartir espero que los sirva de algo. estoy estudiando computación e informática,y e decidido ir subiendo a la red todo lo que hago para que sea de ayuda también a los demáas que están estudiando esta hermosa carrera

EJEMPLOS DE LENGUAJES DE PROGRAMACIÓN


si este link no anda puedes intentarlo DESCARGAR EJEMPLOS DE PROGRAMACIÓN


http://www.informatica-easy.webcindario.com/

http://www.webadictos.com.mx/2009/11/17/leyes-de-los-programadores/
Checala we
Soy el Zenteno