Hace 4 años | Por --525300-- a genbeta.com
Publicado hace 4 años por --525300-- a genbeta.com

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.

Comentarios

d

#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.

D

#3 O para los que programan por su cuenta cosas que no necesitan ser estables / eficientes y no necesitan programar en equipo.

D

#27 y es la manera más eficiente de romper un equipo

R

#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.

D

#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.

p

#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.

D

#28 Yo diría que bastante.

Ferk

#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.

D

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.

omefilo

#6 querías decir código máquina?

m

#26: O usando el comando adecuado de Emacs para programar con mariposas: C-x M-c M-butterfly...

Omóplato

#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.

D

#19 querrás decir en binario.

D

#9 No creo. He usado la misma variable para guardar un número y una cadena:
https://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.

D

#32 ufff, para ese comando ni usando manos y pies hay suficientes dedos

D

#17 maldito sea SOAP por siempre jamás. Y también graphql

trivi

#1 no, son para "proyectos" de 100 o 200 líneas, de ahí en adelante te quieres pegar un tiro

ur_quan_master

#2 gracias a Oracle.

D

Por el tema del Big Data y el ML. Ahí Python arrasa bastante. Y es lo que está de moda ahora.

frankiegth

#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)

Nova6K0

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

c

La cantidad de mensajes desinformados en este hilo es para volarse la puta cabeza. En serio.

Shinu

#23 Presente... Lo uso mucho para crearme scripts que me facilitan la vida.

eldarel

#56 Luego esa obsesión pasó a yaml.

D

#92 Hostias. Estamos en 2019, caballero

D

#20 querrás decir con impulsos eléctricos

D

#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.

kiss

Boleteria

#21 React y bootstrap son cosas totalmente diferentes Una no quita a la otra

R

#32 C-x M-c M-butterfly, por supuesto

Omóplato

#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.

comadrejo

#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?

D

#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

crafton

#22 #6 #19 #20 no hay nada como pillar un rollo de papel y hacerle agujeritos

D

#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

D

#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.

D

#112 los 'typehints' que se llama a eso tienen varios problemas:
- Son un parche, dependiente de que el IDE te lo soporte o que corras el 'pre-interprete'.
- Al ser un parche, cuando se corre el programa realmente todo este codigo es ignorado. Lo que puede llevar a inconsistencias entre el typehint y el tipo real. Lei que se puede forzar a que la aplicacion no corra sin un analisis estatico previo, pero que era bastante 'buggy' y se desaconsejaba. No he encontrado este articulo.
- Son parciales: no hay forma de exigir que todas las variables usen un typehint. Al final esto acaba en inconsistencia.... igual solo las interfaces de funcion llevan typehints y no su codigo interno, por ejemplo.
- Verbosidad vs Genericidad inutil: De nada me vale tener typehints a los que enchufo el tipo 'Any'. O si tengo un dict de dict de dict de dict de vete a saber que, la sintaxis es un puto infierno. En otros lenguajes construirias tipos intermedios (typedef + struct por ejemplo) encadenados. En Python esto no se puede hacer.

Al final intentar que python sea fuertemente tipado es 'necesario', pero porque el sistema de tipos es una porqueria.
Personalmente antes preferiria que avanzara ha una libertad mayor donde poder hacer 1 + '2' y que no de errores que no estos vanos intentos de conseguir tipado estatico.

D

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.

redscare

#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.

D

#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...

llorencs

#1 Python es de tipado fuerte pero dinámico. No puedes hacer i= 'a' +2

Amenophis

#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.

R

#40 por eso Bilo y Nano usaban vim, solo tenían cuatro dedos

D

#47 aunque podrían haberle pedido ayuda a robotin para que les prestase un par de dedos

MoñecoTeDrapo

#57 Pero tú intenta decirle eso a los jóvenes de hoy. Y no te creerán...

D

#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.

v

#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.

D

#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.

D

#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.

C

#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 https://desarrolloweb.com/manuales/61

Eso es un servidor de aplicaciones. ¿Qué entiendes tú por servidor de aplicaciones?

cosmonauta

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.

cosmonauta

#103 Bueno...no hay un motivo claro.. la pregunta más bien es ¿Y por qué no?

Antes no lo hacía pero a raíz de una serie de acontecimientos en el trabajo, decidimos hacerlo.

Por un lado, salvo proyectos muy grandes, es gratis. Lo subes a github y listo. Es verdad que tardas más en descargarlo, pero también tendrías que hacer un composer o npm si no lo tuvieses.

Por otro lado, no dependes de nadie. Si un repo se cae, no hay problema. Eso no es muy común, pero puede pasar, y me ha pasado, jodoendo un deploy en producción.

Y también ayuda a motivar al equipo a usar poco vendoring. Los pull request son voluminosos y canta mucho cuando alguien introduce una nueva dependencia. No nos negamos a ello, pero forzamos un debate para evitar exceso de código poco útil.

En golang es muy factible. Los paquetes suelen ser pequeños y un proyecto mediano no suele tener más de 10 o 20 dependencias.

El problema es el javascript, que se han vuelto locos. Te bajas una librería para tratar, por ejemplo, fechas, y te instala 15 paquetes más que no tienes ni idea de para qué sirven, ni que hacen. Y acabas de heredar un montón de Bugs y errores.

cosmonauta

#110 Si...es verdad que mucha gente piensa que no es una buena práctica, pero si lo piensas, no hay ningún problema por hacerlo, salvo el tamaño del repo.

También es verdad que sí trabajase en node, Probablemente no lo haría. Las dependencias en JavaScript son una locura.

llorencs

#23 Se puede programar en equipo con Python.

llorencs

#30 Tendrás que explicar porque.

PacoJones

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".

D

La noticia es que el tercero pasa al segundo, en vez de decir que el primero es javascript, otra vez.

D

#14 Pues eso, juguetes

D

#71 Que tengan codigo en python no significa que esten hechas en Python.

GOOGLE ademas, cosa que es mentira lol 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.

Ferk

#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).

sombra2eternity

#16 En PHP

D

En mi opinión Go acabará desbancando tanto a Java como a Python en futuro en cuanto desarrollen una GUI potable multiplataforma oficial.

Overmind

#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.

D

#12 Java es solo para aplicaciones de escritorio segun tu?
Es el lenguaje mas usado en proyectos web, muchacho, sobre todo para los serios

D

#6 no, es mejor programar de forma ineficiente para que los cerebros limitados no se sientan discriminados

D

#15 Fatality lol

hasta_los_cojones

#28 polimorfismo

D

#41 Por desgracia.

D

#7 ¿En cuántos campos de fútbol lo puedo aprender?

D

#20 Eso lo serás tú!

D

#81 No los se no. No llevaré unos 40 WebLogic instalados en lo que va de año...

D

#81 ¿Un servidor de aplicaciones? pues el Play Store de Android, joder.

D

#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...

torkato

Ya se en cuan enfocarme si me quedo en paro. Python y Django están pisando fuerte

Ramsay_Bolton

#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

torkato

#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

D

#10 python y js/ts están muy de moda en back, si te interesa es algo que tiene futuro inmediato

Ramsay_Bolton

#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.

Yosemite

Habla de popularidad, de que está de moda... es algo así como hipster lol

D

#37 Yo programo sistemas operativos de culto en Go, me meo en vuestro Python y machine learning.

redscare

#64 Creo que no sabes lo que es un servidor de aplicaciones.

redscare

#68 La pregunta seria en que servidor despliegas tu código. Por ejemplo, Apache es un servidor web, pero no es servidor de aplicaciones.

https://en.wikipedia.org/wiki/List_of_application_servers

redscare

#85 Pues entonces no se a qué viene lo de los navegadores y Java.

Schrödinger_katze

Así me gusta. Yo soy team Python.

par

#3 A mi me gusta programar, y me gusta Python.

Liet_Kynes

#28 Yo pensaba como tú hasta que descubrí el duck typing con Ruby

D

#101 es una movida que ni los propios creadores de lenguajes entienden.

comadrejo

#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.

1 2