"A falta de un nombre mejor lo llamaré la paradoja Python: si una compañía decide escribir su software en un lenguaje poco utilizado comparativamente, serán capaces de contratar a mejores programadores, porque atraerán sólo a aquellos que se molestaron en aprenderlo…"
#3:
#2 C, no es un buen ejemplo, tiene algunos nichos de los que me sorprendería que lo expulsaran, de Perl no hago comentarios, pero pienso que en ese caso es un caso de lenguaje que no pasa por un buen momento.
El argumento yo entiendo que es este: alguien se molesta en aprender un lenguaje que no está de moda, que no se enseña en las universidades(por lo menos en la mía) por afición, porque le gusta programar e investigar por su cuenta seguramente será mejor programador, estará más motivado e ilusionado con su trabajo, y sera más productivo. Y conocerá complejidades de los lenguajes porque habrá programado por su cuenta cosas que no se piden en la universidad.
#20:
#18 aunque tienes razón que leer a Graham está bien, te equivocas (un poco) en lo de Lisp y dios http://xkcd.com/224/
(con lo que #2 no está tan desactualizado...)
#10:
#2 Si cuando dices "los que trabajan con Java o .NET son todos unos zoquetes" quieres decir que "los que no programan en python son todos unos zoquetes", entonces has cometido un error lógico. Siendo:
A = programar en python
B = ser buen programador
A -> B equivale a No(B) -> No(A) pero no equivale a No(A) -> No(B) como has comentado.
#17:
#2, los lenguajes "comunes" (C, JAVA y VB) los saben "todos" los programadores, los buenos y los malos. Asi que puedo encontrar programadores de todo tipo entre los usuarios de esos lenguajes. Los lenguajes "raros" (y Python está dejando de ser "raro") son para gente que al menos va mas alla de lo que le enseñan en la universidad, asi que es mas probable que encontremos en ese grupo mejores programadores. Es una cuestion de probabilidades, nada impide que haya excelentes programadores JAVA y malos programadores Python.
#2 C, no es un buen ejemplo, tiene algunos nichos de los que me sorprendería que lo expulsaran, de Perl no hago comentarios, pero pienso que en ese caso es un caso de lenguaje que no pasa por un buen momento.
El argumento yo entiendo que es este: alguien se molesta en aprender un lenguaje que no está de moda, que no se enseña en las universidades(por lo menos en la mía) por afición, porque le gusta programar e investigar por su cuenta seguramente será mejor programador, estará más motivado e ilusionado con su trabajo, y sera más productivo. Y conocerá complejidades de los lenguajes porque habrá programado por su cuenta cosas que no se piden en la universidad.
#18 aunque tienes razón que leer a Graham está bien, te equivocas (un poco) en lo de Lisp y dios http://xkcd.com/224/
(con lo que #2 no está tan desactualizado...)
#2 Si cuando dices "los que trabajan con Java o .NET son todos unos zoquetes" quieres decir que "los que no programan en python son todos unos zoquetes", entonces has cometido un error lógico. Siendo:
A = programar en python
B = ser buen programador
A -> B equivale a No(B) -> No(A) pero no equivale a No(A) -> No(B) como has comentado.
No veo la relación entre molestarse en aprender un lenguaje poco conocido y ser un buen programador.
Por esa regla de tres, los que trabajan con Java o .NET son todos unos zoquetes. Y yo que trabajo con C y Perl, ¿que soy? (os ahorro el chiste: un desactualizado)
Justo ahora estoy haciendo un programita en Python; pero creo que realmente se refiera que si un "programador" nunca se a molestado en saber que es o que beneficios tiene Python, es porque no le gusta programar, solo hace lo que sabe y punto.
#2, los lenguajes "comunes" (C, JAVA y VB) los saben "todos" los programadores, los buenos y los malos. Asi que puedo encontrar programadores de todo tipo entre los usuarios de esos lenguajes. Los lenguajes "raros" (y Python está dejando de ser "raro") son para gente que al menos va mas alla de lo que le enseñan en la universidad, asi que es mas probable que encontremos en ese grupo mejores programadores. Es una cuestion de probabilidades, nada impide que haya excelentes programadores JAVA y malos programadores Python.
#10 Me has quitado las palabras de la boca
Y ha vuelto a cometer el mismo error en #4.
Por cierto, aunque ha cometido un error de lógica, éste mismo error responde su última pregunta.
"¿Soy peor programador?"
Al parecer sí.
Yo pienso que tiene razón, hay una frase que siempre digo, la curiosidad mató al gato pero hizo al informático, no es cuestión de ser bueno o malo, pero en este mundo en constante evolución, los mejores son los que tienen más inquietudes, y por lo tanto están en el grupo de posibles mejores programadores, llevo bastante tiempo con programadores y tengo muy claro que mejor 1 buen programador que 5 mediocres, creo que vale la pena buscar buenos programadores
¿Y qué pasa si alguien conoce Python, pero su formateado por narices le parece una aberración para niños tontos, algo así como un LOGO extendido?... ¿o con saber D y Groovy ya me libro de ser "mal programador"?
PD: conste que, aparte del formateado, Python no me cae tan mal.
Yo desde hace ya un tiempo cada vez que abro una oferta de trabajo pongo en requisitos Linux. En realidad no es necesario para programar php/mysql o similar, pero todas las personas que vienen sabiendo Linux de verdad, se lo han currado y se nota.
Los dos últimos programadores que he tenido sabían Linux en un alto nivel, así que de momento la regla se confirma.
A mi me enseñaron a saber utilizar la mejor herramienta en cada momento. Eso puede implicar programar en un lenguaje poco conocido, o no. ¿Qué es lo que vamos a desarrollar?
#26 la verdad es que sí que le tengo ganas, ya he leido sobre haskell y me parece que tiene detrás unas ideas que son la leche, que es muy potente y flexible... el tema es ver de dónde saco el tiempo antes tengo pendiente perfeccionar lisp (que lo vi en una asignatura de la carrera y ya sólo me acuerdo de los paréntesis :-p) y después ya iré a por haskell
el tema también es que para dominar un lenguaje no basta sólo con hacer los ejemplos, tienes que enfrentarte a un problema real, y a ver quién es el guapo que se arriesga a perder el tiempo con algo que todavía no tiene dominado al 100% (vamos, la misma historia de siempre de la inercia)
#27 creo que lo que se busca con esos requisitos es una simple cuestión de actitud frente a la tecnología; se buscan personas curiosas y autodidactas, la variable que se escoja para muestrear (python, linux, solaris, máquinas de turing...) es algo anecdótico.
Yo estoy de acuerdo en lo que dice la noticia, esta claro que un programador de java puede ser cojonudo sin tener ni idea de python. Pero un programador de python demuestra que realmente le gusta programar, al ser un lenguaje que no se enseña en ningun sitio. lo que demuestra que tiene interes por la tecnologia, por los lenguajes de programacion etc etc.
A parte mencionar que aprender a programar en lenguajes que son diferentes al resto como lisp, cobol, python etc cambia la mentalidad de un programador y este es capaz de aprender nuevos lenguajes mas facilmente y se enfrenta a los problemas con mas de un angulo de vista.
#29, un programador no solo programa. Me remito al The Pragmatic programmer. Abstrayendo podrías llegar a simplificar que en definitiva un programador solo escribe código sin más, suelta lineas y ya está.
No sé porque cojones todo el mundo se toma el texto este como que "el buen programador sabe python", cojones, leeros algo más que el puto título. Simplemente quiere decir que el buen programador se interesa por su trabajo y aprende por si mismo. Algo que se puede aplicar a cualquier profesión (oh wait, que nosotros no tenemos profesión!), alguien que se interese por su trabajo, mejorará, quiera o no.
#3 ¿En qué Universidad estás tú? Porque yo sí usé python en la universidad, el año pasado, pero no me enseñaron nada, vamos no sé en el resto pero en muchos casos en mi universidad te dicen "trabajaremos con la herramienta X", y te buscas la vida, bueno, perdón, te dejan links a manuales y tutoriales, al menos te ahorran googlear :P.
#4 Programar mucho tiempo no te hace mejor programador (mejor programador que cuando empezaste eres seguro, me refiero comparándote a otros).
#11 Alguien que dice algo sensato y le votan negativo ;/ Yo no trago C pero lo acabo de usar hacer unos pocos días, estamos programando en matlab una práctica que resuelve EDOs de 2o orden con métodos numéricos y al final todo se reduce a resolver un sistema de ecuaciones lineales, pues el algoritmo para esto último es muy bueno, muy rápido ¡pero por huevos tienes que usar bucles! Asique sólo para ese algoritmo en concreto lo programamos en C y lo usamos en matlab a través de un mex-file, en este caso era necesario usar C porque resolver un sistema de 40K ecuciones con la versión en matlab tardaba mucho (no tuve paciencia para esperar a ver cuanto tardaba al final), con la versión C es casi instantáneo. Eso sí, aunque me dejaran no haría toda la práctica en C ni de broma, ya sé lo que es depurar errores en un lenguaje que deja sumar peras con manzanas y despues multiplicarle alcachofas.
El problema de los programadores python es que no encuentran a nadie que los contrate e intentan hacer ver al mundo que son especiales, superiores al resto
De cachibú, de cachibú, de cachivaca, las espinacas se machacan
la corbata se pone en el pescuezo y los zapatos en los pies
en esta mano tengo 5 dedos, y en esta otra 2 y 3
#24 Y si en vez de ser expertos en Linux lo son en Solaris? Sinceramente no veo la relación por ninguna parte, a menos que nuestro criterio de "buen programador" sea muy distinto, conozco gente que me daba a mí un repaso en linux y bsd (soy usuario de linux pero no puedo decir que sea ningún experto) y sin embargo programando tienen mucho que aprender.
Me gusta Python pero ni es poco conocido ni implica que seas mejor programador por dominar un lenguaje poco conocido. Con Ruby el ejemplo sería algo mejor, pero tampoco.
#30 desde febrero D tiene ya versión estable (1.0, la 2.0 es inestable), yo me puse hace poco también a aprenderlo es enorme!, es un C++ bien hecho :). Le falta sobretodo soporte (e.g. en ubuntu hasta gutsy ni lo tenías en los repos!) pero yo creo que se hará un huequecito, se lo merece.
El problema que le veo es sobretodo la librería estandar que tienes dos, una la del propio lenguaje y Tango. Es lo único que no me ha gustado, nada, nada.
#25 Si te gusta la programación funcional prueba haskell, te será fácil comenzar porque ya sabes ocaml, pero te sorprenderás, haskell es un lenguaje sobre el que se investiga mucho, si sale un nuevo concepto o idea para lenguajes funcionales casi seguro que en el primer lenguaje donde se pone en práctica es haskell.
¿Y dónde están esas empresas?. Porque sí, yo aprendí Python por hobby fuera de la uni y desarollé una aplicación con él que ahora vendo, pero sólo encuentro trabajo en consultoras cárnicas, y me dedico mayormente a corregir chapuzas de otros programadores. Si alguien lo sabe que me lo diga: [Nota de admin: dirección de correo electrónico editada a petición del autor]
He programado con C/C++ y Python, llevo ya unos meses programando con D, es un lenguaje raro, poco conocido y depende de versión inestable. Y a pesar de ello, no me creo un buen programador Pero bueno, si creéis está teoría (que más bien parece pyPropaganda), aquí tenéis el mítico ranking de lenguajes (http://www.tiobe.com/tpci.htm)
Pues eso #3, una visión totalmente simplificada y parcial. No sería de extrañar que el autor de el artículo sea programador de Python
Habrá personas que programen en y sean auténticos dioses de la programación y otros que "sepan" python por lo que sea y sean unos negados. No se que tiene que ver la universidad en todo esto. Yo llevo programando en C desde los 15 años y he hecho cientos de proyectos por que me gusta y punto, y python no me gusta y no lo pienso aprender. ¿Soy peor programador?
Comentarios
#2 C, no es un buen ejemplo, tiene algunos nichos de los que me sorprendería que lo expulsaran, de Perl no hago comentarios, pero pienso que en ese caso es un caso de lenguaje que no pasa por un buen momento.
El argumento yo entiendo que es este: alguien se molesta en aprender un lenguaje que no está de moda, que no se enseña en las universidades(por lo menos en la mía) por afición, porque le gusta programar e investigar por su cuenta seguramente será mejor programador, estará más motivado e ilusionado con su trabajo, y sera más productivo. Y conocerá complejidades de los lenguajes porque habrá programado por su cuenta cosas que no se piden en la universidad.
#18 aunque tienes razón que leer a Graham está bien, te equivocas (un poco) en lo de Lisp y dios
http://xkcd.com/224/
(con lo que #2 no está tan desactualizado...)
#2 Si cuando dices "los que trabajan con Java o .NET son todos unos zoquetes" quieres decir que "los que no programan en python son todos unos zoquetes", entonces has cometido un error lógico. Siendo:
A = programar en python
B = ser buen programador
A -> B equivale a No(B) -> No(A) pero no equivale a No(A) -> No(B) como has comentado.
No veo la relación entre molestarse en aprender un lenguaje poco conocido y ser un buen programador.
Por esa regla de tres, los que trabajan con Java o .NET son todos unos zoquetes. Y yo que trabajo con C y Perl, ¿que soy? (os ahorro el chiste: un desactualizado)
Justo ahora estoy haciendo un programita en Python; pero creo que realmente se refiera que si un "programador" nunca se a molestado en saber que es o que beneficios tiene Python, es porque no le gusta programar, solo hace lo que sabe y punto.
#2, los lenguajes "comunes" (C, JAVA y VB) los saben "todos" los programadores, los buenos y los malos. Asi que puedo encontrar programadores de todo tipo entre los usuarios de esos lenguajes. Los lenguajes "raros" (y Python está dejando de ser "raro") son para gente que al menos va mas alla de lo que le enseñan en la universidad, asi que es mas probable que encontremos en ese grupo mejores programadores. Es una cuestion de probabilidades, nada impide que haya excelentes programadores JAVA y malos programadores Python.
Paul Graham es lo mas cerca de dios que puede estar uno. ABSOLUTAMENTE recomendado leerse On Lisp, aunque no vayas a programar Lisp en tu vida.
El original de Paul Graham en inglés (agosto 2004) "The Python Paradox":
http://www.paulgraham.com/pypar.html
#10 Me has quitado las palabras de la boca
Y ha vuelto a cometer el mismo error en #4.
Por cierto, aunque ha cometido un error de lógica, éste mismo error responde su última pregunta.
"¿Soy peor programador?"
Al parecer sí.
Yo pienso que tiene razón, hay una frase que siempre digo, la curiosidad mató al gato pero hizo al informático, no es cuestión de ser bueno o malo, pero en este mundo en constante evolución, los mejores son los que tienen más inquietudes, y por lo tanto están en el grupo de posibles mejores programadores, llevo bastante tiempo con programadores y tengo muy claro que mejor 1 buen programador que 5 mediocres, creo que vale la pena buscar buenos programadores
¿Y qué pasa si alguien conoce Python, pero su formateado por narices le parece una aberración para niños tontos, algo así como un LOGO extendido?... ¿o con saber D y Groovy ya me libro de ser "mal programador"?![:roll: roll](https://cdn.mnmstatic.net/v_149/img/menemojis/36/roll.gif)
PD: conste que, aparte del formateado, Python no me cae tan mal.
puff pues no tiene tiempo esto ... cual sera la proxima noticia : GOTO considered harmful
a #4 lo tuyo si que es una simplificación
Y Graham es lispero de toda la vida...
(http://es.wikipedia.org/wiki/Paul_Graham)
(http://news.ycombinator.com/item?id=60357 )
mola eso de los hombres de verdad.
Yo desde hace ya un tiempo cada vez que abro una oferta de trabajo pongo en requisitos Linux. En realidad no es necesario para programar php/mysql o similar, pero todas las personas que vienen sabiendo Linux de verdad, se lo han currado y se nota.
Los dos últimos programadores que he tenido sabían Linux en un alto nivel, así que de momento la regla se confirma.
A mi me enseñaron a saber utilizar la mejor herramienta en cada momento. Eso puede implicar programar en un lenguaje poco conocido, o no. ¿Qué es lo que vamos a desarrollar?
#26 la verdad es que sí que le tengo ganas, ya he leido sobre haskell y me parece que tiene detrás unas ideas que son la leche, que es muy potente y flexible... el tema es ver de dónde saco el tiempo
antes tengo pendiente perfeccionar lisp (que lo vi en una asignatura de la carrera y ya sólo me acuerdo de los paréntesis :-p) y después ya iré a por haskell
el tema también es que para dominar un lenguaje no basta sólo con hacer los ejemplos, tienes que enfrentarte a un problema real, y a ver quién es el guapo que se arriesga a perder el tiempo con algo que todavía no tiene dominado al 100% (vamos, la misma historia de siempre de la inercia)
#27 creo que lo que se busca con esos requisitos es una simple cuestión de actitud frente a la tecnología; se buscan personas curiosas y autodidactas, la variable que se escoja para muestrear (python, linux, solaris, máquinas de turing...) es algo anecdótico.
Yo estoy de acuerdo en lo que dice la noticia, esta claro que un programador de java puede ser cojonudo sin tener ni idea de python. Pero un programador de python demuestra que realmente le gusta programar, al ser un lenguaje que no se enseña en ningun sitio. lo que demuestra que tiene interes por la tecnologia, por los lenguajes de programacion etc etc.
A parte mencionar que aprender a programar en lenguajes que son diferentes al resto como lisp, cobol, python etc cambia la mentalidad de un programador y este es capaz de aprender nuevos lenguajes mas facilmente y se enfrenta a los problemas con mas de un angulo de vista.
#29, un programador no solo programa. Me remito al The Pragmatic programmer. Abstrayendo podrías llegar a simplificar que en definitiva un programador solo escribe código sin más, suelta lineas y ya está.
No sé porque cojones todo el mundo se toma el texto este como que "el buen programador sabe python", cojones, leeros algo más que el puto título. Simplemente quiere decir que el buen programador se interesa por su trabajo y aprende por si mismo. Algo que se puede aplicar a cualquier profesión (oh wait, que nosotros no tenemos profesión!), alguien que se interese por su trabajo, mejorará, quiera o no.
#17 Entonces yo que aprendo Haskell por mi cuenta tengo muchas probabilidades de ser un genio! Por cierto, aprovecho para recomendaros que lo probeis
#23 Yo aprendí OCaml por mi cuenta, hacemos un club de frikis?
"buen programador es quien programa bien" Forrest Gump Reloaded
#3 ¿En qué Universidad estás tú? Porque yo sí usé python en la universidad, el año pasado, pero no me enseñaron nada, vamos no sé en el resto pero en muchos casos en mi universidad te dicen "trabajaremos con la herramienta X", y te buscas la vida, bueno, perdón, te dejan links a manuales y tutoriales, al menos te ahorran googlear :P.
#4 Programar mucho tiempo no te hace mejor programador (mejor programador que cuando empezaste eres seguro, me refiero comparándote a otros).
#11 Alguien que dice algo sensato y le votan negativo ;/ Yo no trago C pero lo acabo de usar hacer unos pocos días, estamos programando en matlab una práctica que resuelve EDOs de 2o orden con métodos numéricos y al final todo se reduce a resolver un sistema de ecuaciones lineales, pues el algoritmo para esto último es muy bueno, muy rápido ¡pero por huevos tienes que usar bucles! Asique sólo para ese algoritmo en concreto lo programamos en C y lo usamos en matlab a través de un mex-file, en este caso era necesario usar C porque resolver un sistema de 40K ecuciones con la versión en matlab tardaba mucho (no tuve paciencia para esperar a ver cuanto tardaba al final), con la versión C es casi instantáneo. Eso sí, aunque me dejaran no haría toda la práctica en C ni de broma, ya sé lo que es depurar errores en un lenguaje que deja sumar peras con manzanas y despues multiplicarle alcachofas.
El problema de los programadores python es que no encuentran a nadie que los contrate e intentan hacer ver al mundo que son especiales, superiores al resto
De cachibú, de cachibú, de cachivaca, las espinacas se machacan
la corbata se pone en el pescuezo y los zapatos en los pies
en esta mano tengo 5 dedos, y en esta otra 2 y 3
es mi opinión.
#24 Y si en vez de ser expertos en Linux lo son en Solaris? Sinceramente no veo la relación por ninguna parte, a menos que nuestro criterio de "buen programador" sea muy distinto, conozco gente que me daba a mí un repaso en linux y bsd (soy usuario de linux pero no puedo decir que sea ningún experto) y sin embargo programando tienen mucho que aprender.
Yo no programo desde que hice mi compilador de lenguaje natural, you insensitive clod!
Acabo de ver que hay una traducción al castellano:
http://www.fduran.com/wordpress/?p=23
Me gusta Python pero ni es poco conocido ni implica que seas mejor programador por dominar un lenguaje poco conocido. Con Ruby el ejemplo sería algo mejor, pero tampoco.
D es efectivamente más raro como dice #30.
#30 desde febrero D tiene ya versión estable (1.0, la 2.0 es inestable), yo me puse hace poco también a aprenderlo es enorme!, es un C++ bien hecho :). Le falta sobretodo soporte (e.g. en ubuntu hasta gutsy ni lo tenías en los repos!) pero yo creo que se hará un huequecito, se lo merece.
El problema que le veo es sobretodo la librería estandar que tienes dos, una la del propio lenguaje y Tango. Es lo único que no me ha gustado, nada, nada.
#25 Si te gusta la programación funcional prueba haskell, te será fácil comenzar porque ya sabes ocaml, pero te sorprenderás, haskell es un lenguaje sobre el que se investiga mucho, si sale un nuevo concepto o idea para lenguajes funcionales casi seguro que en el primer lenguaje donde se pone en práctica es haskell.
¿Y dónde están esas empresas?. Porque sí, yo aprendí Python por hobby fuera de la uni y desarollé una aplicación con él que ahora vendo, pero sólo encuentro trabajo en consultoras cárnicas, y me dedico mayormente a corregir chapuzas de otros programadores. Si alguien lo sabe que me lo diga: [Nota de admin: dirección de correo electrónico editada a petición del autor]
#35 Sería muy generoso por tu parte que expresaras la misma idea de un modo más inteligente, para poder aprender de ti.
Mac OS X usa como lenguaje principal de programación Objctive-C, será esta la razón de que se este desarrollando software independiente tan bueno.
He programado con C/C++ y Python, llevo ya unos meses programando con D, es un lenguaje raro, poco conocido y depende de versión inestable. Y a pesar de ello, no me creo un buen programador
Pero bueno, si creéis está teoría (que más bien parece pyPropaganda), aquí tenéis el mítico ranking de lenguajes (http://www.tiobe.com/tpci.htm)
Pues eso #3, una visión totalmente simplificada y parcial. No sería de extrañar que el autor de el artículo sea programador de Python![:roll: roll](https://cdn.mnmstatic.net/v_149/img/menemojis/36/roll.gif)
Habrá personas que programen en y sean auténticos dioses de la programación y otros que "sepan" python por lo que sea y sean unos negados. No se que tiene que ver la universidad en todo esto. Yo llevo programando en C desde los 15 años y he hecho cientos de proyectos por que me gusta y punto, y python no me gusta y no lo pienso aprender. ¿Soy peor programador?
#10 Que forma tan burda es expresarse, es poco inteligente expresarse de esa manera.
Por cierto, me pregunto que hace a un buen programador.