Hace 2 años | Por --639557-- a genbeta.com
Publicado hace 2 años por --639557-- a genbeta.com

Elon Musk, al responder al usuario de Twitter, mencionó su aversión por el C++ moderno y su amor por el C simple. A esto, el fundador y antiguo CEO de Twitter, Jack Dorsey, estuvo de acuerdo. No hay que olvidar que C tiene muchos adeptos en el mundo. Tiene 50 años de vida y ha sido ampliamente "venerado" y está virtualmente soportado en todas las plataformas existentes hoy en día en el mundo de la computación.

Comentarios

elchacas

Aqui la guía rápida:

D

#12 Python apareció en 1991 pero hasta pasado varios años fue un completo desconocido

D

discrepo: Python

D

#2

Ojalá lo hubiera conocido hace 30 años

¿pa qué? Pero si todo lo que hace de aquella no existía.

No te veo yo parseando XML o JSON en 1990, o menos accediendo a BD NOSQL lol

kampanita

#6 ya, ni el deep learning, machine learning, webscraping, data science, ni nada de eso existia todavía TAL y como lo conocemos ahora , pero python SI existia en los 80

D

#12

Más que python sería culebrilla

e

#33 El nombre desciende de Delphi, otro lenguaje. Las pitonisas trabajaban en Delfos.

The_Ignorator

#7 A mi me hace mucha gracia cuando oigo a alguien decir que tal lenguaje es una mierda. En mi experiencia, por regla general, lo dicen niños rata que han asomado la cabeza a la programación o gente recién salida del módulo, pero me preocupa más cuando se lo oigo a ingenieros informáticos que se supone tienen cierta formación que va más allá de poder catalogar algo como una mierda de forma tan categórica, perdiendo totalmente la perspectiva de la necesidad histórica, para lo que están pensados, o el avance que supuso algún lenguaje.

Precisamente digo mucho algo parecido: "un lenguaje de programación no deja de ser una herramienta, y hay muchas. Cada una vale para una cosa: al igual que no se te ocurre quitar tuercas con un destornillador, no puedes pretender utilizar Java para sacarle el máximo rendimiento a una máquina (por ejemplo)"

Rigal_

#29 javascript es una mierda

e

#44 Pero es la mierda más usada del mundo. Además es muy sencillo.

D

#29 así es. Pero lo de comparar haskell con c ya me parece el límite de lo absurdo. Cada cosa para lo que es.

D

#2 Pero es más fácil equivocarse ¿no?

kampanita

#8 No tiene por qué. Es cierto que en C hay que definir las variables con tipo simple antes de usarlas, y en python no hace falta, y el tipado lo puede hacer implicito, lo que podría llevar a "cometer algun error".... pero tambien en python la conversion entre tipos simples es más o menos directa...

La pega que se le puede sacar a python es que es un lenguaje interpretado y no compilado en ejecutable, por lo que su velocidad de ejecución siempre es más lenta que un programa en C ....
No obstante se puede compilar de python a Cython -> es decir, pasar de Python a C -> codigo maquina -> ejecutable.....con lo cual tienes lo mejor de los dos ; la facilidad de programacion en python y el desempeño del codigo máquina en C

Shotokax

#8 #9 en los tipos de datos quizá sea más fácil equivocarse en C porque tiene tipado débil mientras que en Python es fuerte.

b

#8 Mas facil equivocarse en Python q en C ?

HaCHa

#17 Como si lo hacen unos humpa-lumpas con tres penes en la frente.

Powertrip

#46 tú vas para gerente de Everis

apetor

#17 Ahi esta, python y otros te lo dan todo hecho gracias a esa libreria, y si, algo de la propia expresividad del lenguaje ayuda, pero vamos, que tambien se puede programar bastante facil en C si tienes librerias... otra cosa es cuanto quieras atarte a esas librerias. A mi, lo que es gustar por gusto, me gusta hacer C sin librerias, o usando lo minimo minimisimo para hablar con el firmware o el kernel ( temas de UEFI, temas de kernel de NT,... ), y si hay que hacer cosas muy a bajo nivel hacer cosillas en ensamblador y hablar con ellas desde C. Es una puta gozada y es como el Dark Souls de la programacion, dificil ( tampoco tanto ) pero sobre todo justo, responsabilidad tuya, no pierdes el tiempo por mierdas de capas intermedias.

w

#1 #2 #13 Python es muy fácil de aprender y las librerías te hacen casi cualquier cosa.

El problema es que su performance es basura. Sirve para análisis de datos, siempre que el tiempo no sea un requisito.

Y si en un futuro se gravan las emisiones de CO2 por ciclo de CPU, lo podéis dar por muerto.

CC #18

kampanita

#26 A partir de la v3.10, está mejorando mucho en cuanto a velocidad de ejecución. De la 3.9 --> 3.10 un 64% de incremento y de 3.10 a 3.11 un 14% de mejora en el rendimiento.
"Sirve para análisis de datos, siempre que el tiempo no sea un requisito."
Bueno, sirve para muchísimas cosas más ,o al menos yo lo uso para Webscraping, además de para Data Science, ML, DL
Me hicieron aprender LISP ... joder, si me hubieran enseñado python en vez....

w

#28 Todo eso que comentas es análisis de datos, de una u otra forma.

https://medium.com/swlh/a-performance-comparison-between-c-java-and-python-df3890545f6d

No se si la versión de python usada en ese artículo es 3.10 o anterior. Pero da igual. Cuando eres 33 veces más lento, mejorar un 64% sigue siendo una puta basura.

Es reducir de 3s a 1s cuando C tarda 50ms... aham...

hispar

#32 python permite usar muchos módulos de C de forma más sencilla. Aparte de que para desarrollo web es una herramienta muy buena.

Tiene margen de mejora en rendimiento, pero lo compensa por la facilidad de aprendizaje y la rapidez que permite en el desarrollo.

w

#35 Cambias tiempo de desarrollo por tiempo de ejecución.

Desarrollar lo desarrollas una vez. Luego a ver quién mantiene el bicho y quién le explica al de la corbata porque tarda tanto.

hispar

#37 eso de desarrollar lo desarrollas una vez, es algo que está por verse, mientras está vivo suele tener desarrollo, cuando no tiene es cuando se acerca su fin.

Y bueno, dependiendo del proyecto puedes meter más máquinas, dedicar tiempo a optimizar el código o cambiar la tecnología para el caso que va lento. Cada empresa es un mundo y elige una opción distinta.

kampanita

#35 #28 y lo que hablamos, que cada necesidad tiene su lenguaje.
Por ejemplo, en mi caso, veo inviable hacer un app desktop complicada con python porque los GUI no me convencen, pero sin embargo, para presentar datos al director, le sacas un jupyter notebook con unos cuantos plots y animaciones, y demás y eso no me veo haciéndolo en C , no porque no se pueda, si no porque es un coñazo.

A mi python me da mucha flexibilidad y de desarrollo rápido. Luego ya si necesitas velocidad de proceso, lo puedes pasar a Cython y vuela.

e

#28 Haskell es un descendiente de LISP en ciertos aspectos. El más notorio son los paréntesis. Quien hizo Haskell odia los parentesis. Hay incluso un operador que significa "desde aquí hasta el final de la línea, te crees que hay parentesis", para evitar ponerlos.

D

#2 lenguaje fácil -> lenguaje ineficiente

e

#38 Haskell es muy eficiente a ratos. Es algo poco controlable, como en SQL. Depende de como se lo tome el compilador (GHC siempre). La recursión le gusta más que otras cosas. Cuanta más información le des, mejor lo hará. Para esto, los tipos de datos en Haskell son otro nivel. Rust claramente ha copiado cosas.

Lekuar

#1 Basic

Maximilian

#3 hola abuelo cebolleta

Lekuar

#10 PRINT "hola pollito"

Maximilian

#22 GOTO #3

s

#22
O también
? "hola pollito"

En otros
WriteLn ('Hola pollito');
Aún más largo

T

Como en tantas otra ocasiones, un lenguaje de programación es una herramienta, así que no hay mejor absoluto sino el más adecuado.

Ahora, si queremos hablar de uno bastante potente, tremendamente fácil de aprender a programar con él y que te lleva a coger buenas pràcticas, como dice #1, Python es el camino.

Shotokax

#1 eso es para escribir scripts, no para programar.

e

#1 Esto del mejor es difícil de decir. Depende de para qué. Python tiene sus pegas. No puede competir con C en ciertas cosas ni con Haskell en otras.

Diem_25

#1 Lo dices porque Musk no sabe ni siquiera how to run basic code? :

Elon reached out to me to get hold of that script and it became apparent very quickly that he didn’t understand coding as well as he made out.
He asked, “How do I run this Python 🐍 script?
https://www.crikey.com.au/2022/05/30/dogecoin-jackson-palmer-elon-musk-cryptocurrency-bubble/

D

#65 No, false, 0 🐘

D

Y también sobre C++

selina_kyle

Yo flipe cuando descubri que lenguajes como Python, Java, Javascript... no son mas que una capa de abstracción de C. Osea al final estas escribiendo C pero mas bonito y reutilizando funciones que vienen ya hechas. Eso me llevo a preguntar por que no utilizar C directamente???

Por lo que he visto, hay cosas muy complicadas de hacer en C como la gestion de memoria que, por ejemplo, la JVM la hace por ti. Asi no tienes que preocuparte de escribir esa parte o de que se pueda romper. Pero no dejé de sentirme un poco tonta al ver que estaba utilizando C para dummies (python en mi caso) lol

D

La desventaja de Python respecto a C es el rendimiento. La diferencia es abismal.

Fingolfin

#18 El rendimiento en muchas ocasiones me importa poco, lo que no soporto de Python es el tipado dinámico. Para pequeños programas que llaman a librerías está bien, para cosas serias es un lenguaje insufrible.

D

Linus opina lo mismo

M

#30 ¿Se refiere a sus notas?

alexwing

El mejor lenguaje es el que sea mejor opción para lo que quieras hacer.

Jesuo

#15 Dejando de lado costes y centrándonos en eficiencia, para todo sería lenguaje máquina obviamente.
Haskell o ADA para las IA de hoy en día y las blockchains.

Ferk

#21 Si lo que quieres es eficiencia dejando de lado los costes, es mejor programar en Verilog o cualquier otro lenguaje HDL y producir hardware dedicado. Que resultará en más eficiencia que hacerlo en software. Por algo cada vez más las CPU/GPUs tienen circuitos dedicados que implementan algoritmos concretos en su circuitería.

Pero claro, dejar de lado los costes y centrarse en la eficiencia no es algo que tenga sentido aplicar "para todo", sino que es sólo para cuando quieres eficiencia sin importar los costes (osea, prácticamente nunca).

Jesuo

#50 Si nos ponemos así directamente ni software ni Verilog, FPGA.

Ferk

#67 Es que FPGA no es un lenguaje... ni es necesariamente el soporte físico más rápido.
Precisamente Verilog (y otros HDL) son para FPGAs y ASIC.

Jesuo

#69 Razón tienes.

e

#21 Ada merecía mejor suerte. Muy expresivo y tremendamente optimizado, con acceso directo a las características del hardware. Una maravilla para programar criptografía.

Ada es procedural, Haskell no. Son como la noche y el día.

libroblanco

El que diga que C es el mejor que lo depure un par de días, es verdad q es potente y rápido pero a costa de la salud mental de sus usuarios.

D

#11 Si no tienes capacidad mental para programar en C mejor dedícate a otra cosa.

Fingolfin

#40 C es objetivamente un lenguaje de mierda en muchos aspectos. Si hubiera que rediseñarlo, absolutamente nadie lo diseñaría como el batracio que es hoy (¿quien en su sano juicio añadiría un procesador de macros para paliar los defectos del lenguaje?).

C es como COBOL, sobrevive por cuestiones de compatibilidad, afortunadamente la gente joven ya no lo aprende y prefiere Rust, en cosa de 30 años será una reliquia.

kampanita

y esas librerias en C se compilan en código máquina, que son las que realmente hacen el trabajo, querrás decir

D

Depende para qué.

metrosesuarl

Es en lo único con lo que voy a estar de acuerdo de todas las chorradas que dice este tipo

Cantro

Haskell es odioso a tope, y al mismo tiempo muy disfrutable. Me dejó una sensación muy rara lol

Hugs?

e

#36 Haskell es el lenguaje que, si lo aprendes, más te influirá.

Cantro

#57 A mi me ayudó mucho a la hora de aprender Ansible, por ejemplo.

e

#59 Las nuevas funciones de Excel, por ejemplo, son evidentes si sabes manejar listas en Haskell.

lasarux

Llega un poco tarde para hablar de esto, y encima es como si opinara Steve Jobs sobre lenguajes de programación... Esto se parece a los tertulianos en la tele que opinan de todo, por opinar.

D

Menudo albardadado. Qué tendrá que ver c con haskell..

H

Di mis primeros pasos con Basic, aprendí con C y disfrute/disfruto con Python. No necesito mas.

rakinmez

El mejor lenguaje de programación es aquel que permite crear el algoritmo más eficiente.

Fin

D

#34 ensamblador?

Komod0r

El mejor lenguaje es COBOL