El lenguaje de los grandes programadores

Hace un par de días comenzaba una nueva edición del Code Jam de Google, la famosa competición de programación que la empresa viene organizando desde hace ya 8 años. A parte de proporcionar una gran selección de problemas con los que practicar nuestras habilidades, sus estadísticas también pueden servirnos para comprobar cuáles son los lenguajes de programación preferidos por los desarrolladores, y qué lenguajes utilizan los mejores programadores (sobre una muestra de 12.200 participantes).

Empecemos con los lenguajes más utilizados. Estos podrían ser los lenguajes cuyas sintaxis y características gustan más, o, simplemente, aquellos con los que están más familiarizados los participantes. Como vemos, C++ es, con mucha diferencia, el lenguaje más popular, seguido a larga distancia de Java y Python.

Lenguajes de programación más utilizados

Pasamos a continuación a los lenguajes con mayor porcentaje de programadores capaces. Vemos que el porcentaje de programadores que consiguieron la puntuación suficiente para pasar de fase es altísimo en el caso de C++ y Haskell (90,8% y 90,68%), mientras que el porcentaje de programadores aprobados en el caso de PHP (lenguaje con el que yo me gano las lentejas actualmente) es alarmantemente bajo en comparación (76,5%).

Mejores lenguajes de programación

Por último, veamos el porcentaje de programadores que consiguieron la puntuación perfecta, agrupados por lenguaje de programación. Aquí Haskell se distancia bastante de C++, y mucho más del resto de lenguajes, quizás por la llamada paradoja Python. PHP, por su parte, se mantiene con el dudoso honor de ser el lenguaje con peor porcentaje de programadores con puntuaciones perfectas.

Lenguajes de programación con los mejores programadores

50 comentarios en «El lenguaje de los grandes programadores»

  1. esta bueno,¿ahora decime,porque todas las palabras, para serguir los pasos están en ingles? hay personas que no lo saben ni le interesa aprenderlo-al menos es lo que pregunta la gente mayor.gracias

      1. Pues mi padre no tiene NPI de inglés, y es uno de los mejores programadores que ha tenido este país. Y no es amor de hijo, porque los de IBM todavía le llaman de vez en cuando para consultarle aunque lleva ya años jubilado.

        1. Exacto momar no es necesario saber ingles para ser el mejor programador del mundo xD, se requieren NEURONAS y no ingles que es opcional 😛

          1. Puedes ser el mejor músico del mundo siendo sordo, como Beethoven, pero te va a resultar bastante más complicado.

            Si no sabes inglés, tu formación en un mundo tan cambiante como la informática va a dejar mucho que desear.

        2. En realidad sabe un poco de ingles. La mayoría de las palabras reservadas en todos los lenguajes, están en inglés. Entonces si sabe que hace y como se escribe…¡vuala! ya sabe un poco de inglés.

  2. buenas estadisticas, pero creo que podrian agregar una mas. El año pasado y antepasado participe en el codejam y pase la primera ronda, pero lo q me ocurrio despues en la segunda ronda fue la limitacion de mi ingles y alcance a resolver 1 de 3..
    creo q si las estadisticas la cruzan por zonas obtendrian de q latinoamerica disminuye bastante la capacidad de competicion a medida q avanza el torneo… cada vez el ingles es mas tecnico y una palabra cambia totalmente el problema.

    saludos.

    1. Sinceramente, yo creo que para ser un buen programador (o analista, o arquitecto, o jefe de proyecto…), hay que tener un buen nivel de inglés.

      Nos guste o no es el idioma en el que se encuentra un 90% de la documentación actualizada del sector, y si no sabes bien inglés, ¿cómo te vas a formar?

  3. Estoy comenzando con esto de programar. He probado 4 lenguajes (Python, C++, C# y VB.Net) y de ellos el que más me llamó la atención fue C++. Aprenderlo me ha permitido comprender los demás rápidamente.

    C# y el .Net, admito que es una herramienta poderosa, no me llama la atención, aunque si me ponen a elegir Java vs C# me quedo con el último.

    Con Python tuve ciertos problemas al usar el bucle for, como en C++ no existe el for in me enredé un poco.

    1. En realidad es muy sencillo. En C++ (y sus derivados) el bucle for itera generalmente sobre un rango definido por el programador, cuyo índice se usará para diversos fines dentro del bloque del bucle; El for de Python siempre itera sobre iterables, es decir, listas, tuples, etc. Si necesitas iterar sobre un rango numérico (que es el caso académico del bucle for en otros lenguajes), lo que haces es generar una lista con los números requeridos, lo cual se puede hacer sobre la marcha en la propia definición del bucle.

    2. Agggggggg C# ese lengiaje te complica verdaderamente la existencia como programador para hacer algo no tan complicado tienes que escribir innumerables lineas. Microsoft se equivoca por ese lado al tratar de ocultar lo que en escencia es la programacion y nos presenta clases que lo complican mucho.

  4. La verdad, me creo perfectamente que los que dominen Haskell sean programadores en otro nivel que la mayoría. Es un lenguaje que requiere cierta agilidad mental, y la barrera de entrada es la Gran Muralla China.

    El típico argumento es que Haskell no tiene apenas librerías, pero la verdad es que eso tiene sus pros también; como por ejemplo que puedes probar tu dominio del lenguaje escribiendo una librería. Pero eso en España no se lleva, ¿verdad?

  5. Concuerdo con Michishige, un programador que no conoce lo básico del inglés, aunque sea para programar, no anda muy bien.

    El idioma inglés es ahora mismo el stándar mundial y eso, que está poco a poco pasando. Dentro de 3 o 4 años el que no hable mandarín estará en la nada.

    1. el mandarin es para los chinos, solo para hablar entre chinos, los chinos siguen siendo la fabrica del mundo, pueden fabricar todo los que se les pida, pero…

      jamas desarrollaran ninguna innovación, ellos no van a crear el procesador mas poderoso y que menos energía produce, solo lo van a fabricar.

      Osea mejor aprende ingles bien, luego aleman, luego frances, luego jergas locales, pero mandarín, no vale la pena

    1. Sí, es uno de los lenguajes más utilizados. Pero la mitad de la gente que programa en PHP no ha pasado de leerse un libro de «Aprenda PHP en 21 días».

  6. lo de php no me extraña; es un lenguaje que facilita mucho la generación de código espagueti. Por eso es uno de los más odiados.
    Es fácil de aprender y usar y por eso es popular para aplicaciones web no muy complicadas. Yo lo que veo es que para aplicaciones web más complicadas o que requieran escalabilidad en el futuro lo que se lleva es java ee

  7. A mi lo que me sorprende un poco son los buenos resultados de los programadores de Pascal. Es un lenguaje que en los últimos años se ha denostado bastante (seguro que muchos programadores dirán que «está muerto») pero que sigue siendo bastante potente.

    PD: Si consigues no hacerte un lio con las referencias, plantillas y orientación a objetos «megaflexible» en C++, eso ya te tiene que dar puntos extra, jeje.

    1. En cambio a mi me parece normal… la mayoría de los que aman Java no se llevan muy bien con las matemáticas xDD, Cosa distinta a los que lo hacen en C++, Haskell o Python…

      1. Sep a mi también me parece normal. Además Java es una carreta que para armar un prototipo te tiras el triple de tiempo que para resolver el problema en Python, Haskell o C.

      2. Dile eso a los desarrolladores de mathematica.
        Pero miraras que en la final mundial todo va a ser c++ y java.

        En general lo que pasa es que los que proponen los problemas ,los proponen para que sean resueltos generalmente en c/c++.

      3. no entiendo con que fundamento lo dices, conozco excelentes matematicos que trabajan con java; en lo personal trabajo con java y no encuentro nada tedioso las matematicas. pienso que lo del uso va mas por lo rapido y poco redundante que sea el codigo para el desarrollo de aplicaciones. hay si viene el uso de python y demas. 😀

  8. Yo me estreno este año en el concurso, y aunque en el trabajo programo en C, he decidido probar en Pascal. Solo somos dos españoles concursando utilizando Pascal. Ya veremos si paso de la primera ronda.

    Saludos.

  9. Justo cuando terminas de aprender un nuevo lenguaje resulta en el mercado un nuevo lenguaje con un nuevo paradigma mas fácil, mas rápido y mejor difundido … A veces lo mas popular no es lo mas optimo …

    1. Por lo general lo más popular no es lo mejor, el vino mas popular no es el mejor, el jamón más popular no es el mejor, popular significa en estos términos accesible y accesible cuando miras la media de IQ de la gente te tu entorno te das cuenta que es para cualquier gil que se ponga con horas silla para aprenderlo.

      Lo que dices de los paradigmas es bastante raro, porque de hecho entre los 4 con mejores resultados tenes que funcional mata a OO, de hecho c++ y python son multi-paradigma ambos y te apostaría a que nadie los uso como tales, sino funcional puro y duro. Entonces no es un nuevo lenguaje que va a revolucionar el mundo, es saber lo que realmente sirve de algo y pasar como de comer mierda de basuras «innovadoras» que no llegaran a nada o con las que solo perderás el tiempo, como programando en Erlang…

      1. ejem ejem 😀 no puedes comparar los lenguajes de programacion con vinos no C++ tiene muuuuucha pero muuuuuuuuuuuuuuuuuucha potencia tendrias que programar para advertir el porque mayor cantidad de programadores lo utiliza (no hablo de Mocosoft Visual C–) hablo de C++. entiende la programacion y conseguiras un ahorro increible de codigo.

  10. Pingback: Noticias 17-Mayo-2011 - La Web de Programación

  11. Yo creo que lo mas eficiente es saber de todo, orientado a objetos y funcional, java, c/c++, haskell.
    Entre más herramientas tengas, mayor va a ser tus probabilidades de encontrar una solución más rápida y eficiente a que si solo conoces una sola cosa.
    Lo que podemos tomar de esto es que tenemos que aprender algo… siempre.

  12. A propósito de que siglo son estos mensajes ? seria ideal que se incluya por lo menos la fecha en que fueron escritos, claro si no es mucho pedir.

  13. Estoy empezando a profundizar conocimientos de programacion y la verdad es que me interesa bastante C++, y quisiera me puedan dar un libro de referencia…
    GRacias

  14. Pues la verdad es que a mi me encanta C#, C++ y Python pero desde que uso Delphi no se, es como si me pegara con algun pegamento super potente por que no me he podido despegar de el. Es en este lenguaje que desarrollo aplicaciones que la verdad nunca pense hacer. Lo mismo para BD, que con Sockets, que cosas para Graficos, etc, etc.

    1. No solo por el pegamento, es esa tía buena (en todos los conceptos) que todo hetero desea tener a su lado para trabajarsela.

  15. ******El idioma inglés es ahora mismo el stándar mundial y eso, que está poco a poco pasando. Dentro de 3 o 4 años el que no hable mandarín estará en la nada.*******

    a ver Idrialis:

    respeto tu opinion, pero no cres que un humano no vive lo suficiente para convertirse en un super-multi-idiomas???

    y encima dominar su profesion informatica??? osea ni que fueramos que cosa!!!

    si cada vez nos exigimos mas a donde vamos a parar??? al suicidio???

    yo pienso que debe haber un standar, ok el ingles es universal pero yaaa hasta ahi, el mandarin???? noooo que aprendan ingles ellos que no sean flojos

    osea yo muy apenas se JAVa, un poco de c++ y visual basic, y pues ni por aqui me cabe aprender mandarin para que???

    PARA ESO ESTA LA PROFESION DE TRADUCTOR!!!!!

    =)

  16. quisiera especializarme en 2 leguajes de programacion exlusivamente pero no se cuales estoy pensando en java y en c++ me pueden recomendar ai estoy haciendo bien

  17. Aca hay un problema y es tipico de las encuestas y estudios estadisticos.

    Si un solo programador elige Heskel y pasa de fase y obtiene una calificacion perfecta, este tiene un 100% de efectividad.
    Esto no significa que Heskel sea el lenguaje mas efectivo o el mejor, solo que ha sido bien representado por los pocos que lo escogieron.

  18. Existe una diversidad en el uso en cualquier lenguaje, por comomodidad e infraestructura en diferentes grupos sociales a nivel tecnologico y se adaptan de acuerdo al nivel intelectual y recursos economicos para el funcionamiento, uso o no uso de licencias, velocidad, compilación, desarrollo, aprovechamiento y demas sin fin de utilidades que nos proporciona cada lenguaje.

  19. Si en la programación se busca estandares, un idioma «estandar» para la comunidad de programadores no estaría mal. Claro no es obligatorio, pero ayudaria para entender, al menos la documentacion.

  20. El hecho de que se use más C++ es que es el lenguaje más usado en programación competitiva, no quiere decir que sea el mejor lenguaje o que Haskell lo sea (lo dice un amante de C++)

  21. Pingback: Lenguajes de programación – J blog

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.