Cuál es tu lenguaje de programación preferido?

Elige opción

  • C / C++

    Votos: 142 22,8%
  • Java

    Votos: 88 14,1%
  • Javascript

    Votos: 40 6,4%
  • PHP

    Votos: 62 10,0%
  • Python

    Votos: 133 21,3%
  • Ruby / Rust / Scala

    Votos: 9 1,4%
  • Fortran

    Votos: 16 2,6%
  • Ensamblador

    Votos: 37 5,9%
  • Perl / Pascal / Ada

    Votos: 13 2,1%
  • Otros (C#, D, F# y etc.)

    Votos: 83 13,3%

  • Total de votantes
    623

cucerulo

Requires account upgrade to view this reply
Desde
19 Feb 2012
Mensajes
22.932
Reputación
100.245
Una preguntilla... si todos dicen que Python es bastante más lento por ser interpretado en vez de compilado... ¿porqué nadie ha hecho un compilador de python para solucionarlo? ¿Porque no permitirá el intérprete crear un EXE directamente...? Ya sé que existen py2exe y pyinstaller, pero los veo más como "apaños" hechos por usuarios.
 

MiNombreEsFantasma

Madmaxista
Desde
20 Jul 2015
Mensajes
6.167
Reputación
13.976
Una preguntilla... si todos dicen que Python es bastante más lento por ser interpretado en vez de compilado... ¿porqué nadie ha hecho un compilador de python para solucionarlo? ¿Porque no permitirá el intérprete crear un EXE directamente...? Ya sé que existen py2exe y pyinstaller, pero los veo más como "apaños" hechos por usuarios.
Hay algunas razones importantes:

1- Python es un lenguaje de tipado dinámico. Esta característica dificulta mucho la generación de código nativo y ensamblado del binario, al no haber información definida del tamaño de las estructuras que lo conforman. Esto implica generar mas código para la gestión de las estructuras de datos.

2 - El Garbage Collector. Un programa nativo necesitaría un hilo extra que contase las referencias utilizadas y mantuviera el heap limpio, o bien el compilador debería analizar las asignaciones y generar código que recubra esas sentencias haciendo el programa más lento aún; amén de engorroso y dificil de depurar.

3 - En python se puede hacer uso de reflection, lo cual implica que hay que introducir en el código nativo un sistema de información de tipos con todos sus metadatos. Esto penaliza el rendimiento y consume recursos. Como curisoidad el compilador C++ incluye un sistema parecido (RTTI) que puede habilitarse o no.

4- Una llamada a eval() implicaría mucha complejidad.

5 - Generar código nativo haría que se perdiesen muchas de las ventajas de un lenguaje interpretado (más seguridad ante errores de programación, más facil de depurar, más facilmente portable, etc) En muchas ocasiones un lenguaje interpretado es lo más adecuado.

Por lo tanto se toman vías intermedias. La más habitual es compilar a bytecode y hacer uso de una VM con un JIT
El intérprete Python es precisamente un JIT, por lo que durante el interpretado del programa se compilará a nativo partes del código propensas a ser optimizadas. Esto implica que, dependiendo de cómo sea el programa, este puede ser tan rápido como uno nativo. Dependerá de muchos factores.

La combinación bytecode + JIT ofrece un rendimiento muy bueno y toma las ventajas de ejecutar algo sobre una máquina virtual. Hacer un compilador python a código nativo, además de por las dificultades técnicas comentadas antes, no aportaría tampoco grandes ventajas.

De todos modos existen frikadas tipo Cython. Se trata de un traductor que transforma el código python a C. Ignoro cómo funciona.
 

NTJ_borrado

Guest
Desde
18 Dic 2009
Mensajes
13.428
Reputación
19.652
Lugar
Norte helado
Una preguntilla... si todos dicen que Python es bastante más lento por ser interpretado en vez de compilado... ¿porqué nadie ha hecho un compilador de python para solucionarlo? ¿Porque no permitirá el intérprete crear un EXE directamente...? Ya sé que existen py2exe y pyinstaller, pero los veo más como "apaños" hechos por usuarios.
Annado al excelente post anterior una razon practica: porque C ya es mas rapido de lo que puede ser cualquier Python compilado. No hay ninguna necesidad de inventar un segundo lenguaje para computacion eficiente.
 

Bangbang

Madmaxista
Desde
23 May 2014
Mensajes
561
Reputación
456
Javascript me está conquistando, lo único que toca un poco los bemoles es la proliferación de tal cantidad de frameworks... casi sale uno a la semana.
 

kunk

Madmaxista
Desde
20 May 2008
Mensajes
16.786
Reputación
16.462
¿Y que más da?

Uno programa en el lnguaje que determina lo que estás programando

Al final, quitando cosas extrañas tipo erlang o lisp, que uno no tocaría ni con un palo a no ser que sea totalmente imprescindible, son bastante parecidos todos. Uno se adapta.
 
Última edición:

Miguelina

Pompero
Desde
28 Ago 2017
Mensajes
1
Reputación
0
Considera linkknights.com si quieres vínculos externos de calidad y de páginas de autoridad.
 

barakas

Madmaxista
Desde
18 Oct 2013
Mensajes
80
Reputación
53
Como gustar C por su simpleza, pero prefiero C++ por su capacidad en Unreal frente a C con Unity.

Y en web PHP
 

stuka!

Himbersor
Desde
17 Ene 2017
Mensajes
3.167
Reputación
5.888
Ansi C / Asm.

---------- Post added 28-ago-2017 at 17:51 ----------

Como gustar C por su simpleza, pero prefiero C++ por su capacidad en Unreal frente a C con Unity.

Y en web PHP
Lo de unity es C# , una abominacion .net , aun mucho mas lgtb que el C++ .
Nada que ver con la elegancia y potencia a raudales del C de toda la vida.
 

ñandú iracundo

Madmaxista
Desde
19 Oct 2014
Mensajes
6.007
Reputación
8.124
Una preguntilla... si todos dicen que Python es bastante más lento por ser interpretado en vez de compilado... ¿porqué nadie ha hecho un compilador de python para solucionarlo? ¿Porque no permitirá el intérprete crear un EXE directamente...? Ya sé que existen py2exe y pyinstaller, pero los veo más como "apaños" hechos por usuarios.
El codigo Java funciona igual que python, es decir bytecode y VM (en python mas comunmente referido como interprete) y Java es uno de los lenguages mas rapidos. Si python no es igual de rapido es culpa de una VM menos sofisticada y por utilizar tipado dinamico, que le obliga a "pensar" mas al interprete.

De todas maneras interpretes de python no hay uno, hay muchos y algunos de ellos son mas rapidos, aunque el mas utilizado sea CPython.
 

Serpiente_Plyskeen

Madmaxista
Desde
14 Dic 2007
Mensajes
17.961
Reputación
28.845
TIOBE Index for September 2017
September Headline: For how long will the big three (Java, C, C++) dominate the index?

Nothing changed in the top 3 of the TIOBE index for more than 15 years. The big three programming languages Java, C, C++ are still where they were in 2001: at position 1, 2 and 3. C# and Python were believed to become the next big programming languages, but they didn't make it (yet). C# is not a top 3 language because its adoption in the non-Windows world is still low. Python on the other hand is dynamically typed, which is a blocker for most large and/or critical software systems to use it. Having said that, the gap between the big three and the rest is closing quickly. But the candidates for the top 3 are losing market share as well, so it is unknown what is going to happen. The general trend is that the pack is getting bigger. Applications that are written in a single programming language are getting rarer nowadays. As a consequence, more and more languages are gaining popularity down the TIOBE index. So exciting times are ahead of us to see what languages will be the winners of the next few years.

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.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.

Sep 2017 Sep 2016 Change Programming Language Ratings Change
1 1 Java 12.687% -5.55%
2 2 C 7.382% -3.57%
3 3 C++ 5.565% -1.09%
4 4 C# 4.779% -0.71%
5 5 Python 2.983% -1.32%
6 7 change PHP 2.210% -0.64%
7 6 change JavaScript 2.017% -0.91%
8 9 change Visual Basic .NET 1.982% -0.36%
9 10 change Perl 1.952% -0.38%
10 12 change Ruby 1.933% -0.03%
11 18 change R 1.816% +0.13%
12 11 change Delphi/Object Pascal 1.782% -0.39%
13 13 Swift 1.765% -0.17%
14 17 change Visual Basic 1.751% -0.01%
15 8 change Assembly language 1.639% -0.78%
16 15 change MATLAB 1.630% -0.20%
17 19 change Go 1.567% -0.06%
18 14 change Objective-C 1.509% -0.34%
19 20 change PL/SQL 1.484% +0.04%
20 26 change Scratch 1.376% +0.54%
 

brotes_verdes

Será en Octubre
Desde
26 Jun 2009
Mensajes
24.212
Reputación
90.166
Es raro, los principales lenguajes bajando pero no hay una subida equivalente de lenguajes poco usados.

Bueno, puede ser. Yo ultimamente estoy empezando a programar en Solidity, que es un lenguaje para programar aplicaciones sobre Ethereum, asi que mi comportamiento encaja con lo que se ve en en informe
 

Serpiente_Plyskeen

Madmaxista
Desde
14 Dic 2007
Mensajes
17.961
Reputación
28.845

TIOBE Index for October 2017

October Headline: Swift is losing popularity

In the beginning of this year the programming language Swift peaked at a rating of 2.3% in the TIOBE index and even reached a top 10 position. But now it is back at position 16 and constantly declining month after month. Until recently it was quite common to program Android apps in Java and iOS apps in Swift/Objective-C. This is quite cumbersome because you have to maintain two code bases that are doing almost the same. So frameworks for mobile hybrid apps were developed and now that they have grown mature these are becoming very popular. Market leaders in this area are Microsoft's Xamarin (C#), Apache's Cordova (JavaScript) and Ionic (JavaScript). The consequences of all of this are that languages such as C# and JavaScript are gaining popularity at the cost of languages such as Java and Swift.

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.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here. Oct 2017 Oct 2016 Change Programming Language Ratings Change
1 1 Java 12.431% -6.37%
2 2 C 8.374% -1.46%
3 3 C++ 5.007% -0.79%
4 4 C# 3.858% -0.51%
5 5 Python 3.803% +0.03%
6 6 JavaScript 3.010% +0.26%
7 7 PHP 2.790% +0.05%
8 8 Visual Basic .NET 2.735% +0.08%
9 11 Assembly language 2.374% +0.14%
10 13 Ruby 2.324% +0.32%
11 15 Delphi/Object Pascal 2.180% +0.31%
12 9 Perl 1.963% -0.53%
13 19 MATLAB 1.880% +0.26%
14 23 Scratch 1.819% +0.69%
15 18 R 1.684% -0.06%
16 12 Swift 1.668% -0.34%
17 10 Objective-C 1.513% -0.75%
18 14 Visual Basic 1.420% -0.57%
19 20 PL/SQL 1.408% -0.12%
20 16 Go 1.357% -0.45%
Y dejo unos pocos links al respecto de la poca unanimidad que hay con esto de cómo se mide la popularidad de los lenguajes de programación...
Onwards to Valhalla: Java ain't dead yet and it's only getting bigger- That is, if the sheer amount biz uses is anything to go by
Onwards to Valhalla: Java ain't dead yet and it's only getting bigger
Is Python Really the Fastest-Growing Programming Language?
Is Python Really the Fastest-Growing Programming Language? - Slashdot
Everyone loves programming in Python! You disagree? But it's the fastest growing, says Stack Overflow - It's a grower not a, er, yeah...
Everyone loves programming in Python! You disagree? But it's the fastest growing, says Stack Overflow
 

Serpiente_Plyskeen

Madmaxista
Desde
14 Dic 2007
Mensajes
17.961
Reputación
28.845
Parece que, con la excepción de Python, los lenguajes de scripting no van demasiado bien:


TIOBE Index for November 2017

November Headline: What happened to the scripting languages?


There has been a time that dynamically typed languages, also known as scripting languages, were the future. Easy to write, easy to run. Why do you need to declare a variable before you can use it? Why do we have to use all these type annotations all the time? As a consequence, languages such as Perl, Python, PHP and Ruby were very popular in those days.

Today is a different story. Only Python is going strong. The other scripting languages are gradually moving out of the top 20. What happened? Most errors in scripting languages occur run-time. They show up when a program is run. Despite the fact that one can write all kind of unit tests to compensate for this, it remains quite dangerous because such errors might happen while running the application in production. Since quality demands are getting higher and higher, hardly anybody dares to write a critical and large software system in a scripting language nowadays. Even a scripting language such as JavaScript that is inevitable while doing web programming was forced to evolve to a safer language. Microsoft introduced a typed version of JavaScript called TypeScript and all kinds of frameworks such as Angular and React were developed to safeguard the language (and also add extra functionality).

On the other hand, the statically typed languages responded to the threat of scripting languages by reducing their type verbosity: it all started with the "var" keyword in C#, amowed by type inference in Java and auto specifiers in C++. And this is how the big languages always seem to survive: by cherry picking the nice and promising antiestéticatures of their competitors.


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.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.

2016 Change Programming Language Ratings Change
1 1 Java 13.231% -5.52%
2 2 C 9.293% +0.09%
3 3 C++ 5.343% -0.07%
4 5 Python 4.482% +0.91%
5 4 C# 3.012% -0.65%
6 8 JavaScript 2.972% +0.27%
7 6 Visual Basic .NET 2.909% -0.26%
8 7 PHP 1.897% -1.23%
9 16 Delphi/Object Pascal 1.744% -0.21%
10 9 Assembly language 1.722% -0.72%
11 19 R 1.605% -0.11%
12 15 MATLAB 1.604% -0.36%
13 14 Ruby 1.593% -0.39%
14 13 Go 1.570% -0.43%
15 10 Perl 1.562% -0.80%
16 26 Scratch 1.550% +0.47%
17 17 Visual Basic 1.489% -0.43%
18 20 PL/SQL 1.453% -0.06%
19 11 Objective-C 1.412% -0.83%
20 12 Swift 1.389% -0.65%