EDICIóN GENERAL
283 meneos
1561 clics
Python supera a Java por primera vez en la lista de lenguajes de programación más populares en GitHub durante 2019

Python supera a Java por primera vez en la lista de lenguajes de programación más populares en GitHub durante 2019

GitHub ha publicado su informe anual detallando lo que ellos llaman el "Estado del Octoverso", una serie de cifras y datos interesantes sobre los desarrolladores, repositorios, proyectos y lenguajes de programación que alberga la plataforma.

| etiquetas: python , java , programación , github
sois muy repelentes. no se trata de preferencias de lenguaje, sino escoger lo que más te conviene según tus necesidades. hoy día, lo que más se trabaja es análisis de datos y machine learning, perfectos para python. ya que en pocas líneas tienes el trabajo hecho y aprenderlo es fácil.
#7 Influyen mucho los gustos. Todo se puede hacer con cualquier lenguaje, aunque la eficiencia puede variar.

Python tiene la ventaja de que esta pensado para que se haga todo de forma mas eficiente y a la vez menos mantenible. Tambien se puede programar asi en Java, aunque no se recomienda.

Al final es saber lo que quieres hacer. Yo, como javero, siempre digo que me gustan las ventajas de python, pero el dia en que tengais un bug raro yo me quedo investigando la parte Java y que otros vivan el infierno de hacerlo en python.
#11 No influyen los gustos. Y menos en lo que dice #7.

Python es esencial en temas de análisis de datos, por las librerías que hay y por ser práctico y compacto a nivel programático. Las alternativas serían R o Matlab. Nadie en su sano juicio usaría Java para esto hoy en día.

Por otro lado, Python es un lenguaje interpretado de integración, pensado para usar librerías de alto nivel. Por detrás las librerías usan C++. No es para nada comparable a Java.
#11 Hombre, por poderse se puede hacer hasta en lenguaje natural, con papel y lapiz, sin computador.

Un lenguaje no es sólo una sintaxis, es también un ecosistema de librerías que ofrecen una API y unos servicios que no son iguales en todos los lenguajes ni igual de cómodos de usar, ni se ejecutan con el mismo rendimiento o tienen los mismos "bindings". Algunas APIs están mucho más optimizadas en python que en java, lo mismo que otras APIs están mucho mejor en java que en python.
#51 En casos críticos se nota, pero un gran porcentaje del código no son casos críticos y se puede elegir. Igual que para el análisis de datos es mejor python y para distribuir en un entorno cloud puede ser mejor algo que vaya sobre una JVM, no necesariamente Java, en casi todo el código intermedio se puede elegir que usar. Y ahí yo prefiero un lenguaje fuertemente tipado en el que told esté declarado, algo redundante pero sin sorpresas. Otro podrá preferir tener menos líneas de código.
#70 No es lo mismo tipado fuerte/debil que tipado estático/dinámico.

Python es de tipado fuerte (cada variable es de un tipo determinado que no cambia, es fijo), pero es dinámico (el tipo de cada variable se determina en ejecución, al ocurrir la asignación de un valor, aunque una vez asignado sea fijo).

Sin embargo, desde python 3.6 puedes optar por usar tipado estático por medio de anotaciones, de forma que puedes declarar una variable indicando su tipo y usar type checkers que lo marcarán como error (como mypy o algunos entornos de desarrollo de python).
#76 También en Java puedes usar 'var' desde Java 10, pero es usar sintaxis propia de un lenguaje en otro. Tal vez funcione, pero tu equipo de Java se va a cabrear si lo haces sin una buena razón. Para mi la fortaleza de Java está en ver algo y en dos clicks ver exactamente que es, que valores puede tomar y quién lo cambia. Para alguien de Python la fortaleza es que lo puede coger cuando lo necesite y desde donde lo necesite y meter lo que quiera. Es igualmente válido, pero no es la forma en la que trabajamos en Java.
#7 Venía a decir lo mismo. Crece tanto porque en temas de tratamiento de datos Python ahora es el rey y quizá sea ese el sector que más está creciendo.
#7 ¿En cuántos campos de fútbol lo puedo aprender? :troll:
Los lenguajes sin tipado fuerte son para parguelas.
#1 #2 #3 Decid que sí, los hombres de verdad programan en ensamblador.
#6 querías decir código máquina?
#19 querrás decir en binario.
#20 querrás decir con impulsos eléctricos
#22 querrás decir con mariposas batiendo alas
#26: O usando el comando adecuado de Emacs para programar con mariposas: C-x M-c M-butterfly... :-P
#32 C-x M-c M-butterfly, por supuesto
#32 ufff, para ese comando ni usando manos y pies hay suficientes dedos
#40 por eso Bilo y Nano usaban vim, solo tenían cuatro dedos
#47 aunque podrían haberle pedido ayuda a robotin para que les prestase un par de dedos
#22 #6 #19 #20 no hay nada como pillar un rollo de papel y hacerle agujeritos
#22 querrás decir moviendo átomos
#20 Eso lo serás tú!
#19 eso de lenguajes de programación es para novatos. Cuando empecé a programar sólo teníamos unos y ceros. Y a veces ni siquiera teníamos los unos. Tuvimos que escribir un programa de gestión de bases de datos usando solo ceros.
#57 Pero tú intenta decirle eso a los jóvenes de hoy. Y no te creerán...
#6 no, es mejor programar de forma ineficiente para que los cerebros limitados no se sientan discriminados
#1 Python tiene tipado fuerte, lo que no tiene es tipado estático :-P
#9 No creo. He usado la misma variable para guardar un número y una cadena:
repl.it/repls/InfamousMetallicFolder

Profesionalmente nunca he programado en Python, pero recuerdo haberlo descartado por el mismo motivo que descarté PHP: son lenguajes debiluchos. No sé, a lo mejor se me escapa algo.
#28 Yo diría que bastante.
#28

Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado el valor de una variable de un tipo concreto, no se puede usar como si fuera de otro tipo distinto a menos que se haga una conversión.

Sin embargo esto está permitido:

a = True
a = 1
a = 3.0
a = "hola"

Lo que no está permitido es:

a = 1
b = '2'
c = a + b
#50 lo cual es una combinacion ridicula: ni te ofrece las ventajas del tipado estatico en compilacion, ni te ofrece las ventajas del tipado dinamico en runtime asumiendo conversiones implicitas de tipos (vamos, que lo normal es explotar ante cualquier fallo).

En Perl tu ejemblo de 1 + '2' daria 3, porque habria un casting implicito al ser una suma y esperarse un numero. Lo cual es muy util y practico.
#28 polimorfismo
#28 Yo pensaba como tú hasta que descubrí el duck typing con Ruby
#9 y agrego, hay lenguajes derivados (ej. Cython) que te permiten utilizar Python tipado para poder transpilar a C/C++ y generar librerias/modulos nativos.
#1 no, son para "proyectos" de 100 o 200 líneas, de ahí en adelante te quieres pegar un tiro
#1 Python es de tipado fuerte pero dinámico. No puedes hacer i= 'a' +2
Python, el lenguaje para los que no le gusta programar.
#3 Hacer un Hola Mundo en Python es una chorrada. Python es mucho más que eso. No conozco mucha gente que domine Python de verdad porque es cierto que es un lenguaje que se presta mucho a ser usado como un Basic.
#8 En todo mi experiencia como administrador de sistemas he visto pocos truños con python.
Pero de .net y sobre todo las variantes Basic de MS casi todo truños completos.

Como ejemplo, adjunto el ultimo que he visto esta vez como usuario en los terminales del AVE.

Gestión de errores... ¿Que es eso? :troll:  media
#3 O para los que programan por su cuenta cosas que no necesitan ser estables / eficientes y no necesitan programar en equipo.
#23 Se puede programar en equipo con Python.
#27 y es la manera más eficiente de romper un equipo :troll:
#30 Tendrás que explicar porque.
#23 Presente... Lo uso mucho para crearme scripts que me facilitan la vida.
#3 Cierto, no me gusta programar y cuando programo algo intento que sea en Phyton, es mi lenguaje favorito desde luego.
#3 A mi me gusta programar, y me gusta Python.
#12 Cada vez que leo a alguien decir que java no se come nada en la web, me entra la risa. En qué lenguaje crees que está la inmensa mayoría de servidores de aplicaciones?
#16 curiosamente no se come nada en web, ni en escritorio, ni en móvil... pero ahí sigue como uno de los más usados.
#64 Creo que no sabes lo que es un servidor de aplicaciones.
#65 he escrito bastante software en el servidor con PHP haciendo bastantes operaciones, que se conecta a la capa de persistencia y atiende requisitos de clientes (navegadores) y es posible hacer servicios WEB desarrolloweb.com/manuales/61

Eso es un servidor de aplicaciones. ¿Qué entiendes tú por servidor de aplicaciones?
#68 La pregunta seria en que servidor despliegas tu código. Por ejemplo, Apache es un servidor web, pero no es servidor de aplicaciones.

en.wikipedia.org/wiki/List_of_application_servers
#16 ¿Y los malabares que tenemos que hacer para que el usuario pueda acceder a la aplicación desde su puesto porque los navegadores ya no soportan java?

Programad de una puta vez en un lenguaje moderno y no nos toquéis los cojones más a los administradores de sistemas, haced el favor.

:-* ;)
#75 Tu tampoco sabes lo que es un servidor de aplicaciones, veo. No tiene NADA que ver con Java en el navegador, ni como aplicación de escritorio.
#81 No los se no. No llevaré unos 40 WebLogic instalados en lo que va de año...
#85 Pues entonces no se a qué viene lo de los navegadores y Java.
#89 Porque todos los que instalamos van con forms and reports...

Era una cola leche o no has visto los iconos, haced lo que os de la gana, faltaría más, después de todo solo estamos para servirlos...:-|
#92 Pero es que Forms y Repots no es Java realmente. Ahora funcionan sobre un servidor de aplicaciones WebLogic, antes iban sobre OAS y antes eran .exe ejecutables en cliente... Más bien eso es un engendro, no un ejemplo de aplicación web.
#100 Pues ahora sólo hay dos formas de hacerlo funcionar, o llamas a java y le pasas como parámetro la ubicación de un form y luego la URL del WebLogic junto con frmservlet o abres esa URL con internet Explorer.

Bueno tres, si mantienes una versión antigua portable de Firefox también.

Lo que no puede ser es que ya sea complicado para mí el mantenimiento de esos engendros no te cuento para el "informático de confianza" de muchos de los clientes.

Pero es que hay muchas aplicaciones basadas en forms&reports pululando por ahí. Y se venden como aplicaciones web, claro, se sirven por http...
#92 Hostias. Estamos en 2019, caballero
#81 ¿Un servidor de aplicaciones? pues el Play Store de Android, joder. :troll:
El mundo se está yendo a la mierda....
#2 gracias a Oracle.
#13. Cuanta razón llevas. Oracle debe tener sus sede al ladito de Mordor observándonos a todos con su propio ojo de fuego.
(CC #2)
Python esta muy bien para experimentos, cientificos y matematicos que hacen sus scripts y sus movidas, por eso es popular en el mundo IA.
Ya esta.
#4 Hay multitud de web basadas en Python. Un proyecto lateral mío es una web hecha en python con django más postgresql y el desarrollo y despliegue fue una maravilla.
#14 Pues eso, juguetes
#71 Que tengan codigo en python no significa que esten hechas en Python.

GOOGLE ademas, cosa que es mentira xD Google tiene Java, Python, Node, de todo.

Y mira las financieras, bancos, plataformas de trading, exchanges y tal, que es donde la tecnologia importa realmente.
#67 Vaya formas tienes de ningunear el trabajo de los demás
#4 está muy bien para llamar a programas en C++ que hacen cosas bien y rápido.
Por el tema del Big Data y el ML. Ahí Python arrasa bastante. Y es lo que está de moda ahora.
La cantidad de mensajes desinformados en este hilo es para volarse la puta cabeza. En serio.
El creador del lenguaje Python era el típico que si veía un milímetro movido algo en su casa, lo recolocaba. Así le salió lo del indentado obsesivo con dicho lenguaje...

Salu2
#56 yo creo que es que se quedó sin símbolos para poder hacerlo y tuvo que recurrir a los espacios con tal de no poner un BEGIN ... END
#56 Luego esa obsesión pasó a yaml.
#21 React y bootstrap son cosas totalmente diferentes :-D Una no quita a la otra :-D
#34 Pues alguno la semana pasada. ¿Buscamos ofertas de trabajo en España con las palabras Java, Spring o Hibernate? Lo digo por si te sirve como baremo para dejar de decir que Java no se usa hoy en día.

Java sí se usa hoy en día. Y muchísimo.
#41 Por desgracia.
Yo solo os digo que he usado RM/Cobol 85, Cobol74, Cobol/400, RPGII, Ensamblador, Basic, GWBasic, Visual Basic, Visual C, C++, Java, PHP, HTML, Prolog, Turbo Pascal, etc. y me quedo con Python.
#34 Spring boot 2 salió hace un año más o menos y ya hay cantidad de proyectos profesionales que lo usan.

Si, se usa hoy en día para proyectos nuevos, incluso esta recuperando el mercado que perdió frente a Scala y kotlin.
Cuidado con las estadísticas de github. Tengo un proyecto en Go que tiene un pequeño frontend en JavaScript. Como me gusta meter todo el vendoring en el repo, GitHub clasifica el proyecto como javascript, ya que hay muchísimas más líneas de js que de go

Y de ahí salen estás estadísticas.
#97 por que metes los vendors (entiendo que te refieres a node_modules) en el repo? :-S
La noticia es que el tercero pasa al segundo, en vez de decir que el primero es javascript, otra vez.
Siempre que sale un tema así, salen los típicos "rock stars" que siempre hacen código limpio, perfecto y sin ningún fallo que se quejan de cualquier cosa que no sea su "verdad".
#62 lo hacen con cualquier noticia de la que no tienen ni puta idea, imagina lo que lo harán si trabajan de eso.
En mi opinión Go acabará desbancando tanto a Java como a Python en futuro en cuanto desarrollen una GUI potable multiplataforma oficial.
#98 La cosa va despacio en ese sentido. A shiny le faltan cosas muy básicas y avanza muy lentamente. :-/

Mi nivel de momento no me da confianza para cosas más allá de pequeños parches y sobre todo reportar errores.

Ahora bien, para aplicaciones web consigo un rendimiento programando casi equivalente a Python y en rendimiento de ejecución no hay comparación.
Así me gusta. Yo soy team Python.
Ya se en cuan enfocarme si me quedo en paro. Python y Django están pisando fuerte
#10 desde luego java en la web no se come nada, y hoy en donde casi todo es online.....
Javascript (React) tambien se esta pidiendo mucho
#12 Hombre, eso de que no se come nada...
Yo no paro de encontrarme proyectos web que usan microservicios (REST, SOAP...) que por detrás usan Java (Spring, Hibernate, etc).

Por otra parte, #10, yo creo que esta subida de Python se debe mucho a la facilidad de hacer scripts, pero no creo que en el mundo profesional desbanque a Java.
#17 cuando se hicieron esos proyectos?, tambien se usa cobol en banca, pero eso no sirnifica que sea un lenguaje que se use hoy dia. Se usa porque muchas veces no se puede reemplazar de una forma sencila.
#34 AWS está mayormente escrito en Java, incluyendo servicios nuevos
#17 maldito sea SOAP por siempre jamás. Y también graphql
#36 100% de acuerdo
#12 Había pensado en Angular, pero React se se esta demandando mucho. Creo que será el front en el que me centraré. Hasta ahora he tirado siempre de bootrstrap pero para según que cosas lleva demasiado trabajo y no queda tan bien
#12 Java es solo para aplicaciones de escritorio segun tu?
Es el lenguaje mas usado en proyectos web, muchacho, sobre todo para los serios
#10 python y js/ts están muy de moda en back, si te interesa es algo que tiene futuro inmediato
Habla de popularidad, de que está de moda... es algo así como hipster xD
#37 Yo programo sistemas operativos de culto en Go, me meo en vuestro Python y machine learning.
#58 no programó por utilidad, es una forma de expresión artistica
Vamos.. el lenguaje de programación para inútiles... no me extraña
«12

menéame