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
El problema de Java es que en entornos web da mucho por ojo ciego, las webapp y todo eso, pero bueno no podia tenerlo todo , demasiada extension tiene

No llego a entender que significa que da mucho por ojo ciego.

Podrias explicar que quieres decir sin utilizar un lenguaje tan academico?

:roto2:

me quedo con una frase que no se quien shishi dijo que era algo asi como "los patrones de diseño tienen que servir para suplir carencias de los lenguajes que no poseen ciertas caracteristicas".

Esa frase no tiene ni pies ni cabeza.

Un patron (de disenio) no es mas que una solucion probada para un problema conocido.

a mi, por ejemplo, esta costumbre que hay en java de hacer factorias para todo, builders, adapters... se llegan a extremos realmente absurdos.

El desarrollador que hace uso de esos patrones los usara en Java, Scala, C#, JavaScript, Phyton, Php, etc porque los patrones son independientes del lenguaje.
 
No llego a entender que significa que da mucho por ojo ciego.

Podrias explicar que quieres decir sin utilizar un lenguaje tan academico?

:roto2:



Esa frase no tiene ni pies ni cabeza.

Un patron (de disenio) no es mas que una solucion probada para un problema conocido.



El desarrollador que hace uso de esos patrones los usara en Java, Scala, C#, JavaScript, Phyton, Php, etc porque los patrones son independientes del lenguaje.

aham, cierto. tiene mucho sentido usar el patron observer cuando usas R y Shiny, por ejemplo, o usar iterator en python cuando tienes cosas como array slicing y list comprehension, o iterator en SQL cuando todo se puede hacer mediante operaciones sobre conjuntos...

tambien tiene mucho sentido usar el patron prototype en javascript :roto2:

o usar un patron visitor en lenguajes para SBCs como prolog... :roto2:
 
aham, cierto. tiene mucho sentido usar el patron observer cuando usas R y Shiny:

Si el problema a resolver no necesita de un observer...para que habrias de utilizarlo?

por ejemplo, o usar iterator en python cuando tienes cosas como array slicing y list comprehension

Python incluye el patron iterador dentro del mismo lenguaje tal y como hace Java.

, o iterator en SQL cuando todo se puede hacer mediante operaciones sobre conjuntos...

SQL no es ni un lenguaje de programacion. Tampoco puedes usar un iterator en excel :D

tambien tiene mucho sentido usar el patron prototype en javascript :roto2:

De hecho se usa y un monton ;-)

4 JavaScript Design Patterns You Should Know | Scotch

o usar un patron visitor en lenguajes para SBCs como prolog... :roto2:

Creo que te estas yendo por las ramas.

He dicho y mantengo que son independientes del lenguaje no que por narices tengas que usarlos en todos los lenguajes.

Un patron te ayuda a solucionar un problema de una manera estandarizada y con un argot que el resto de profesionales entiende. Si no tienes ese problema no necesitas usarlo.

Eso no quiere decir que los patrones existan por limitaciones de los lenguajes.

De hecho fijate que estamos hablando de patrones de disenio y realmente hay muchos otros patrones como los enterprise patterns aun mucho mas alejados del lenguaje.
 
Yo uso C y C++ mayormente. Suelo currar a bajo nivel (microcontroladores y tal).

Pero hice cosas "javosas" con GUI en su día.

Descubrí erlang hace poco y me mola, aunque es un poco extraterrestre. De vez en cuando he intentado aprender alguno de los "raros" como Prolog o Lisp, pero con erlang es con el que más he aguantado.

El otro día me hice una especie de preprocesador de C en un periquete y en 70 líneas (entiende #define, #undef, #ifdef, #else, #endif).

Curioso esto del estilo funcional.
 
Yo uso C y C++ mayormente. Suelo currar a bajo nivel (microcontroladores y tal).

Pero hice cosas "javosas" con GUI en su día.

Descubrí erlang hace poco y me mola, aunque es un poco extraterrestre. De vez en cuando he intentado aprender alguno de los "raros" como Prolog o Lisp, pero con erlang es con el que más he aguantado.

El otro día me hice una especie de preprocesador de C en un periquete y en 70 líneas (entiende #define, #undef, #ifdef, #else, #endif).

Curioso esto del estilo funcional.

Le auguro un futuro seguro a C y C++ por temas de IoT pero en Tiobe Index, C ha caído un 7% durante el último año, aunque no sé si este índice solo se basa en el interés de la gente o también en ofertas de trabajado o algo. Te atreverías a dar un motivo? Podrían ser nuevos lenguajes como rust o go sustitutos de C/C++ para microcontroladores en un futuro no muy lejano?

Gracias!
 
Le auguro un futuro seguro a C y C++ por temas de IoT pero en Tiobe Index, C ha caído un 7% durante el último año, aunque no sé si este índice solo se basa en el interés de la gente o también en ofertas de trabajado o algo
.

Aquí dicen la metodología que siguen. Se basa en el número de hits que salen al buscar un lenguage en 25 buscadores (Google, Yahoo, Amazon...). Por el tipo de buscadores que usan, se basan en el "interés de la gente" en general, sea lo que sea eso. Por ejemplo, no buscan en Linkedin porque no son capaces de parsear el resultado (serán vagos).

La query es +"<language> programming", o sea, meten en google y similares +"java programming" +"lisp programming"... y cuentan el número de resultados.


[...] en Tiobe Index, C ha caído un 7% durante el último año [...] ¿Te atreverías a dar un motivo?

Ni idea. Los índices es lo que tienen. Si un lenguaje se pone de moda un mes y sube un 20%, ese 20% ha de salir de algún lado. C pierde un 7% y otros también habrán perdido share hasta completar ese 20%. Se me ocurre que cada vez hay mas gente programando o queriendo programar en alto nivel porque suenan mucho las aplicaciones web, las aplicaciones móviles y todo ese rollo, mientras que la base de bajo nivel permanece constante o crece más despacio.

Pero no hay que olvidar que es "interés" lo que se mide, que es etéreo. No es como la intención de voto, que tu votas a uno o a otro partido. Si en intención de voto baja PP y sube C's y el resto no se mueve y la gente de la encuesta es más o menos la misma, se puede concluir que ha habido votantes del PP que se han pasado a C's. Pero si meten un susto a una señora del PP, el "interés" de la gente sobre el PP va a subir, pero no tiene nada que ver con la intención de voto.

Yo mismo me gano la vida con C/C++ y acabo de subir el "interés de la gente" en "erlang" con mi post anterior. Y puedo acabar ganándome la vida con todos ellos.

Podrían ser nuevos lenguajes como Rust o Go sustitutos de C/C++ para microcontroladores en un futuro no muy lejano?

Depende de qué consideres microcontrolador. La frontera es difusa. Si consideras microcontrolador una Raspberry Pi, entonces puedes programar en lo que te de la gana, ya que tiene suficiente potencia como para montar un web server pequeñito, y en teoría puedes correr una webapp con el framework de turno.

En ese aspecto, yo creo que en un futuro no muy lejano pasará como pasó con los PC, que de repente no había porqué estar racaneando con la eficiencia. De repente eran tan potentes como para correr un mini programa con toda una VM debajo que a su vez corre sobre un SO sin que pasase nada.

Pero si consideras como microcontrolador un ATTiny, con unos pocos KBs de RAM y que además lo vas a tener durmiendo el 99% del tiempo, porque va con pilas y quieres que duren mínimo 5 años... ahí solo vale C. Y vale C en su faceta de "ensamblador para humanos".

Con respecto al IoT... pues mira, a lo mejor un bicho que centralice el control de todos los aparatitos de una casa o de una oficina, se puede hacer con algo tipo SoC como la Raspberry. Y puede mostrar una web, o sincronizarse con un smartphone... eso puede ir en Go, Java o lo que sea.

Pero en un cacharrito tipo "termómetro remoto", battery-powered, en el que el rol del micro está claro y definido - leer el dato del sensor de temperatura y transmitir por red el dato al bicho controlador. Y punto. - Es que no cabe otra cosa que no sea el código a pelo. No hay SO.

También hay que tener en cuenta que el señor que programa el micro del cacharrito termómetro, probablemente ha diseñado el PCB, sabe manejar un osciloscopio, sabe leer el datasheet para configurar el ADC que lee el sensor... Tiene muchos conocimientos de electrónica y bastantes preocupaciones como para andar aprendiendo el nuevo lenguaje de moda cada 6 meses. Y sobre todo, necesita un lenguaje que "le quepa en la cabeza".

A lo mejor sabe usar una base de datos pero no necesita saber de álgebra relacional, o de complejidad ciclomática, o de tal patrón de diseño que encaja muy bien con la metodología SCRUM.

Por tanto, yo pienso que convivirán, según la aplicación. Rust puede acabar en el termómetro remoto, pero Go, lo veo chungo.

---

Edito para poner esta encuesta de stackoverflow que me ha parecido interesante. Lo mismo ya la habéis puesto, pero bueno:
 
Última edición:
Lo que no sé es qué va a pasar con C++, porque aunque es la platano, es un monstruo cada vez más grande. Algo tendrán que hacer con C++ porque la cosa se está yendo de las manos. Una persona necesita años para saber programar bien en C++, y sin embargo en C bastan con unos días.
¿A qué te refieres con el tamaño de C++? Supongo que será por el gran número de librerías que hay que dominar para crear una aplicación. Es un problema en cualquier ecosistema (Java, Python, .NET, etc).

Estaría bien un ejemplo de qué consideras necesario para desarrollar una aplicación en C++.
 
Última edición:
Mi lenguaje de programación favorito es la pasta. Cojo un que se ama mucho a si mismo con granos y ojo ciego de vaso recién salido de la facultad y le digo "hazme un programa que haga esto y esto, que sirva para llevar la agenda de tal y se pueda entrar por el móvil, te pago 4 euros la hora, si no te gusta tengo una fila de gente esperando que da la vuelva al Bernabeu"

Y me lo hace nikelao. Para qué aprender a programar si por dos duros te lo hace otro? no te digo nada si lo pides a la India.
 
15621592_1184382228311515_1689608472565894862_n.jpg
 
Mi lenguaje de programación favorito es la pasta. Cojo un que se ama mucho a si mismo con granos y ojo ciego de vaso recién salido de la facultad y le digo "hazme un programa que haga esto y esto, que sirva para llevar la agenda de tal y se pueda entrar por el móvil, te pago 4 euros la hora, si no te gusta tengo una fila de gente esperando que da la vuelva al Bernabeu"

Y me lo hace nikelao. Para qué aprender a programar si por dos duros te lo hace otro? no te digo nada si lo pides a la India.

¿Dices que una app medio decente te la hace nickelada un recién salido de la facultad?

Prueba, prueba y nos cuentas...
 
Serpiente, que se te acumula la faena.
¿Qué es lo que se lleva en la temporada invierno 2017?

O es que las redes neuronales y la AI ya han desterrado a los obsoletos lenguajes de programación y las máquinas se autoprograman en código máquina.
Es la tecnoNEP.
Burbumoris software developers al paro en 3.2.1.
 
Serpiente, que se te acumula la faena.
¿Qué es lo que se lleva en la temporada invierno 2017?

O es que las redes neuronales y la AI ya han desterrado a los obsoletos lenguajes de programación y las máquinas se autoprograman en código máquina.
Es la tecnoNEP.
Burbumoris software developers al paro en 3.2.1.

Ostras, pues es verdad, pensé que había actualizado con los datos publicados en Enero, estaba esperando a que salieran los de Febrero para actualizar el hilo. Deberían estar al caer. Dejo los de Enero - el Go es de los que mejor ha ido en 2016:

9KjfqTE.png

TIOBE Index for January 2017

January Headline: Google's Go is TIOBE's programming language of 2016

TIOBE rewards the programming language that has gained the most popularity in a year with the programming language of the year award. Without hardly any competition Go has won the award for 2016. Google's Go language won 2.16% in one year. Runner ups Dart (+0.95%) and Perl (+0.91%) ***ow at a considerable distance. The main drivers behind Go's success are its ease of learning and pragmatic nature. It is not about theoretical concepts such as virtual inheritance and monads but about hands-on experience. Apart from that Go has built-in support for concurrency programming. More and more customers of our company TIOBE are adopting Go in an industrial setting. That is a good indicator.

So what happened to the other promising languages last year? Dart jumped from position 26 to 17, Rust kept its top 50 position (from 47 to 41) and Hack and Julia are very close to the top 50 now (from 61 to 51 and from 73 to 52 respectively). There are also 2 languages that made their debut in the TIOBE index this year: Crystal at position 86 and Kotlin at position 87. TypeScript is very popular in the commercial industry. However, in the TIOBE index it is still not in the top 100, but it is getting close. TypeScript jumped from 169 to 137 in one year's time. What will be the candidates for the award for next year? My bets are C++, Swift, Julia and TypeScript.

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.

Jan 2017 Jan 2016 Change Programming Language Ratings Change
1 1 Java 17.278% -4.19%
2 2 C 9.349% -6.69%
3 3 C++ 6.301% -0.61%
4 4 C# 4.039% -0.67%
5 5 Python 3.465% -0.39%
6 7 change Visual Basic .NET 2.960% +0.38%
7 8 change JavaScript 2.850% +0.29%
8 11 change Perl 2.750% +0.91%
9 9 Assembly language 2.701% +0.61%
10 6 change PHP 2.564% -0.14%
11 12 change Delphi/Object Pascal 2.561% +0.78%
12 10 change Ruby 2.546% +0.50%
13 54 change Go 2.325% +2.16%
14 14 Swift 1.932% +0.57%
15 13 change Visual Basic 1.912% +0.23%
16 19 change R 1.787% +0.73%
17 26 change Dart 1.720% +0.95%
18 18 Objective-C 1.617% +0.54%
19 15 change MATLAB 1.578% +0.35%
20 20 PL/SQL 1.539% +0.52%

A lo que sólo voy a añadir (si es que no lo puse ya):
toggl-how-to-save-the-princess-in-8-programming-languages.jpg
 
¿Vosotros podéis programar sin tener los libros delante? Yo no sé programar, pero podría programar algún programa muy sencillo con los libros delante, tengo varios libros de programación. Sin ellos no podría, ni aunque estuviera programando todos los días.
 
¿Vosotros podéis programar sin tener los libros delante? Yo no sé programar, pero podría programar algún programa muy sencillo con los libros delante, tengo varios libros de programación. Sin ellos no podría, ni aunque estuviera programando todos los días.

Ya nadie programa con libros. Bueno, a decir verdad, prácticamente, ya nadie programa. Lo que se lleva ahora es gogglear qué es lo que quieres hacer, y encontrar en github código parecido a lo que quieres hacer, y luego en Stack Overflow cómo ajustarlo para que haga exactamente lo que quiera.

:pienso: Es curioso, porque para esto el Machine Learning sí funcionaría. No, si al final serían unas risas que los únicos trabajos que fueran a desaparecer por la automatización fueran a ser precisamente los de los informáticos! :roto2: :roto2: :roto2:
 
¿Vosotros podéis programar sin tener los libros delante? Yo no sé programar, pero podría programar algún programa muy sencillo con los libros delante, tengo varios libros de programación. Sin ellos no podría, ni aunque estuviera programando todos los días.

Ya nadie programa con libros. Bueno, a decir verdad, prácticamente, ya nadie programa. Lo que se lleva ahora es gogglear qué es lo que quieres hacer, y encontrar en github código parecido a lo que quieres hacer, y luego en Stack Overflow cómo ajustarlo para que haga exactamente lo que quiera.

Estos dos libros son totalmente imprescindibles para todo programador. De hecho, como dice Serpiente, hoy en dia no hace falta ninguno mas.

fawRchq.jpg


fhgzVEt.jpg
 
Volver