TECNOLOGíA, INTERNET, JUEGOS
43 meneos
1416 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Índice TIOBE: Los lenguajes de programación más usados en la actualidad [En]

Los cinco lenguajes de programación más populares en la actualidad son Java, C, C++, Python y Visual Basic .NET. La lista de los lenguajes de programación más utilizados de cada año se elabora según el Índice TIOBE , que es elaborado por una empresa de software holandesa que se especializa en la evaluación y seguimiento de la calidad de los programas informáticos. Actualmente, la empresa revisa en tiempo real más de 300 millones de códigos de diversos programas informáticos por día actualizando mes a mes su índice.

| etiquetas: programación , tiobe index , software
34 9 12 K 244
34 9 12 K 244
Python en tercera posición... Excelente.
#1 Quería aprender a programar por mi cuenta y me han dicho que Python es bueno como lenguaje iniciático. ¿Es eso cierto? ¿Tenéis otras opiniones?
#19 Lo es. Es fácil y tienes 200 millones de librerías y funciones. Es un código sencillo y fácil de leer. Después, cuando te guste te puedes pasar a Java o C++ y ahí lo mandarás todo a la mierda y verás la vida de forma pesimista.
#23 No creo que dé ese salto. Es más bien curiosidad por el proceso. Además según me dijo un compañero va bien para bases de datos y programas de gestión y a eso le puedo sacar partido. Gracias por la respuesta.
#30 Si es para cosas relacionadas con datos python es un must. Luigi, airflow, numpy, pandas y la mayoria de las API de cloud son o tienen version en python. Después si quieres ir más allá iría por scala o java. Yo aprendí a programar en C que también es muy bueno para aprender pero python tiene mucha más salida para usarlo ahora. Un placer :-)
#19 Pascal es un lenguaje diseñado especifícamente para el aprendizaje aunque hoy en día se utiliza para multitud de cosas (sistema, aplicaciones de escritorio, aplicaciones de base de datos, aplicaciones cliente servidor, internet, móviles, etc.).

Te recomiendo Delphi (pascal + orientación a objetos), pero es caro, bastante caro, mucho más que la competencia. No obstante, hay una versión "starter" o así.

Hay otro potentísimo IDE clon de Delphi, Lazarus. Este es open source y es terrorífico -por lo potente que es --, puedes programar con él casi lo que se te antoje.

Saludos.
#34 con Pascal o Delphi no va a trabajar en España, yo lo di en la carrera y no lo he vuelto a ver en 10 años.

Python se usa mucho en universidades americanas para aprender, y según para que quieras aprender, hasta js, aunque JavaScript yo no lo recomendaría.
#19 definitivamente es el mejor para aprender a programar. Te permite empezar a disfrutar de la programación desde el minuto uno.

Dicho esto, NO es el mejor lenguaje para conocer cómo funciona la computación. Python es transparente para el usuario, lo tutela para que no meta la pata, a costa de abstraerlo del computador.

He sufrido en mis propias carnes el dolor de cambiar de lenguaje (de Python a C) y darme cuenta de que en realidad no sabía absolutamente nada de computadores, no tenía control sobre el dispositivo que ejecuta el código.

Si sólo quieres programar como un conocimiento auxiliar a tu disciplina, adelante con el!.
#19 eu.udacity.com/ Aquí tienes unos cursos gratuitos buenísimos. Te recomiendo el de "intro to computer science"

Learn key computer science concepts in this introductory Python course. You'll learn by doing, and will build your own search engine and social network.
#19 Si li que quieres es aprender a programar vete a C y luego das el salto a C++. Ahi estan todos los conceptos de programacion y es una aventura que te llevará una vida asimilar por completo.
Si lo que quieres es aprender a programar con la idea de hacer algo mas productivo, como un video juego vete a C#.
Python tiene un nicho muy exclusivo para hacer scripts y básicamente lo que haces es hacer llamadas a librerias en C. Es una capa que se pone por encima en muchas programas para que los usuarios hagan cosas sin necesidad de recompilar todo. Pero Python como lenguaje es bastante desastroso. Cogerás todo tipo de vicios y aprenderás cero de programación.
#19 Todo lenguaje vale para iniciarse, lo importante es de quien lo aprendes y lo metodico que seas.
Si eres poco metodico , te conviene un lenguaje que te obligue a serlo. Si eres metodico por ti mismo , puedes iniciarte hasta con el caos reptante tambien conocido como javascript.
Si vas a dedicarte de forma profesional , yo empezaria por un lenguaje de fuerte tipado , (C#, C++) y despues ya a algo mas relajado
#19 Yo empecé con Pascal en la facultad y después me enamoré de C. Fui un purista de los lenguajes fuertemente tipados hasta que descubrí Ruby. Es un lenguaje muy sencillo de aprender y además la biblioteca standard es muy buena, y aparte tienes un montón de gems, que son librerias hechas por terceros y que se instalan desde un repositorio con un solo comando
#1 En España continúa utizándose muy poco. (es la impresión que tengo..).
Viendo los empleos que se ofertan, en España diría que C#, java php, js..pero python no mucho
#1 Y yo que le odio!!!. No digo nada de su versatiblidad etc... pero la estructura que tiene me repele con todas las letras.
#36 java y C están por delante aún, no te sulfures. Python es claro y limpio, permite probar, jugar con ideas sin terminar con un espagueti gigante. Te permite pensar. En mi opinión, la funcionalidad evoluciona a través del uso, y las prácticas que terminan funcionando mejor se convierten en módulos, que la gente puede usar para seguir creando. Ni Java ni C pueden dar eso. Nadie escribe miles de líneas de código de una sentada.
#61 Me pasa lo mismo con JS, odio su caos. Vengo de lenguajes mas estructurados (y viejos) y me cuesta,
#1 Subiendo el 4.6% gracias a la ML , creo que tome una buena decision al empezar a aprenderlo :-)
#65 Por ahí iba yo jejeje... Hay muchos investigadores que usan python como herramienta, y porque no necesitan ser programadores para preparar y probar una teoría.
Aunque Python sube, js baja. Aún hay esperanzas.
#2 quiero pensar que gran parte de lo que js baja es pq suben Typescript y similares.
#2 Yo lo que no se es si dentro de lo que conceptualizan como Js están incluidos los frameworks que aunan Js junto con Typescript.
JAVA el primero...luego dicen que por qué el mundo se va a la mierda.
#3 Podrías dar algún argumento? A mi me parece un lenguaje bastante claro.
#5 Te doy varias:

- Gestión de memoria horrible.
- Introduces código que ralentiza la ejecución, súmale el tema de la máquina virtual y ya te meas...
- La famosa "verbosidad", que sí, que ha mejorado mucho, pero...
- A nivel de seguridad...en fin...igual que lo otro, mejora pero no lo suficiente...
- Intenta controlar el hw con JAVA y luego me lo cuentas...
- Y ya del control de errores no hablamos porque pa qué...
...
Y LA PRINCIPAL:
JAVA se ha utilizado como lenguaje de…   » ver todo el comentario
#7 Si JAVA está el primero es gracias a android. Era un lenguaje de capa caída antes de la llegada de los smartphones. Completamente de acuerdo con que la máquina virtual de java ha dado muchos problemas desde siempre.
#10 Era un idea buena llevada a la degeneración lo bueno que cuando los procesadores binarios sean sustituidos se ira a la mierda.
#18 Amen.
Cuando solo conoces un martillo , todo te parece un clavo.
#18, qué es eso de los procesadores binarios, qué otra arquitectura hay a la vista? No me digas que los cuánticos por favor.
#24 Biológicos/neuronales y cuánticos que este en pañales no implica que no se siga desarrollando estamos en esos temas como en 1970.
Aparte de FPGA esta en pleno boom eso de 1m de capas de sofware y hardware le sientan fatal a la latencias.
#10 Más bien era un lenguaje de capa caída porque Sun, su dueño, iba de capa caída y no era capaz de mantener el ritmo de novedades que la programación actual requiere.

Ahora Oracle sí se ha tomado más en serio el mundo de Java.

Eso no quita que también Android ha ayudado a su popularidad en los últimos tiempos
#7 hablas como un programador de bajo nivel* y entonces Java no es para ti. Es muy difícil gestionar hardware con Java porque tienes la JVM en medio, es verdad, pero entonces, no uses Java para eso igual que no usarías ¿COBOL? Yo no montaría una aplicación de comercio electrónico usando C, pero eso no hace que el C sea malo. Es solo que si hay clavos y tornillos hacen falta martillos y destornilladores...

* seguro que has entendido que no te estoy insultando
#14 Nivel intermedio, como de inglés, pero sí :-)
#7 La objeción "principal" que pones no es contra el lenguaje en sí, ¿me equivoco? Bajo ese punto de vista hay muchas cosas malísimas cuyo fallo consiste en que la gente no sabe usarlas.
#7 Pues leo tu crítica y me parece injustificada.

- Gestión de la memoria horrible: según como lo veas, a mí me parece horrible un lenguaje como C que no tiene recolector de basura. Y los "garbaje collectors" no son hoy en día lo ineficientes que eran en el pasado.

- Una máquina virtual es lo que hace que un mismo código pueda ejecutarse en hardwares diferentes. Si la MV está optimizada el código puede ser tan rápido como el nativo. Además ahora la MV está modularizada y te puedes…   » ver todo el comentario
#35 Si la MV está optimizada el código puede ser tan rápido como el nativo.  media
#44 A ver, me refiero a compiladores Just In Time, HotSpot y cosas de esas. Al final estás ejecutando código "casi" nativo.
#48 A no ser que estés ejecutando un código extremadamente simple, es difícil que el rendimiento sea el mismo por un motivo: la caché. En Java, si mal no recuerdo (hace tiempo que no lo toco), los objetos no se pueden crear en la pila, siempre se crean en el heap. Y eso es algo que jode bastante el rendimiento, tanto por la caché como por el hecho de tener que usar siempre memoria dinámica.
#35 el recolector de basura es una mala solución a un problema inexistente. La mejor solución de momento es la del C++ moderno: no hace falta recolectar basura porque no se genera basura.

Si se programa correctamente con RAII y smartpointers, la gestión de memoria en C++ es automática y al mismo tiempo predecible, no se generan picos de limpieza porque los recursos se liberan en el mismo punto donde de forma manual se haría un delete, solo que insertado automáticamente por el compilador.
#53 Pero estás perdiendo de vista que Java es un lenguaje de más alto nivel que C++ y la recolección de basura sí resuelve un problema que existe y es que gestionar la memoria es complicado y, en vez de dejar que la gestionen los programadores la gestiona la propia JVM. Si el recolector de basura es suficientemente bueno (y los modernos lo son), es un proceso prácticamente transparente.

Si tienes que andar diciendo que un puntero es smart o no ya tienes que andar jugando con cosas "ajenas" a la lógica del programa como es la gestión de la memoria. Para eso en Java también puedes jugar con referencias weak, soft o phantom.
#74 si soy consciente de que Java es de más alto nivel, pero igualmente, el GC es un concepto con sus problemas de base. Estás diciendo: yo voy dejando por ahí objetos sin referenciar y de vez en cuando paso un recolector que libere todo eso.
La aproximación de C++ al problema es: inmediatamente que un objeto queda sin referencias, se llama a su destructor.

No es una cuestión de alto o bajo nivel, es una cuestión de especificaciones del lenguaje. Perfectamente podría haberse hecho así en…   » ver todo el comentario
#75 Ojo que un objeto puede tener referencias y aún así ser basura (referencias circulares por ejemplo).
La idea primigenea de Java fue liberar al programador de aspectos de bajo nivel, y la gestión de la memoria es uno de ellos.

Si tienes que andar destruyendo objetos explícitamente, o gestionando el tipo de referencia que usas para esos objetos puede que tu código haga un uso más eficiente de la memoria, a cambio de hacer perder el tiempo al programador a la hora de gestionar aspectos de…   » ver todo el comentario
#35 ¿El recolector de basura sigue ejecutándose cuando le viene bien al sistema o puedes forzarlo de forma eficiente como un delete de C++?
#78 No puedes ejecutarlo cuando tu quieras, todo lo más puedes llamar a System.gc() para sugerirle al sistema que lo ejecute, pero el sistema puede decidir no hacerlo.

La idea es que el sistema tiene más claro que tú cuando debería liberarse memoria. Por eso en Android siempre desaconsejaban usar "task managers" que trataban de eliminar aplicaciones de memoria cuando no eran necesarias. Siempre fue mejor dejar esa tarea al sistema
#79 "La idea es que el sistema tiene más claro que tú cuando debería liberarse memoria. "
No puedo estar más en desacuerdo.
#7 Tus argumentos son un poco pobres Si pudieses eleborarlos un poco más estaría bien para intentar entenderlos. Llevo programando en Java (y otros muchos lenguajes de programación) más de 15 años y aunque no es la plataforma perfecta (ninguna lo es) las críticas que más veo son las basadas en carencias y limitaciones que tuvo la plataforma en sus inicios. Carencias iniciales lógicas ya que en su día supuso un cambio muy importante de paradigma (JVM) que se ha ido afinando con el tiempo y que le ha permitido colocarse en la posición mencionada en el artículo año tras año.

El ecosistema Java a nivel de herramientas, frameworks, comunidad, soporte, etc. no tiene parangón todavía en ninguna otra plataforma actual.
#7 ya hacía falta el Vox de la programación. Basta ya de alienación Java en las universidades y empresas.

Java te enseña a ser mal programador.
#7 Vamos, que Java es malo para programar a "bajo nivel". Es que intentar utilizarlo para eso, es de idiotas (ojo no es mi intención insultarte, de verdad).

Para otras cosas, por ejemplo para una aplicación web en backend, me parece una opción más que digna. ¿Hay cosas mejores? Sí. Claro. Ahora bien, no solo hay que valorar un lenguaje, también hay que valorar a sus programadores. Si efectivamente, hay una gran cantid de programadores con un nivel bueno de Java, lo normal es que se apueste por Java.

Otra cosa es que hablemos de Java nivel cárnica, con plazos de entrega de mierda y tirar código como un mandril. Pero claro, haz eso con C o con python.

Vamos, que Java tiene sus cosas, pero decir que el mundo se va a la mierda...
#7 pero si no has dicho nada.

"Gestion de memoria horrible" Explica esto, si puedes.
"Introduces codigo que ralentiza la ejecucion, sumale el tema de la maquina virtual y ya te meas" Codigo que ralentiza la ejecucion? pero sabes de lo que hablas?
"La famosa "verbosidad" Lo que?
"A nivel de seguridad...en fin...igual que lo otro" Lo cualo?
"Intenta controlar el hw con JAVA y luego me lo cuentas" Controlar hardware con Java? pero tu sabes de…   » ver todo el comentario
#7 JAVA es como el COBOL. Hay tantas cosas programadas en JAVA que a las empresas les resulta más barato mantener el lenguaje que reprogramarlo todo.
#7 Espero que los mismos que decis que Java es una mierda porque la maquina virtual es lenta luego no ireis diciendo que Python es la polla en otros sitios xD
#5
C# - Java = Argumentos en contra de Java

Y no estoy diciendo que C# sea mi lenguage favorito.
#12 Son lenguajes con filosofías muy parecidas. De hecho diría que C# es un JAVA un poco mejorado, pero no mucho más.
#3 si hemos sobrevivido a COBOL, Basic, PHP, ...
#6 No te confundas, vaquero...COBOL nos sobrevivirá a todos, y no al contrario ;)
#8 COBOL y la eterna muerte que no llega. xD
#8 Si, COBOL sigue presente año tras año, al igual que el virus de la gripe.
#3 a mí me parece que se va a la mierda porque se usa más Python que C++...
#11 Al revés, es esperanzador.
Que no digo que no, pero me parece raro ver PHP tan abajo con todo el que hay por ahí en los frontend/backend de páginas web.
#4 En España...
#4 Al php le tenemos mucho aprecio en Europa en general y España en particular, pero es un lenguaje que va para abajo. Python le ha ganado la carrera en el scripting.

En Barcelona, la mitad de ofertas de trabajo son Php.. En Berlín es java, Python o lenguajes nuevos como Go o Rust.
#29 Ya que lo mencionas, ¿cómo ves Rust? En general, el lenguaje, utilidad, futuro...

Yo estoy ahora con Python y quiero agregar uno o dos lenguajes diferentes más. Algo heterogénea de estilos Python-Rust-Lisp o Python-Haskell-Elixir.
#50 Pues no lo he usado pero me llama la atención. Hasta ahora solo he leído un poco y he ido a algún meetup.

Desde hace dos años trabajo en go y es una maravilla y, especialmente en programación de servidores.

Rust es el siguiente lenguaje en el que me estoy metiendo. Creo que es más aburrido que go, pero muy, muy robusto. Probablemente se quedará como lenguaje empresarial para grandes sistemas.
#4 El PHP se sigue utilizando pero la mayoría de la gente que diseña páginas web no necesita saber el lenguaje porque hay aplicaciones que te hacen todo el trabajo de generar el código.
#4 Aun guardo esperanzas que remonte un poco. La salida de la versión 7.x es un revulsivo muy interesante.
Visual Basic . Net el 4°? Pero si es una mierda!!!
#16 Millones de moscas no pueden estar equivocadas :troll:
#16 Visual Basic ha sido el estandar de Microsoft para hacer aplicaciones para Windows. Claro que si te preocupa la portabilidad te vas a otras plataformas, pero con VB lo haces en dos patadas y lo otro puede llevar meses.
Yo sigo usando C, y mucho, y es un lenguaje que sorprendentemente me enseña cada vez más cosas.
No soy capaz de entender que C# tenga la mitad de aceptación que Visual Basic siendo Java el primero.
#31 entiendo que debe de ser porque los que programaban en Visual Basic o ASP, al pasarse a .Net, siguieron programando en el idioma que conocían en vez de pasarse directamente a C#, con la intención de ir poco a poco migrando, y al final se quedaron con lo que conocían sin necesidad de cambiar.
#70 Me imagino que esa es la mejor explicación pero vamos que en todo caso creo que la tendencia debería apuntar a que Visual Basic .net fuera bajando en favor de C# que es más Java-friendly (siendo Java el número 1) y sin embargo no está sucediendo, lo cual me resulta curioso.
Otra visión del uso de los lenguajes de programación, visto por github:

githut.info/

Aquí discrepan sobre JS ... ;)
#32 Un poco desactualizado. Los últimos datos son de 2014....
#67 Ups, tienes razón, no me había fijado. He encontrado una versión actualizada:

madnight.github.io/githut/

Se puede ver como JS sigue 1º, y Python consolidándose como 2º
Hay que tener en cuenta que TIOBE es una lista de popularidad, no de uso.
Según sus palabras:

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
A mí esta lista siempre me ha parecido irrelevante porque la informática no es algo uniforme que puedas programar en lo que quieras, está sectorizada.
Por ejemplo puede ser interesante en el mundo de embedded, si C++ come terreno a C o no, pero en ese mundo C# o Java pintan poco o nada. Igualmente en el mundo web frontend, C o C++ son irrelevantes y solo interesa si Typescript avanza a JavaScript pelado o no.
Y así etcétera con todo.
Un resumen  media
#55 otra version  media
Mi querido D en el puesto 25 :'(
Javascript en el 6º lugar. Curioso. Para aprender, en mi humilde opinión, Javascript es muy interesante. Me refiero por supuesto a Javascript básico. Es muy simple, sus resultados se ven inmediatamente y fácil de entender, muy concreto y casi sin abstracciones. La idea de objeto es casi inmediata al aplicarlo al DOM, el concepto de variable y las estructuras quedan muy obvias. El hecho de no necesitar de entornos para programar y depurar la hace aparecer como algo práctico y concreto, poco…   » ver todo el comentario

menéame