edición general
180 meneos
10344 clics

La sorpresa en la lista de los lenguajes de programación más utilizados del año

Una vez más, el índice Tiobe, que se basa en la popularidad de búsquedas de los distintos lenguajes de programación en Internet, ha otorgado el premio honorífico de lenguaje de programación más importante de 2019 y también ha lanzado la lista de los más utilizados a enero de 2020. En lo que respecta al premio honorífico del lenguaje de programación más importante de 2019, contra todo pronóstico, ha recaído en C a pesar de contar con 48 años desde su implementación.

| etiquetas: desarrollo , software , sorpresa , lenguajes , programación , premio , honorífico
Comentarios destacados:                          
«12
  1. Me sorprende JavaScript bajando
  2. No me extraña. C++20 llega a un punto de frikismo que ya es inmanejable.
  3. Juntas en una misma lista Ensamblador y Python. Lista basada en busquedas. Bien.
  4. Bah, nada como el COBOL.
  5. Lo sorprendente es la subida de Swift, cuando el 99% del desarrollo de este se enfoca al iPhone, mientras que Kotlin ni aparece en la lista.
  6. Cuando quiero hacer cosas para la NES con el compilados cc65, escribo mis programas en C.
  7. #1 A ver si sigue callendo. WebAssambly, se lo va a ventilar en menos de un año.
  8. #5 bueno, Swift lleva ya mucho tiempo bien asentado en iOS y no consiguió superar a ObjC en esta lista hasta prácticamente ahora. Kotlin dando fuerte de verdad en Android lleva poco más de un año. Casi todo el desarrollo Android de esa lista está aglutinado en Java, que imagino que bajará en función de lo que suba Kotlin en los próximos años.
  9. Sorpresa por qué
  10. #6 Yo para eso me creo una interfaz gráfica en Visual Basic.
  11. #8 Ya te aseguro yo que no. Webassembly es un formato de código binario, nadie programa en webassembly.
    Se programa en otro lenguaje y se compila a webaseembly.
  12. #12 Se programa en el lenguaje que te de la gana. En cualquiera menos en JavaScript. Ahora se utiliza JavaScript porque no hay alternativa.
  13. No veo COBOL en la lista :-/
  14. #13 Que no tío, que no te enteras.
    Para hacer algo con webassembly no puedes usar cualquier lenguaje. Hay un subconjunto muy reducido que compila a webassembly, encabezado por Rust.
    Y cuando dices que se programa en javascript porque no hay otra alternativa tampoco es cierto. Si te refieres a programar para un navegador web hay infinidad de alternativas, como coffeescript, typescript, ... y un montón más. Que se ejecute javascript no significa que tengas que programar en javascript.
  15. #15 xD xD xD chavalin, estudia antes de decir gilipolleces.
  16. #16 has demostrado no tener ni idea y aun así sigues igual de ignorante pregonando tus desdichas. Haz el riduculo todo lo que quieras, pero a mí no me molestas más. Al ignore que vas.
  17. #16 Recomendar a alguien que estudie cuando tú mismo has escrito "callendo"... ejem, ejem, como que no. O igual te referías a hacer la calle, a prostituirse... y en ese caso no tengo nada más que decir.
  18. De todos esos lenguajes, solo... C, ASM? Pueden ser compilados "freestanding" (sin runtime, sin sistema operativo, sin nada) sin perder demasiadas características.

    Mientras esto siga siendo así, C no morirá.
  19. #14 Eso será porque en las encuestas los que se lo llevan calentito de los bancos nunca ponen que mantienen código en COBOL.
  20. Lo del C es porque en los últimos meses he tenido que rehacer un proyecto antiguo y como no tenía ni puta idea he copado yo solito las búsquedas en interné
  21. #13 Con permiso... aquí dice que no se lo va a ventilar: www.itdo.com/blog/webassembly-puede-sustituir-javascript/
  22. # REXX sigue siendo el rey
  23. Yo no sabia que las busquedas SQL se consideraran un lenguaje de programacion.
  24. #8 cayendo. Ya me cuesta escribirlo bien a mí, como para encima leerlo :-P
  25. #2 Joder que lástima haberme separado de C++. C++11/14 era la ostia, qué ha pasado?
  26. #25 Lo que es un lenguaje bien hecho cojones. Los demás pasarán C perdurará. </abuelo cebolleta>
  27. #2 #3 #25 #28 Este estudio da lugar a engaño, todo programador C++ hace "consultas" sobre C. Pero aún así está programando en C++.
  28. pues yo no lo considero una sorpresa
  29. La sorpresa es D, que está en el 17 y lleva entre los 20 primeros un par de meses o tres después de más de 10 años de desarrollo.

    Por cierto, D es una verdadera maravilla, especialmente su programación genérica (templates o generics, como queráis).
  30. #24 pues lo es. El sql no son sólo búsquedas, tiene diría que prácticamente todos los elementos que puedas esperar de un lenguaje de programación: variables, procesos condicionales, iterativos, funciones, etc...

    Eso sí, no es un lenguaje de programación de propósito general, es evidente que está intrínsecamente especializado en trabajar con bases de datos.

    Como es lógico es un lenguaje interpretado pero aún así dependiendo del servidor que utilices el propio servidor es capaz de optimizar vistas, stored procedures y cosas así para que se ejecuten mñás rápidamente.
  31. #8 Callendo? En serio? CaYendo con Y
  32. Cofeescript, typescript no son más que subtipos/dialectos de Javascript.
  33. #19 Pregunta de ignorante, como se puede compilar sin sistema operativo?
  34. #43 compilar para ejecutarse sin sistema operativo.
  35. #11 Hehehe, por si alguno no lo captó: www.youtube.com/watch?v=-AAZmfd0rtE
  36. #8 Mientras no pueda llamar directamente a las Web APIs o tener acceso al DOM no va a sustituirlo.
  37. #6 Pregunta de novato: Cómo de rápido/eficiente funciona un código escrito C en la NES? Tenía entendido que tiene un hardware muy limitado y si necesitas exprimirlo has de irte a ensamblador, pero claro, para aplicaciones sencillas, desde luego puede ser lo más sencillo...
  38. Por qué sigue existiendo Visual Basic :wall:
  39. #24 Quizás a T-SQL se le podría considerar, aunque realmente no sea un lenguaje de programación al 100% (es más un juego de extensiones de programación), pero sí que tiene declaraciones y funciones que se pueden utilizar para que se ejecuten procedimientos y así obtener resultados específicos. En los procedimientos almacenados se pueden crear procesos, con envío de parámetros y con estructuras complejas como si fueran funciones hechas en un lenguaje de programación estándar.
  40. #38 ni de coña porque los dos dicen cosas que son verdades a medias. Y a ti ya te conozco cuando vas de troll, así que pasó de discutir, que no venía a eso
  41. #43 ya no puedo hacer edit...
    Cuando compilas freestanding, El programa se ejecuta 'tal cual' sin necesidad de tener un sistema operativo debajo y sin necesidad de librerías externas ni nada. Esto te limita bastante algunas cosas (generalmente no tienes acceso a ficheros, redes, etc...) pero te permite que puedas compilar para prácticamente cualquier máquina, por cutre que sea, y te permite controlar el acceso al hardware sin muchos impedimentos.

    Que ventajas tiene esto? Pues entre otras, te permite escribir sistemas operativos, drivers, firmware, programar en máquinas con pocos recursos...
  42. #8 ke vien heskrivir!!!
  43. He visto que la empresa Tiobe que elabora esta estadística se basa mucho en las búsquedas en motores de búsqueda. A mí me parece una medida muy sesgada, la verdad. Se me ocurre, por ejemplo, que C puede salir muy beneficiado porque al ser un lenguaje más completo la gente se dedica más a buscar resolver problemas y dudas.

    www.tiobe.com/tiobe-index/
  44. #46 Aquí tienes un ejemplo de como acceder al DOM desde Blazor. Y a las Web API's se accede sin ningun problema.

    github.com/kevinjpetersen/BlazorQuery
  45. #26 #40 #52 ¿No teneis nada más inteligente que aportar?
  46. #4 El COBOL son los padres!
  47. #57 lo mío era un comentario amistoso puesto que me pasa a veces con esa palabra. Por otro lado WebAssembly se asocia mucho actualmente con malware de criptominado en el navegador.
  48. #41 que ensamblador lo dudo. Todo termina traducido a código máquina. Y quitando cosas como las extensiones Jazelle en algunos ARM todo lenguaje de alto nivel tiene que ser traducido a C/M.
  49. #42 Aplicando esa lógica, Java y C# son dialectos de C.
  50. #47 Antes de nada quiero avisar que lo que voy a decir lo se "de oídas", por lo que tómalo con mucha sal...

    La NES lleva un procesador basado en 6502, y su diseño hace que se adapte bastante mal al lenguaje C. En general, los procesadores de 8 bits tienen bastantes limitaciones (entre ellas el tener pocos registros, y que el juego de instrucciones es poco ortogonal) que hacen que el código generado sea bastante pobre, pero en el caso del 6502, al tener una pila relativamente pequeña y limitada a 256 bytes lo hace especialmente problemático. Yo trabajé hace tiempo desarrollando un pequeño proyecto para el Spectrum usando el z88dk, que tiene un compilador de C "optimizador" para Z80, y acabé pasando y escribiendo directamente en ensamblador las partes que requerían máximo rendimiento, porque el código de bucles y demás era bastante malo, así como el uso de punteros para acceder a la memoria de vídeo. Y eso que en el Z80, con su pila de tamaño "ilimitado" y registros índice, el código de las llamadas era relativamente aceptable.

    Algunas de las fuentes de lo que digo:

    retrocomputing.stackexchange.com/questions/6095/why-do-c-to-z80-compil

    www.xtof.info/blog/?p=714

    www.cc65.org/doc/internal.txt
  51. #21 Apúntame a mí al carro, que me he puesto a hacer una aplicación con Qt + Python y en todas las búsquedas de Qt acabo en páginas de C.
  52. #2 C++ nacio "inmanejable".
  53. #5 Me he hecho la misma pregunta. Acabo de darme cuenta ahora mismo en el trabajo mientras buscaba algo en google.

    No busco "blablabla kotlin", lo busco para Android. Si los demás hacen como yo, lo lógico es que muchas búsquedas de desarrollo en kotlin no estén cuantificadas.

    Total, a mí me da igual que mi solución me la den en Java o en Kotlin.
  54. #31 Ya, pero no olvides que una gran parte de programadores de C++ programan ficheros .CPP pero lo que hay dentro es C con clases y poco mas, y por cierto, haciendo POO peligrosamente forzada.
  55. #19 Tambien rust, aunque ahi ahi.
  56. #14 El otro día, pensando en los pajaritos, me estaba preguntando... cuando llegue el 2070, a quién le tocará arreglar los parches que se hicieron al software en cobol para el efecto 2000 que consistían en asumir que si el año era menor que había que sumar 2000 y si era menor, 1900?

    Y ojo, no es que me queje de ese software. Estoy seguro de que es mucho más confiable que cualquier programa hecho por becarios de alguna consultora.
  57. #62 Al menos los ensambladores del Z80 y del 6502 son lo suficientemente simple, en número de instrucciones y registros, y direccionamientos, como para poder hacer algo medianamente eficiente sin haber tenido que estudiarlo mucho. En x86 me sacas del direccionamiento directo y los 20 mnemónicos más usados y necesito el manual al lado sí o sí.
  58. #41 Diría que Java está primero porque es lo que más se usa para programar para Android.

    con la version 7 es muchisimo mas rapido que Java y que casi C o ensamblador.
    Eeeehhh, no te pases. ¿ensamblador? xD
  59. #55 Ah, entonces php aparece muy abajo porque la página oficial de php tiene un manual buenísimo y no hace falta usar motores de búsqueda...
  60. #50 ¿Verdades a medias? ¿Pero de qué guindo te has caído? Uno dice lo que no es, y el otro le corrige de forma fulgurante
  61. #72 bueno es casi como dices: el php lo aprende un mono pajeándose al mismo tiempo. No quiero ofender, es así.

    python también. Pero da la casualidad de que python se usa mucho más en proyectos actuales.

    Sólo he dicho que creo que el criterio que utiliza la empresa del artículo puede ser muy sesgado. No estoy negando nada.
  62. #25: Sorpresón en Los Pajaritos.
  63. #55: Y es el preferido para aprender.
  64. #4 Poco se habla del COBOL. Luego bien que hacen transferencias.
  65. #43 La compilación debe de hacerse con un compilador en un sistema operativo. A lo que se refiere el compañero es a sacar un fichero a la salida del compilador que la CPU pueda "entender" sin necesitar nada más.

    Cuando tú en C usas la función read para leer un fichero realmente le estás diciendo al sistema operativo lo haga por tí, y él lo hará de la forma en la que esté programado. A ésto se denomina "llamada al sistema". En una compilación freestanding esto no se hace, y además, si no me equivoco (corregidme si está mal), no se encapsula el código en una estructura que le da información adicional al SO, como es el caso del icono del programa en Windows (que va dentro del .exe sin ser código).
  66. #41 ¿Más rápido PHP que C? Permíteme que lo dude.
    Cuando tenga tiempo hago el mismo código en C y PHP, un generador de números primos, y veo cuál tarda más y cuál tarda menos
  67. #74 uno dice que en webassembly se pueden programar en todos los lenguajes, menos en JavaScript, porque se ve claramente que no le gusta, no porque no se pueda. El otro dice que no, que sólo en los que tengan compilador (obvio) y luego se pegan porque para navegador puedes programar en coffescript, typeacript, Python o lo que te salga del coño siempre que haya un traductor a javascript (que no es cómodo andar recompilando en cada cambio del fuente así que es normal no considerarlos lenguajes "web") y entre todo eso que si subnormal, que si estudia, que si no sabes leer, cuando realmente y bajo mi punto de vista lo que están diciendo es muy parecido
  68. #55 Efectivamente. Sólo debido a errores de sintaxis y a parámetros especiales del compilador C se puede llevar muchas más preguntas que el resto, y usa si metemos llamadas al sistema (que es imposible saberlas todas de memoria) de los diversos sistemas operativos apaga y vámonos.
  69. #69 igual no tienes ni que esperar tanto para ver gente arreglando parches del efecto 2000:

    rt.cpan.org/Public/Bug/Display.html?id=124787
  70. #67 pierdes todo lo que dependa del runtime de rust, que no es poco. En eso se parece a C++, que "funciona" sin apenas runtime si estás dispuesto a perder funcionalidades. Por ejemplo intenta hacer un try/catch sin el xD

    En C no pierdes nada en lo que lenguaje se refiere, solo librerías.
  71. #75 Gracias por ofenderme. Pero llevo programando PHP desde la versión 4, y un mono podrá hacer 4 cosas contadas, alguien experimentado hace bastante más.
  72. #79 puedes tener ejecutables freestanding dentro de un ELF o un COFF o lo que quieras. No es obligatorio sacar un binario "plano" pero es muy habitual que así sea.
  73. #81 No, hazte un favor y lee todo bien hasta que lo entiendas. Mientras tanto estás mintiendo y creando un ruido inncesario.
  74. #87 Pues no me contestéis :wall:
  75. #68 no hace falta buscar benchmarks sobre ejecución de código. Todo lo que se codifica en alto nivel se termina compilando a bajo nivel.
    El problema del código máquina es que pierdes toda la abstracción de los lenguajes de alto nivel y programar algo medianamente complejo se vuelve impracticable.
  76. #85 Pues realmente a mi no me parece una ofensa, que un lenguaje de programación pueda ser aprendido por un mono sería más bien una virtud.
  77. #85 yo también llevo ya añitos y reconozcámoslo lo mejor de PHP es que cualquiera puede programar en ęl...
    Y justo eso es también lo peor... Cualquiera puede programar en él y así sale el código a veces
  78. #64 C++ es un lenguaje complejo, no está a la altura/alcance de todo el mundo (y más hoy en día en el que no se valora tanto la optimización y se busca el mínimo esfuerzo aunque al final las soluciones sean mediocres), pero al integrar C te permite hacer cosas de manera sencilla mientras sigues aprendiendo.. y teniendo en cuenta que prácticamente los compiladores e intérpretes de casi todos los otros lenguajes de la lista están hechos en C y/o C++, además de todos los sistemas operativos actuales y todos los grandes programas que siguen siendo desarrollados en estos lenguajes, yo diría que es una complejidad bastante agradecida. Al final esa complejidad hace de filtro algo que en el fondo es de agradecer ;)
  79. #82 Las llamadas al sistema no son específicas de C. Las puedes hacer casi en cualquier lenguaje.
  80. #93 Hace de filtro >> el problema es que C++ no hace tanto de filtro y sin embargo si provoca que mucha gente haga monstruos arquitectonicos que son un mierdon para mantener. Y no es que sean dificiles de mantener por requerir conocimientos de C++, sino por que son arquitecturas innecesaria y absurdamente complejas y demas basura.
  81. #84 Bueno, puedes meter una libc minima y hacer que el resto funcione con eso y no requiera nada mas de un SO. Yo hago cosas para UEFI ( y es mas, no solo UEFI, sino que usando solo alguna cosa ultrabasica, digamos que hago bare metal ) en C y hay peña que hace cosas del estilo en rust con una capa minima que tira en bare metal. EDIT: hay binding para musl libc, creo recordar. Musl libc es una libc minima para linux, pero se puede adaptar facil a bare metal.
  82. C/C++ vuelve porque hay un sector en alza donde optimizar importa, en todo el tema iot volvemos a tener micros de 8 bits, o sistemas arm con muy poca memoria y que encima queremos que no gaste energía de más. Metedle una jvm a eso si teneis cojones xD
  83. Donde este el lenguaje de ensamblador q se quite todo lo demás
  84. #66 Si, la gente lo mezcla todo. Por eso a mí me gusta declarar cada variable del namespace std explícitamente.
«12
comentarios cerrados

menéame