Hace 8 años | Por mr_b a spectrum.ieee.org
Publicado hace 8 años por mr_b a spectrum.ieee.org

Esta aplicación muestra la popularidad de docenas de lenguajes de programación pudiendo filtrarlos enumerando sólo los más relevantes para sectores concretos, como “web” o “programación embebida”. La clasificación se creó usando ponderación y combinación de 12 indicadores de 10 fuentes diferentes.

Comentarios

peperojoizquierdo

#8 La clasificación habla de lenguajes, no de máquinas virtuales. Ya lo he dicho otras veces: sí a la JVM; no al lenguaje Java.

D

#49 por qué no a Java? qué otros lenguajes te parecen más mejores, y por qué?

Solo por curiosidad.

T

#8 No sé qué he hecho, se me ha ido el deo ¿? Perdón por el negatifo!!!

D

C, C++ y Python siguen donde deben estar.

Excelente.

Snow7

¿4o. Python? cry

¿Y Pascal, y Basic, y RPG? cry cry

D

#5 Perdona por el negativo, le iba a dar a la flecha para responderte y como son de parecido color más o menos he dado a la del negativo.

Por Pascal no te preocupes, se de universidades que aún te ponen a programar en Pascal a boli y sobre un papel, al parecer lo consideran un buen lenguaje de programación para empezar a programar.

Snow7

#92 cry De por sí mis sentimientos estaban heridos por no incluir esos programas 😭 😭.
-----
😀. En fin, explicado en pascal y rpg, más o menos así:

program NTP(output);
begin
WriteLn('No hay ningún problema...');
end.

----
H* NTP RPG IV

D msg S 32 inz(*blank)
D cmd S 64

C eval msg = '... gracias por la aclaración'

C msg dsply

C eval cmd = 'DLYJOB DLY(30)'
C call 'QCMDEXC'
C parm cmd
C parm 64 len 15 5

C eval *inlr = *on

r

#92 le compenso yo con un positivo.

Arganor

#5 Pascal utiliza el entorno IDE de Delphi y en algunas Universidades lo manejan pero sin objetos, luego ya se avanza a objetos utilizando el mismo IDE pero forma completa. Más o menos estilo C y C++

Basic creo que se utiliza primero mediante el IDE para Visual Basic, lo mismo que lo anterior, aunque de esto no te lo puedo asegurar.

D

#78 Nadie tiene ni puta idea de c++. Aunque estés 20 años con el siempre te sorprendes con algo y con efectos que no sabías que se aplicaban , dado que se diseñó en plan comité.

#79 En Go el GC se puede desactivar.

Findeton

#87 Queda C++ para rato, aunque me gustaría ver un competidor digno. Quizás Rust o Go pero no sé...

M

#96 ¿Y por que en vez de buscar competidores dignos, no se busca mejorar los aspectos de C++ de los que se queja tanto la gente? Porque al final vamos a terminar con mas lenguajes de programacion que lenguas habladas en el mundo y al final en vez de tener un lenguaje de progrmaacion potente y robusto para poder programar cualquier cosa, desde bajo nivel a alto nivel (y en esto ya esta C/C++), vamos a terminar programando en una misma aplicacion con 50 lenguajes distintos para cada funcionalidad del sistema...

D

#56 Con el de MS es incluso peor. Da igual, también probé con Clang. Y te digo el resultado de antemano: Nada. Igual que C++ bajo gcc-g++.

D

#83 De los 90 y de 2004 también. Unas risas si intentas compilar cosas en c++ de solo 6-8 años hacia acá con diferentes ABIs de GCC o usando clang mismamente. Lo dicho, al menos en C no pasan tales cagadas tan fácilmente. O igual es problema de libstdc++ y GNU, quién sabe.

M

#84 Pues si tu escribes un codigo en C++ estandar y en GCC da problemas... pues blanco y en botella, GCC no esta implementando bien el compilador recogiendo el estandar de C++, pero eso no es culpa de C++, es de quien implementa el compilador. De todos modos, el C++ de hoy en dia (tanto a nivel estandar como librerias cross-platform, etc) no tiene que ver con el C++ de los años 90 y 2004... hoy dia tienes C++11 / C++14 (estandar) con cosas tan interesantes como std::function, std::threads, lambdas, etc etc, librerias cross-platform como Qt que ademas de nivel de interfaz gráfica tienes listas, mapas, strings, threads, conexiones de network, conexiones a DB, OpenGL, multimedia (audio, video, etc), etc etc, y tienes Wt WebToolKit en C++ para Web Services...

Hoy en dia C++ es un lenguaje de los mejores que existen, con cosas que pueden gustar mas o menos, ser mas dificiles o menos...

D

#93 Dicen que GCC implementa C++ desde C, no sé si será verdad. Aunque estos de GNU son raros, quieren hacer un UNIX, pero que no sea UNIX, si no mejorado desde la filosfia Scheme (LISP) originaria del MIT (De ahí salió RMS) . Es decir, cada comando UNIX se optimiza para la velocidad y funcionalidad).

Se cargan un poco esa filosofía de UNIX minimalista para meter las cosas de LISP como por ejemplo, más ayuda en los comandos y detectar el "comportamiento" del usuario, en vez de ser "silencioso" como su rival histórico de BSD.

Por eso C++ es algo "alien" a GNU, y C es muy usado por querer reimplentar UNIX.

La verdad, molaría que enforcaran sus esfuerzos en Scheme y su FFI. Donde más se usa y mucha gente no lo sabe, es en Gimp .

M

#97 Pero es que la gente de UNIX es friki al 200%, y considerar C++ "alien"... C++ tiene el paradigma de la OO, y eso hace que los sistemas se diseñen mejor que con C... pero si ellos se divierten, que no echen la culpa a C++ luego si no hacen el GCC compatible con el estandar de C++

N

#93 mira que justamente ayer mi abuela me estuvo diciendo eso mismo.

t

#93 El problema de C++ es que el lenguaje es tan amplio y complejo como las librerías. O más.

D

#54 te refieres a esto? https://developer.gnome.org/gobject/stable/

O a glibc?

Findeton

#82 Hombre, está claro que C es más portable, y que el lenguaje C++ ha evolucionado últimamente. Pero vamos, no todo el mundo necesita poder compilar las cosas para micros extraños

D

#85 " Pero vamos, no todo el mundo necesita poder compilar las cosas para micros extraños" Intel

Leñe, que con Go los tíos de Unix y Plan9 se nota que reflexionaron sobre todas las opciones. ¿Tienes Go en un PC Intel? Compilación cruzada para BSD, Linux, UNIX y como el binario es estático, te funciona siempre.

Sin dependencias, cambios de ABI (apenas), ni gaitas. Ese es el futuro.

En C++ hacer una compilación estática que no dependa de librerías como Go... es más facil pasarte el Nethack en clase turista mientras lo compilas sobre un SO de esos nuevos como HelenOS. Algo casi imposible.

Findeton

#86 No todo el mundo es Intel

D

#94 Pues c++ para compilación cruzada es peor. El único que permite eso de forma inmediata es Plan9 (objtype=$ARCH) pero la gente no va sistemas experimentales que parecen sacados de 2030, como /proc que después acabó en Linux, o UTF-8. Es una pena. No por la interfaz, que para un usuario es cagarruta, digo por la tecnología de dentro.

Anda que no me molaría mil algo como cpu(6) en Linux. ¿Que tu juego no te tira en tu i3? Conexión al i7 de tu colega, y de paso pides la gráfica de otro colega que está en el sofá sin hacer nada. Todo ello sin demasiados problemas de latencia.

Pero hasta el 2050 no veremos eso. Ahora mola más reinventar la rueda de 303030^300 formas con mil capas sobre JS, 3000 frameworks, docker y la enésima capa sobre LXC en vez de crear novedades reales .Y mientras, BTRFS estancado

D

#85 "y que el lenguaje C++ ha evolucionado últimamente"

Deberían simplificarlo, evitar la redundancia en usos de funciones por la "compatibilidad" con C (en la vida real no es tanta) y cortar con ello.

#87 Python no creo, c++ está muy cerca de C en velocidad.

D

#82 Python tampoco es OO puro, en el momento en que se trata de un lenguaje multiparadigma en el que además puedes programar al 100% mediante programación procedimental, llamadas a subrutinas, etc., no se puede decir que sea OO puro. Un lenguaje OO puro es Java.

Y a mí me gusta C seguramente más que a ti, pero para aplicaciones medianamente complejas no queda otra que usar C++. Y cuanto más le pillas el tranquillo más cariño le coges, aunque C siempre sea el «hermano mayor» que estará primero.

cc/ #85

d

R más popular que Javascript, php, ruby? jajaja

D

¿Qué hace HTML en esa lista?

#14 Muy verde. Go tiene un potencial enorme. Binarios sin dependencias y compilación ortogonal: desde una máquina haces tu programa para OSX, BSD, Windows y Linux y es solo copiarlo que te funcionará sin extras.

#23 Estadística, análisis de datos. Con las cantidades de usuarios e interacciones de hoy en día, R es necesario para cosas muy gordas.

d

#24 Sé para que sirve, gracias. Tengo amigos trabajando en facebook, google amazon etc nadie usa R para cosas gordas.

D

#25 Ten en cuenta que la lista es del IEEE, no lo tomes como una referencia absoluta.

D

#23 R ha explosionado con la moda del análisis de datos y el business intelligence por doquier.

D

#23 Quizá en este país no... De hecho, si nos ceñimos a España, la lista sería encabezada por Java, .NET (Visual Basic bien arriba, dando mugre), PHP y JS (por jQuery más que nada lol)

Poco a poco se va oyendo hablar de Python, en algunos países se cobra un pastón trabajando de él, en España ser ríen de ti por perder el tiempo "con esa cosa". Y de otros lenguajes... ni pío. Yo este año he visto 1 única oferta de R en mi comunidad autónoma, y varias decenas de .NET y Java, para que te hagas a la idea.

Siempre vamos 5 años por detrás de los demás, en el 2020 mira de nuevo esta lista, seguramente se adapte a la actualidad española (aunque en el resto del mundo se usen lenguajes muy diferentes lol)

zeehio

Hay que tener claro que al filtrar por "Language types" simplemente eliminas lenguajes de la lista global, y nunca se cambia su orden.

Por ejemplo, eligiendo ver sólo los de tipo "Movil" se ve que Objective-C está en octava posición y C y C++ en la segunda y tercera posición respectivamente. Es un error interpretar que C y C++ están por encima que Objective-C en móviles, simplemente están por encima en popularidad global (según lo que han medido) y se usan en entorno móvil.

a

Por que no le ponen un simbolo web a C y C++? Mis primeros programas cgi-bin para web fueron en C. Que hoy en dia ya nadie lo use es otro tema.

D

#1 No aparece SQL en Web...

a

Ciertamente el ranking deja bastante que desear porque la puntuación no tiene en cuenta la popularidad en cada segmento, sino que como dice #1 "etiquetan" cada lenguaje y con eso eligen si aparece en cada ranking individual, pero lo hace siempre con la misma puntación.

Si un lenguaje es súper popular en mobile y enterprise y anecdótico en web, si visualizas un ranking de solo web aparecerá en la parte alta del ranking.

Findeton

#73 No, todo depende de lo que quieras. Si lo que quieres es rendimiento y baja latencia, sólo puedes usar lenguajes de programación que no tengan recolectores de basura. Hay varias opciones: C, C++, Rust... Y entonces, si quieres orientación a objetos y, en definitiva, un lenguaje moderno, pero a la vez quieres baja latencia (y si, en muchas aplicaciones 5 milisegundos puede ser demasiado tiempo de espera) entonces usas C++ (o Rust).

Un problema de los lenguajes con recolector de basura, como Go, es que cada poco tiempo salta el recolector de basura, pausando lo que estés haciendo y metiendo un retardo de varios milisegundos, por ejemplo.

Ah y comparar las clases de C++ con estructuras con punteros a funciones en C es como... ¿realmente sabes de qué demonios estás hablando?

D

#79 "Ah y comparar las clases de C++ con estructuras con punteros a funciones en C es como... ¿realmente sabes de qué demonios estás hablando? "


Ok, punto para tí, clases y herencia. Pero internamente C++ no es OO puro como Go o Python.

Lo digo porque he editado como ya he dicho antes roguelikes con diferentes versiones de c++ y clang y activar -wall era una puta fiesta según la versión. Así que lo mandé a tomar por culo, me quedé con C y no volví jamás.

nergeia

#82 C++ no es OO puro porque ni hace falta ni se quiere que sea OO puro. Eso para empezar.

A ver si para ser un buen lenguaje de programación hay que ser OO por cojones. Hacer cosas como "1.toString()" tiene su gracia, pero no es imprescindible.

Y en C++ hace tiempo que no hace falta usar punteros puros para programar...

anxosan

He entrado solo para comprobar la buena salud de Cobol (41) a sus tiernos 55 añitos.

¡Y se me olvidaba Fortran, que aún tiene mejor posición!

PythonMan8

yo apuesto por Rust. Es el único candidato dispuesto a hacerle competencia o reemplazar a C puesto que es el único que permite un control total de la memoria a bajo nivel.

Veremos todo su potencial cuando Mozilla lanze un nuevo navegador desarrollado en este lenguaje.

Ovlak

#57 al no evaluarse los tipos en tiempo de compilación es más susceptible a errores de programación pero otorga cierta flexibilidad. Personalmente prefiero los tipos estáticos por esta razón.

cosmonauta

Me cuesta creer lo de python. Hace poco me lo pidieron en una entrevista de trabajo y pasé unas horas leyendo la documentación. No entiendo que le ven a ese lenguaje. Una mezcla de php y bash. De verdad, que no le vi ninguna ventaja salvo ahorrarte las llaves y los $.. y a mi eso no me molesta, la verdad.

cosmonauta

#12 Quizás la única ventaja que le vi. La identación, pero es que después de 15 años programando, es un tema que ya he superado. Incluso echo a faltar las llaves al leer los ejemplos... es como si me faltase algo.

En serio, no estoy trolleando, seguro que tiene alguna cosa buena, pero yo no la vi. También he estado mirando, por ejemplo, node.js y le he visto cosas muy interesantes, que no podría hacer con un php, pero python no creo que aporte nada sobre php.

Nekmo

#15 En mi opinión, todos los lenguajes de programación aportan algo bueno y que los diferencia ante otros.

PHP es la excepción que confirma la regla. Una POO limitada e implementada sobre la marcha, miles de funciones built-in que hacen imposible buscar (¡5701 y subiendo! de las cuales muchas están obsoletas), cosas que se rompen entre versiones, mensajes de error en hebeo, múltiples ¿módulos? ¿bibliotecas? de serie para lo mismo (como para bases de datos), no hay una forma clara de usar módulos (y Composer es lento y funciona mal)...

Hoy en día, todo el mundo en PHP más o menos serio está tirando del modelo MVC usando un sistema de plantillas como Smarty, lo cual anula completamente la filosofía del comienzo de PHP. No es malo, es lo que se hace a día de hoy, pero hace que te preguntes para qué carajos estás usando PHP. Mientras, la mayoría del código está obsoleto, está roto, o simplemente da asco verlo, porque es un lenguaje "para iniciarse y hacer algo rápido".

Sinceramente, no hay ninguna razón para usar PHP. Está condenado a muerte. No puedes ser un lenguaje de programación únicamente orientado a la web (te faltan muchas bibliotecas de otras cosas importantes) y además con una filosofía obsoleta.

D

#15 Python es mil veces mejor que PHP.

nergeia

#15 PHP es caca, pero te sirve para hacer webs que luego tienen agujeros de seguridad muy graciosos.

enrii.bc

#12 Python es DIOS

xenko

#10, #12 tiene sus defectos, pero virtudes importantes. Ofrece librerías y herramientas nativas para absolutamente todo, desde cálculo científico, hasta montar un servidor web, pasando por documentación en código. Es ridículo. Al mismo tiempo es muy sencillo y de alto nivel, y puedes integrar fácilmente código c y de GPU para acelerar los cielos de botella.

Por estos motivos, puedes desarrollar casi cualquier cosa en dos patadas, y se vuelve adictivo. Si aprendes Python normalmente pasas del "que lenguaje más raro" al "como he podido vivir sin esto toda mi vida?".

#21 ¡Amén, hermano!

D

#21 No entiendo si lo estás alabando, o estás diciendo que es un mito basado en leyendas poco creíbles y sin ningún fundamento racional.

D

#10 #12 #31 #33
Aquí verá la luz: https://xkcd.com/353/

PythonMan8

#10 me sangra la vista leyendo tu comentario.

peperojoizquierdo

#45 Prefiero perecer .

¿soporta Python la programación funcional? http://python-history.blogspot.com.es/2009/04/origins-of-pythons-functional-features.html

cosmonauta

#45 Creo que pereceré. Os he leído a todos y me parece que todas vuestras respuestas tienen más que ver con la literatura o la estética que con razones objetivas.

Si aprendo python, creo que será sólo para refactorizar a otra cosa.

t

#61 La principal razón para usar Python es que se pueden probar cosas nuevas en una aplicación en sólo un par de minutos. Como prácticamente estás escribiendo pseudocódigo puedes expresar tus ideas más rápido y más claramente, por lo que (en teoría) puedes implementar soluciones más rápido y mejor.

Puedes hacer que dos aplicaciones externas a Python se comuniquen entre si creando un pequeño script y así automatizar tareas para las que escribir el mismo programa en otro lenguaje y compilarlo no vale la pena (abrir conjuntos de aplicaciones, organizar marcadores por etiquetas, búsqueda de archivos por nombre, contenido, rango de tamaño, rango de fecha, por lenguaje de programación o lo que se te ocurra).

Y también todas las razones "estéticas" influyen muchísimo en la facilidad para mantener el código... en Python puedes ver el código de otra persona y entender desde el principio qué está haciendo y por qué, pero en otros lenguajes la sobrecarga de símbolos, la falta de estructura o comentarios hacen que tareas realmente simples sean un misterio. Esa facilidad para mantener el código se traduce en un ahorro de tiempo y dinero cuando un cliente quiere o necesita algo nuevo en su producto...

... porque hay algo que a veces nos cuenta entender: A los clientes y consumidores en general no les importa lo bien que esté diseñado un algoritmo, ni los milisegundos que tarda en realizar una tarea... lo que quieren es tenerlo "para ayer", que sea rápido y que funcione... y a partir de ahí somos nosotros los que tenemos que buscarnos la vida para que el código no sea un caos, poder modificarlo en un futuro lejano y que pueda también modificarlo un compañero sin llevarle a desear su propia muerte.

Por eso Python está tan arriba en la lista.

Liaven

#61 Yo he estado trabajando programando videojuegos en c++ durante 5 años y conozco Python desde otros 5. En Python tardo la mitad en programar que en c++ y con menos código y más sencillo de mantener. Lástima el rendimiento, pero hay cosas muy interesantes como Cython

d

#10 Yo creo que lo de Python es más por su polivalencia que el lenguaje en sí, se usa para todo, lo usan matemáticos, físicos (científicos en general), lógicamente también programadores web, de sistemas, es "multi plataforma", etc.
Además su curva de aprendizaje lo hace muy atractivo, puedes llegar a dónde quieras, es muy fácil de aprender y si te interesa profundizar tendrás que aplicarte más, pero tengo entendido que facilita mucho las cosas en cuánto a cantidad de líneas se refiere (cosa que no se si es buena o mala... los más puristas dirán que mala).
Hablo por lo poco que me he interesado en Python, no soy ningún experto en ese lenguaje.

D

#33 Y es imposible hacer un C&P de código vía web

Pepitorl

#40
ipython
%cpaste
pega el código
--
de nada

Ovlak

#33 python es fuertemente tipado. Que no tengas que declarar el tipo de las variables (y las puedas rehusar para distintos tipos) no implica que no sea fuertemente tipado.

peperojoizquierdo

#44 Correcto. Lo que no tiene son tipos estáticos. Para mi una clara desventaja.

musg0

#57 en la 3.5 le han puesto tipado estático https://www.python.org/dev/peps/pep-0484/

D

#57 Eso me recordó un error muy molestó con el que me estuve peleando bastante tiempo. Una función tomaba datos estadísticos y me devolvía una matriz de float, otra función tomaba esa matriz de float, pero fallaba porque no le estaba pasando una matriz de float. Después de arrancarme un poco los pelos descubrí que una función me devolvía automáticamente float64 y la otra función requería float32, o al revés, pero ya me entendéis.

D

#44 cierto, error mio de perogruyo. Tipado DINAMICO es lo que se supone que debería haber dicho.

D

#33 hablas como si el tipado "débil" fuera una ventaja.

D

#33 Y tiene una documentación espantosa.

Zeioth

#10 Un lenguaje es una herramienta. Depende de para que lo quieras. Por lo general la syntaxis de python es la mas limpia y legible que vayas a encontrar. Especialmente si le aplicas las reglas pep8.

D

#10 Python es un lenguaje con mucho potencial. Implementa varios modelos de programación (entre ellos OOP y programación funcional) y tiene una sintaxis sencilla que lo hace muy usable. Además no es tan pesado como Java, y se puede interfacear muy fácilmente con C, con lo que si necesitas hacer una aplicación eficiente puedes hacer el core en C y las capas más abstractas en Python.

D

#10 Quizás lo que más prima es la "facilidad de uso", y que al igual que ocurre con java, hay muchas librerías ya desarrolladas que hacen de todo por ti, solo tienes que llamarlas. En lo de facilidad de uso, lo pongo entre comillas, porque viniendo de otros lenguajes no me resultó tan fácil. Si tienes que llamar a librerías complicadas, la información que te ofrece el entorno es mínima, y muchas veces estarás ejecutando el código muchas veces hasta donde llevas programado para ver que coño te están devolviendo esas funcionas.

Esto lo digo porque en java es relativamente fácil utilizar una clase que no conozcas, o una función que te devuelve un objeto que no conozcas, miras sus métodos, o métodos que lo reciban como argumento y ya está.

r

#10 Tipado bastante fuerte. Tipado dinámico. Permite prototipado muy rápido. Excelente librería estándar para casi todo, y muchas externas que cubren casi todas las necesidades. Y un largo etcétera.

D

#10 Python es un lenguaje que no suele gustar a los informáticos, pero suele gustar bastante a los ingenieros.

nergeia

#10 Se nota que no sabes python... PHP y bash? En fin...

Si te gusta programas, échale un ojo, que lo vas a disfrutar.

Findeton

#68 Linux está escrito en C, y el tema de las excepciones en C++ es... complicado. Pero yo uso a diario C++11/14, es una delicia. Está claro que si lo que quieres es portabilidad del código, C es lo mejor. Más que nada porque un compilador C es muchísimo más simple de implementar que cualquier otra cosa, y por tanto hay compiladores de C hasta para el más oscuro micro.

Findeton

#66 Con C++ puedes hacer código orientado a objetos (eso es un paradigma). Digo PUEDES, porque con C++ puedes usar diferentes paradigmas.

Y lo de que abstracción poca, será porque tú no la usas. Puedes usar interfaces (clases virtuales puras), herencia múltiple, etc.

En cambio en C no tienes orientación a objetos y lo más parecido que puedes hacer es crear estructuras con variables internas que sean punteros a funciones, de forma chusca.

D

#71 "En cambio en C no tienes orientación a objetos y lo más parecido que puedes hacer es crear estructuras con variables internas que sean punteros a funciones, de forma chusca. "

Creía que eso es lo que hacía c++ malamente, pero bueno.

Si tengo que elegir un lenguaje verdaderamente diseñado como sucesor de C para ser orientado a objetos y portable, ese es Go, de la gente de Unix. Algo preparado para ello *desde el principio* .

emilio.herrero

Pues yo programo en eBDML ahi es na. Me siento un incomprendido ni los mas expertos programadores web saben de que va esta historia. Y por supuesto no sale en ningun ranking. Lenguaje de programacion 100% made in spain

reivax_dj

#28 Yo trabajo con InterSystems Caché y tampoco nadie sabe qué carajo es este lenguaje.

https://en.wikipedia.org/wiki/InterSystems_Cach%C3%A9

R

#28 AppBridge? lol

osiris

#28 yo estuve años programando en C/AL... Aún me despierto sudando en mitad de la noche....

D

Después de 20 años dedicado a la programación, tengo la sensación de que todos los lenguajes apestan. (Quizás C#? Pero no trago las 2000 millones de librerías necesarias para usarlo). ¿Que me pasa doctor?

musg0

#53 hay una frase creo que del creador de c++ que dice algo asi como que hay dos tipos de lenguajes. Los que son una mierda y los que no se usan.
Cuando programas mucho en un lenguaje le acabas viendo todas las verrugas y acabas odiándolo sin darte cuenta de que las partes buenas no se notan. Es como convivir muchos años con una pareja

osiris

#53 haz tu propio lenguaje. Con casinos. Y furcias!

D

#53 Tienes el síndrome de "hasta la polla de programar"

D

#72 ". Yo estaba hablando de lenguajes, no de entornos"

Eso lo haces desde el prompt de SBCL directamente, y Guile (scheme) tambien. No es inerente al entorno, es del intérprete. Sé que es raro pero esos locos de LISP en los 50 hicieron las cosas a lo bestia (todo es dinámico, todo son datos y código a la vez) frente a los pobruchos de Berkeley donde todo eran máquinas poco potentes, UNIX y cuano menos código y más pequeño siendo ortogonal (lo que hoy llamaríamos KISS), mejor.

Geiser y SLIME son interfaces gráficas para Emacs para no ir usando tanto el teclado al entrar en las diferentes fases de "depurado" (no se llaman así) de los LISP y variantes.

e

Perfecto están los dos que más gustan, Python y C# lol

Zeioth

#16 Con eso y javascript para que quieres mas?

Findeton

#16 Satanás, di NO a windows.

M

#c-87" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2483091/order/87">#87 Lo que si es un grano en el culo es Python:
class Persona(object):
... def __init__(self, nombre, edad):
... self.nombre = nombre # Un atributo cualquiera
... self.edad = edad # Otro atributo cualquiera
... def mostrar_edad(self): # Es necesario que, al menos, tenga un parámetro, generalmente: "self"
... print self.edad # mostrando un atributo
... def modificar_edad(self, edad): # Modificando Edad
... if edad < 0 or edad > 150: # Se comprueba que la edad no sea menor de 0 (algo imposible), ni mayor de 150 (algo realmente difícil)
... return False
... else: # Si está en el rango 0-150, entonces se modifica la variable
... self.edad = edad # Se modifica la edad
...
( Ejemplo de Wikipedia)

Dios... horroroso... solo superado en horrorosidad por XCode de iOS...

D

#99 Eso está mal planteado. Debería ser mayor que cero y menos que 150. Encontrar a alguien vivo con más de 120 años es poco probable.

M

#100 Diselo al que haya escrito esa entrada en la Wikipedia: https://es.wikipedia.org/wiki/Python
ahi tienes el ejemplo lol

D

#100 La edad debería ser mayor que cero y menor que 150, sí. ¿Y no es eso lo que está diciendo?

D

#99 ¿? Ese ejemplo tiene cosas redundantes, pero está hecho así para que veas como funciona el acceso a métodos y el ambito de las variables, pero nadie programa así. De hecho si pasas eso C++ te queda un mojón peor.

nergeia

#99 O eres un troll, o no sabes python.

Python es la elegancia absoluta de la programación. Si te molestan los self y las tabulaciones obligatorias, es que has programado poco, y con pocos grupos de trabajo.

Además, no hace falta que todo en Python sean clases. Y ese ejemplo es feo. Por ejemplo, para comprobar la edad se podría hacer así:

if edad not in range(0, 150): return False
self.edad = edad
return True

Y el metodo mostrar no sirve de nada... puedes leer directamente ObjetoPersona.edad

perrico

La voto cansina no por el contenido,sino porque odio dar para atrás al botón del navegador y que se me recargue una y otra vez sin dejarme salir sin cerrar la pestaña.

hamahiru

gallirgallir está en el 36 roll

D

No me creo esta lista, nadie en su sano juicio usaría Javascript salvo que le apunten con una escopeta en la sien.

D

#20 node.js está muy bien

D

#20 Yo no me creo que esté en un puesto tan bajo, sinceramente. Y JavaScript tiene alguna idea interesante. Es hasta agradable de usar con ES6, la nueva versión.

#41 El ecosistema está muy verde, la verdad. Cientos de paquetes con escasa documentación que enseguida son reemplazados por nuevos paquetes que acaban siendo abandonados también. Creo que solo me gusta Meteor, y en cuanto te sales de los paquetes más populares, más te valdría escribirlo tú mismo.

D

#20 Eso es lo que dice toda la gente que no sabe JS o que piensa que es jQuery.
#43 Meteor ni si quiera es bueno, strongloop va bastante mejor. Lo suyo, además, es desacoplar cliente y servicor. El servidor en Node con el FW que quieras (todos verdes, eso sí) o te montas tú uno y un cliente en React con Flux.

D

#c-20" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2483091/order/20">#20 En Unity JavaScript se utiliza bastante, siempre que voy al portal answer de Unity en la sección de scripts los códigos en las respuestas suele ser en JavaScript, y que conste que lo evito todo el rato. Y no es el único lenguaje del motor, yo utilizo principalmente C#.

a

#20 El hecho que a ti no guste algún lenguaje de programación, no necesariamente hay que intentar matar a alguien para que lo use. Algunos lenguajes están tan presentes en una área en específica que incluso a ti te hacen la vida fácil. Ya me imagino el estrés mortal que tuvo que pasar gallir por esto:
js
- function menealo_comment(user, id, value)...
- function comment_edit(id, DOMid)...
- function comment_reply(id, prefix) … ( esta última seguro que me la dedicaras)

pawer13

#20 Ahora mismo es mi lenguaje preferido, lo uso tanto en el lado cliente (navegadores) como en el servidor (Node.js). Sus herramientas para testeo (Karma + jasmine / mocha) son bastante potentes.

Y si no te gusta es sencillamente porque no lo entiendes, Javascript es el lenguaje más incomprendido del mundo. Estuve despreciándolo durante los últimos 8 años, programando exclusivamente en Java, pero me encanta su flexibilidad y la facilidad que da para la reflexión (el API de reflexión de Java es bastante feo, en comparación).

yuip

I 💖 Fortran.

D

Como se nota la llegada de los smartphones jeje.

Naeriel

Vale, tengo que aprender C++ bien para sistemas embebidos y Asembler para ARM. ¿Alguna sugerencia?

D

#6 Empieza, que tienes para rato.

D

#6 Cuando acabes con C++ pásate a C y no vuelvas a C++ jamás.

D

#30 #19 ¿Que demonios teneis contra C++? Entendería quejas contra la librería, o quizás contra BOOST, pero el lenguaje en si es sencillamente insuperable.

perro_marron

#48 insuperable... Si has leido los ultimos standardards de c++11 y especialmente el draft de lo que viene despues, veras que el lenguaje esta muy alejado de la realidad. Bonito, lo es. Practico, me temo que no mucho. Mantenible... Bueno hablemos de otra cosa mejor. En fin, yo hablo c++ en la intimidad, como diria ansar, pero para codigo critico sigo prefiriendo c. Y para pajas mentales, Ada, que es mucho mas coherente. Eso si, jamas Ada en firmware de verdad, solo en experimentos

A

#68 Podrías explicar por qué dices que está alejado de la realidad? C++11 y 14 son muy cómodos de programar, están moviendo el lenguaje en la dirección correcta a mi entender.

D

#48 C++ tiene muchos detractores, y no faltan motivos. Aparte de los problemas de compatibilidad, está la usabilidad. La sintaxis de C++ es un grano en el culo, incluso para los programadores de C. Con la llegada de Python, C++ va a ir desapareciendo casi con toda seguridad.

D

#48 si no odias a C++ es porque no lo has usado lo suficiente

Findeton

#19 Si es para sistemas empotrados, o quizás para crear un sistema operativo, o algo de realmente muy bajo nivel, usa C. Para todo lo demás que necesite de alto rendimiento, lo suyo es C++ porque la posibilidad de hacer orientación a objetos y de usar abstracciones para evitar usar punteros directamente es realmente útil.

Bueno, y si quieres realmente alto rendimiento, usa "lock-free programming", pero para eso realmente te vas a comer mucho el coco.

D

#64 " lo suyo es C++ porque la posibilidad de hacer orientación a objetos y"

Va a ser que abstracción y OO a la hora del a verdad poca.

Naeriel

#19 #30 C sé y mucho, trabajo todos los días con él También sé Python y Matlab lol

Es por tener un poco más de versatilidad.

H

#19 "Haters gonna hate".

Cuando acabes con TODO el C++ verás que C tiene sus problemas.
Por ejemplo, quien en su sano juicio usaría las MACROS (preprocessor) para nada más que comentar codigo? WTF Debugar código con MACROS que llaman a otras MACROS que llaman a otras MACROS es un infierno.
En cambio en C++ tienes los templates los cuales te permiten implementar la misma funcionalidad (Parametrización de funciones en tiempo de compilación y constantes en tiempo de compilación) con ayuda del compilador (si la cagas, el compilador te dice la linea exacta).
Otra cosa que es imposible hacer en C es funciones que se evalúan en tiempo de compilación (C++ constexpr).
Además de que la filosofía de C++ es ''type safe'', en cambio en C el programador puede hacer guarradas mil.

La única razón para usar C sobre C++ es no saber programar en C++.

D

#30 Haskell mola para aprender otros tipos de programación, pero para eso mejor Scheme. HS es una locura.

peperojoizquierdo

#32 Para aprender programación funcional, usa un lenguaje funcional puro (Haskell) no un sucedáneo (Scheme). Te va a costar, pero es el único modo.

D

#51 Scheme es un LISP, de sucedáneo poco.

peperojoizquierdo

#52 digo sucedáneo funcional, por permitir trabajar con efectos laterales.
Yo creo en la "Fundamentalist Functional Programming":

D

#60 No has probado el REPL de un Scheme, ¿verdad? El de Common Lisp es la hostia, aunque prefiero Scheme.

Con Emacs , SBCL y SLIME eres dios.

editado:
Geiser es para Scheme/Guile, SLIME es para CL, y con SLIME si hay un error no paras el programa, lo editas directamente y sigue rulando, como si nada. Eso me dejó el culo torcido.

peperojoizquierdo

#65 Es verdad, no lo he probado. Yo estaba hablando de lenguajes, no de entornos. Es verdad que en entornos Haskell está muy por detrás.

llorencs

#60 Para que se usa la programación funcional?

r

#30 ¿Qué tal en 1º de carrera? ¿Bien? Madre mía lo que hay que leer...

A

#6
Mi apuesta, muy personal, es:
. C y ensamblador AVR para incrustados (para aclararnos, microcontroladores). Libro recomendado para principiantes: Make: AVR Programming: Learning to Write Software for Hardware
. Rust como substituto a C++ para sistemas de rendimiento crítico que no sean microcontroladores ( básicamente su creador dice que la forma de programar correctamente en C++ es esencialmente lo que trae Rust de serie

). La web de rust trae muy buena documentación y si quieres realmente aprender C++, mira el video que te puesto, es muy bueno.
. CUDA+OpenCL para sistemas de cálculo numérico. Toneladas de libros, extensa documentación.
. Scala o Go para web, sistemas distribuidos y demás. Lo mismo que con CUDA, toneladas de buenos recursos de aprendizaje.

Ah, por cierto:
1. "Embebido" es una mala traducción de embedded al castellano. Mi recomendación es usar directamente "embedded" o incrustado (sistemas incrustados).
2. Para la mayoría de plataformas incrustadas no podrás usar C++. De hecho, en las pocas que lo usan, no lo recomiendan. C++ suele usar el heap ("new") y para la mayoría de plataformas solo puedes usar la pila (o stack) y el RAII da demasiada carga a los procesadores incrustados con las copias forzadas. Lo mejor para sistemas incrustados es C. Eso no quiere decir que C++ no tenga sus usos, pero no para microcontroladores.
3. ARM ya no es un sistema exclusivo para sistemas incrustados, sus procesadores se pueden usar para aplicaciones similares a los Intel o AMD. Creo que AVR seguirá siendo la plataforma dominante en incrustados. Ah, también ten en cuenta que si te da para estudiar ensamblador ARM, te puede dar un ataque cuando veas las diferencias en las instrucciones entre plataformas (AArch64).
4. Suerte!

M

#6 Ensamblador ya es raro que te sea necesario actualmente, y ten en cuenta que depende de cada arquitectura. Si lo haces con fines educativos pues vale, pero por temas profesionales no creo que merezca la pena.

Zeioth

Javascript por debajo de php y R? wow.

D

#34 Javascript está muy de moda entre los programadores "new age" y guays. Pero creo que engendros como Node.js, con sus ventajas para algunas aplicaciones, serán substituidas por soluciones como Vert.x para Java.

peperojoizquierdo

Go Scala Go!, Go Haskell Go! lol

D

#58 Te defendería en Haskell pero no lo hago porque antes no defendiste Python. Te dije que perecerías.

peperojoizquierdo

#76 putStr . unwords . map reverse $ ["oL","otneis","orep","on","odeup","noc","nohtyP"]

D

#89 Eso en Perl seguro que lo haces con menos caracteres lol

E

#89 puts ["noC","ybuR","se","sam","licaf"].map(&:reverse).join(" ")
#90 Para eso tienes Ruby que robo todo lo bueno de LISP

D

#89
f =
for key in f.values():
print key

Trublux

#47 Por curiosidad ¿qué tienes pensado hacer?.
Ya me ha tocado hacer varias arañas, asi que si necesitas ayuda en algo mándame un mp.

D

#62 No estoy muy seguro de lo que quiero hacer, de momento tengo que ir concretando lo que quiero y mirando posibilidades, y para ambas cosas me queda mucho que estudiar. Pretendo hacer algo relacionado con análisis lingüísticos de comentarios en internet, buscando ciertas palabras en usuarios e interacciones sociales.

D

Mis favoritos son Java (lo siento, pero aprendí a programar con este lenguaje y me gusta su sintaxis) y C# están arriba del todo.

Otro que también me gusta bastante y lo veo un poco bajo es Ruby.

enrii.bc

de PM lo de R.

D

Yo no tengo ni idea de programación y llevo tiempo queriendo aprender. Últimamente he estado mirando por dónde empezar y esto es un puto caos. De momento quiero algo que tenga una buena comunidad detrás, con tutoriales a cascoporro y a ser posible en castellano, y que valga un poco para todo, pero tampoco aspiro a hacer nada complejo . Mi primer objetivo es programar una araña web, que dicen que es facilito y tengo un plan.
He pensado en python. Acepto sugerencias.

Trublux

#29 Scrapy

D

Empezaré haciendo los deberes de #38 (me viene muy bien esa web, pero hay que quitarle el www. para entrar) y luego ya seguiré con lo de #37.
Muchas gracias a los dos.

D

#29 No mires más. Python. https://www.pythonya.appspot.com/

D

#29 Yo te recomendaría www.coursera.org que hay muchos cursos introductorios a la programación. Hay uno muy bueno de Python (aprovechando que #38 habla sobre él) que está pensado justamente para gente que está empezando, que te enseñan algo de orientación a objetos, a usar variables, bucles... Cada semana ponían como trabajo normalmente un pequeño juego del que te dan parte del código, y es bastante entretenido y didáctico. Comunidad bastante grande.

Es en inglés, pero los videos suelen tener subtítulos, creo que en el de Python también en español.

PD: A partir de ahí puedes ir haciendo algún otro curso, hay para Android, hay de diseño de algoritmos, etc.

Findeton

#29 Aprende primero C, y luego ya todo lo que te de la gana. C es un lenguaje bastante simple (en comparación con C++) y así aprenderás punteros... cosa que con otro lenguaje (aparte de C++) va a ser difícil.

D

#69 Bastante miedo/pereza me da empezar con uno como para ir escalando. A muerte con python y según vaya el tema ya iré pensando sobre la marcha si me meto en C.

osiris

#69 y para qué necesita aprender punteros?
Yo creo que lo primero es aprender a utilizar variables y algoritmos. Y a estructurar el código.

Mi opinión, vamos.

f

#29 selenium webdriver y beautifulsoup

1 2 3 4