Hace 3 años | Por --651134-- a theregister.com
Publicado hace 3 años por --651134-- a theregister.com

El 30 aniversario de Python esta semana encuentra al lenguaje de programación en la cima de su juego, pero no sin desafíos. "Creo que Python simplemente no tiene las prioridades correctas en estos días", dijo Armin Ronacher, director de ingeniería en la empresa de monitoreo de software Sentry y creador de Flask, el popular Python web app framework.

Comentarios

NubisMusic

#1 Pregunta de ignorante en el tema. Si con Python es más fácil programar, ¿por qué se usa entonces tantos lenguajes? Imagino que Python tendrá sus limitaciones, pero que una gran mayoría de programas se pueden crear perfectamente con este lenguaje. ¿Por qué no se ha creado aún un lenguaje que permita programar todo lo posible basándose en lenguajes existentes?

Perdón por ser aún un nulo en la materia. Poco a poco estoy aprendiendo y quería aprovechar para preguntar y seguir aprendiendo.

J

#58 facilísimo.... Facilísimo.... Como que tampoco.

Más sencillo que otros, quizás. Pero de facilísimo nada.

Facilísimo sería un lenguaje de programación natural, en el que no haya que aprender syntaxis y de más.

M

#67 Lenguaje todoterreno es C++, sobre todo las nuevas versiones de C++11, C++14 y C++17, que abarca desde bajo nivel hasta alto nivel y que no solo vale para hardware y portabilidad, sino para Interfaces (vease Qt), bases de datos, graficos, pintar en pantalla y conectarse a internet...

X

#49 No es sólo el lenguaje de programación, sino la "plataforma" que en idioma llano sería los recursos de programación disponibles para ese lenguaje, como runtimes, SDKs, librerías, herramientas, etc. Sencillamente no hay un martillo para todos los clavos, sino que depende del clavo.

l

#8 Python es muy recomendado como primer lenguaje y que te obligue a indentar evitar coger malas constumbres y te hace ordenador.
Salvo que tengas un Notepad que no te automatice los sangrados, no veo el problema.
#1 Esa es la filosofia de Rust, incluso las variables son inmutables y hay que hacerlas modificables explicitamente. Hay que esforzarse para cometer errores en lugar de esforzarse para evitarlos.

M

#1 me sumo, he hecho grandes proyectos con él con bastante éxito y mi amorodio es inmenso. lo de la identación es algo que me concome desde el primer día.
me encantaria un preprocesador o IDE con "beautylizer", es decir poder escribir delimitando con algún separador "a la c" y luego me lo pase a identado. Lo he intentado con macros/script de ultraedit y uff, NO.

m

#3: No te preocupes, se ejecuta tan despacio que tendrás tiempo para hacer eso mismo durante la ejecución.

D

#c-49" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3466203/order/49">#49
Porque cada lenguaje tiene su nicho y cosas que se pueden hacer. Asi a grandes rasgos como te comentan mas abajo C# (VB.net parece ya nadie lo usa) es mas para aplicaciones windows y tal es muy robusto pero tambien se pueden hacer webs con asp.net si no me equivoco.
Luego tienes la "rama" de java que seria lo mismo pero software libre ("gratis"). Aunque hoy dia MS te deja gratis visual studio community y vs code permite programar en lo que te de la gana casi.

El que mucho abarca, poco aprieta y lo suyo es especializarse en algo.

D

#72

C:concon lol lol

Aun recuerdo cuando haciendo un net use de c:concon podia colgar los ordenadores de toda la red.

(mierda, las me las ha borrado meneame) sera que funcionan en güindos 95/98?

#67 Para mí, Python no es un lenguaje para casi todo sino para casi nada. Java sí que lo veo útil en casi todo menos en acceso al hardware.

D

#89 La primera frase de acuerdo: Python está guay para cálculos de data science (que no sean procesamiento masivo de datos, porque ahí no sirve por ser interpretado) y para hacer cosas como APIs web y demás.

La segunda frase... pffff... Java está guay para aplicaciones corporativas de estas monolíticas de servidor, que es para lo que se diseñó. Para otras cosas por mi parte le pueden dar bien fuerte por el culo al universo Java, incluyendo Kotlin, Scala y demás.

D

#68 Porque Python se inventó para lo que se inventó, que no es ejecutar grandes operaciones en tiempo real ni manejar grandes volúmenes de datos.

Con ML pasa lo mismo: los sientíficos pican el modelo en Python, lo ponen a correr en Tensorflow y venden el producto al cliente en la demo. Y luego ya detrás vienen los Javeros y C++eros a implementar el producto de verdad.

D

A cualquiera que trabaje en una oficina y su especialización/trabajo no tenga nada que ver con programar, os recomiendo aprenderlo de todas formas. Todas esas tareas que puede hacer un mono que tengais que hacer dia a dia repetitivamente, pueden ser programadas facilmente en Python y se aprende muy rapido. En vez de perder 2h todos los dias en esas tareas, invertid unas 10h en aprender lo basico de Python y otras 5h en programar un script que haga esas tareas, y echaos a dormir.

Si usais mucho Excel probad aprender algo de VBA para Excel si no, que es casi igual de facil.

z

#c-9" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3466203/order/9">#9 Para mí sólo tiene sentido si es tu primer lenguaje de programación y no tienes muy claro muchos conceptos básicos. Pero es que usar bloques de código (se parados con llaves, corchetes, paréntesis o begin-end, if-fi) es algo realmente muy básico de aprender que incluyen la inmensa mayoría de los demás lenguajes de programación que son relevantes: c, c++, c#, php, shell script, java, javascript, basic, pascal, go, dash, rust, lisp, perl, lua, .... para mí tiene más inconvenientes que ventajas y es de lo que más me echa para atrás del lenguaje... aparte de que no me aporta mucho para mis necesidades, la verdad.

gonas

#1 El mayor troleo que se ha producido en el mundo de la programación ha sido el JavaScript. La cantidad de horas perdidas y una generación entera de programadores que no saben otra cosa.

D

#110 En mi opinión, el indentado forzado debería ser obligatorio en cualquier compilador. Las marranadas que se ven en proyectos con otros lenguajes te las evitas con Python.

Y eso que dices que hace Go hay herramientas en Python que lo hacen también.

D

#39 Yo tampoco tenía idea de programar y aproveché la pandemia para iniciarme, precisamente con Python.

Por desgracia me quedé bloqueado en el aprendizaje y me he desmotivado un poco. Creo que llegué al nivel que dice #23, pero sin trabajar en oficina, sino que lo hago en mi casa. Una gran satisfacción cuando te haces tu primer script más o menos complejo y ves que funciona.

#40 No sé, todo eso que no se tiene se puede puede ir buscando sobre la marcha en Internet. Eso sí, se hace tedioso y tiene que ser un hobby que te guste, sino mejor salir a pasear antes que aprender a programar.

box3d

#65 Luego nos llaman a los de bajo nivel (y a alguno de Java!) para que se ejecute todavía más rápido.

D

#18 #37 Python es una mierda por el indentado forzado, encima con posibles errores de espacios y tabulaciones juntas.

Que aprendan de Go. "gofmt -w" al archivo y adiós muy buenas.

Z

#10 No es malo, o es un horror. Intenta mantener ese código condensado. Al mes ni tu mismo entiendes bien que significa.

NubisMusic

#55 Entiendo. Por eso lo suyo es especializarse, porque dominar todo lenguaje posible es poco práctico. Imagino que con cada nuevo curro/proyecto toca repasar o aprender un lenguaje en tiempo récord (a menos que estés en una empresa especializada en una área en concreto).

llorencs

#40 Conceptos de listas, arrays te los encuentras en cualquier lenguaje. Yo creo que en Python es donde es más sencillo aprenderlos #39.

c

#55 Bueno, para matematicas que dices puedes usar matlab/octave, R, Mathematica ... pero la verdad, para calculo simbólico, numerico , analisis de datos ... tienes fantastics bibliotecas para python que te permiten hacer de todo (numpy, scipy, matplotlib, plotly, mayavi, vtk, pandas, scikit/sklearn, astropy, pyroot, ...). La verdad, una de las grandes ventajas de python, al menos desde el ambito de la física, es que tienes bibliotecas e interfaces para hacer absolutamente de todo, y en qualquier ambito (sea astrofisica, estado solido, nuclear, ...) . Por cierto, sagemath es una autentica gozada. Y si necesitas optimizar codigo, pues recurres a c++ o fortran desde python

Azrapse

#36 El BASIC del ZX Spectrum no era estructurado, con lo que creo yo que no había forma alguna de programar nada mediano o grande sin usar el GOTO y el GOSUB obligatoriamente.

navi2000

#39 Sí, es el lenguaje (de verdad, no de etiquetas) más fácil de aprender. A la vez es un lenguaje que te va a dar unos fundamentos básicos sobre cómo se debe programar bien (bloques de código, estructuras, etc) y te ofrece un montón de librerías para que vayas al grano y no tengas que empezar desde el 0 más absoluto.

Yo trabajo en ciencia de datos con él y hacer lo mismo en C me costaba el doble de trabajo. Pero también lo uso para automatizar tareas de todo tipo y para programar pequeñas chorradas que necesito en un momento dado o para resolver problemas que me surgen y nada tienen que ver con mi trabajo. Para lo único que no lo uso es para la programación web porque estoy muy acostumbrado a PHP de mis anteriores trabajos y me sale muy rápido y natural. Pero también podrías hacerlo.

En mis 3 décadas programando y habiendo pasado por más de 10 lenguajes profesionalmente (desde ensamblador hasta Javascript) no recomendaría otro lenguaje para empezar a programar.

Pacman

#9 Yo tambien vengo de la old school y lo que peor llevo es que no haya CLS en el IDE

La anidación le da estructura, visualmente me gusta ya que puedes ver las funciones claramente

c

#7 El principio de mínima sorpresa en Python no saben lo que es... pobrecitos.

Ed_Hunter

#c-73" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3466203/order/73">#73 En mi opinión, cualquier lenguaje que se inspire en la sintaxis de C debe arder en el infierno por toda la eternidad. El código se escribe una vez y se lee muchas, por lo que debería primarse la lectura sobre la velocidad de escritura.

Los lenguajes C++, Objective-C, Java, Javascript, C# etc. no deberían haber existido jamás de los jamases.

M

#98 No se que problema tienes en la sintaxis de C, se entiende perfectamente:

class A
;

Vamos... una complejidad de lectura increible...

D

#122 Para web APIs, algunos microservicios según la tarea que hagan, ... no está nada mal. OpenStack es un producto que está hecho 100% en Python y funciona de puta madre también.

El problema es cuando ves a gente querer hacer en un lenguaje interpretado, Python en este caso, cosas que necesitan una latencia mínima o una velocidad de proceso cuanto más alta mejor. Pero eso es más problema de los supuestos ingenieros que eligen el lenguaje equivocado que del lenguaje en sí mismo.

D

Python es como el esperanto. Es atractivo para empezar y es muy fácil cogerle el truco. Pero cuando empiezas a indagar, a coger experiencia y a intentar hacer virguerías, te das cuenta que ofrece una complejidad inconmensurable.

Lo cual no es malo, claro.

#1 Pues a mí no me mola nada. es cierto que cuando lo conoces le coges el puntillo y para algunas apaños rápidos te vale pero a mí me parece totalmente esquizofrénico la mezcla de programación estructurada y orientada a objetos que tiene. Me cuesta horrores recordar si para saber la longitud de un string tengo que tratarlo como PE o como POO.

J

#22 totalmente de acuerdo

eldarel

#151 Yo no he comparado yaml con Python.
Sólo he expresado mi neura con la identación.

navi2000

#141 python, igual que JS es interpretado, lo cual significa que necesita un programa que interprete el código fuente. Lo que pasa con JS es que el intérprete está integrado en el navegador. Para Python necesitas instalar un intérprete.

box3d

#9 Para los más tradicionales tienes cosas como el IF/THEN/ELSE/ENDIF

box3d

#7 JO DER ! lol
Esta no me la sabía. Pero que crimen es esto!? lol lol lol

emilio.herrero

Yo comencé a programar en un ZX spectrum con Basic cuando tenía 8 años. Que tiempos aquellos del GoTo

eldarel

Los que se quejan de identación, ¿es porque no han usado yaml?

pip

A mí me gusta Python, para hacer scripts y programas pequeños. Los programas muy grandes en Python ya no me gustan tanto.

kverko

#98 “el código se escribe una vez y se lee muchas veces”

Por eso está resurgiendo de sus cenizas modern Fortran (el inmortal)

losuaves

#10 es que no es un lenguaje para realizar virguerías, sino para hacer unas tareas de forma rápida. Por ejemplo, análisis de datos.

M

#7 Pues la primera respuesta explica claramente que no es un error de diseño.

navi2000

#26 no me aporta mucho para mis necesidades

eso es que no estás haciendo IA, ciencia de datos o similar, porque es que es eso o R (que si no te gusta python, entonces ni hablar de R)

PauMarí

#83 #87 en #32 explico para que uso Python. Llevo más de 30 años en esto y no uso un mismo lenguaje para todo, Python lo uso, básicamente, como reemplazo de Perl, por ejemplo para hacer un script que parsee un log y clasifique eventos. Una cosa así hacerlo con funciones es una pérdida de tiempo (y eficiencia), son scripts para un único uso o para una tarea concreta. Evidentemente si quiero guardar los eventos en una DB, por ejemplo, utilizo código reusable, el qual ya es oop o funcional, depende de cada caso.
No hacerlo así no tiene sentido en el entorno donde lo aplico.

PauMarí

#5 coincido, al principio con lo del indentado pensé "bueno, no pasa nada" pero cuando empiezas a hacer bloques un poco largos es un coñazo, la verdad.
Cc #8

PauMarí

#21 no siempre es evitable...
Ojo, sacrificando "eficiencia" seguramente siempre es viable pero en según que casos prefiero eficiencia, la verdad.

box3d

#29 ADA te va a molar entonces. Es como tener a una dominatrix de compilador.
Pedir permiso hasta para mear convertir de entero corto a entero largo.

llorencs

#50 Yo he enseñado Python a gente desde 0. Y lo he ido haciendo de manera estructurada y se entiende lo que son las listas y eso. Primero enseñas lo más básico y luego introduces listas, una vez que las entienden complicas la cosa con diccionarios. Luego de los diccionarios, metía POO.

Además, que lenguaje usarías para enseñar eso? Porque, cojamos VBA, por ejemplo, me parece aún más complejo para entenderlo, además que tienes los típicos problemas con los Array clásicos en los que tienes que saber el tamaño del array desde el inicio.

Creo que las listas y tuplas de Python son la mejor manera para introducir a alguien en el mundo de las estructuras de datos. Un diccionario de Python es bastante sencillo, comparado con cualquier equivalente de otro lenguaje, sea Java, C, VBA, Pascal, PHP o JavaScript.

Quizás PHP y JavaScript sean más o menos igual de sencillos. Pero, es que alguien que empieza desde 0, el concepto de las estructuras de datos siempre será algo más complejo.

llorencs

#52 Que es para ti un programa pequeño? Yo he hecho algunas cosillas medianas, de más de 1000 líneas de código y una biblioteca personalizada de más de 2000 líneas en total. La biblioteca es un solo módulo.

Y para ambas cosas me gusta y no lo veo tan mal. Hace años que no he tocado algo compilado, desde hace mucho que fue con Delphi/Pascal. Y no lo echo de menos, realmente.

losuaves

#15 R también uso yo. Ambos son buenos para la estadística y análisis de datos.

e

#20 Yo soy contrario a tanta obligación. Te impide poner cosas muy concisas en una sola línea. Menos líneas también ayuda a la legibilidad.

Z

#129 Si, coincidimos en muchas percepciones. Yo creo que lo de "Python es fácil de aprender" viene de detalles como:

+ No hay que usar llaves (un drama debe ser para el aprendiz localizar la tecla).
+ No hay que declarar las variables ni su tipo (puede parecer cómodo, pero en seguida es un problema porque no sabes el tipo de dato que tienes en la variable y eso te lleva a errores en tiempo de ejecución "más difíciles" de depurar (por un principiante).
+ La indentacion, que puede hacerse con espacios, tabuladores, en cantidad variable para un novato puede ser un lío, especialmente cuando se copia código de alguna otra fuente.


Doy clase a alumnos de informática que usan por primera vez Python y puedo asegurar que "más fácil" no es comparado con otros lenguajes.

J

Que alegría ver comentarios como en el Menéame de aquellos tiempos.

PauMarí

#25 una de las primeras cosas que recuerdo cuando aprendía, explicarte lo que es un goto y seguidamente decirte que nunca nunca nunca lo uses.

D

#58 >ero al principio me quedé loco con eso de que las listas y diccionarios se pasaran siempre como referencias.

En Go pasa lo mismo con las listas.

D

#13 Yo para eso uso R, aunque eso es otra M que viene de S.

PauMarí

#39 si tienes conceptos previos de tipos y estructuras de datos sí (listas, vectores, arrays, etz), si no tienes ni eso igual con Python empiezas con algo "un poco demasiado".

PauMarí

#43 explícale a alguien, qie parta de cero, la diferencia entre una lista y una tupla, por ejemplo, o que para hacer según qué en un dict a veces se hace con métodos (tipo oop) y ha veces con asignación directa... La verdad es que creo que eso lia, si se trata de aprender, que conste.
#39

m

#97: No, en C no te dicen que hagas los bloques de una forma o de otra. Si tienes que hacer 15 cosas en un bloque, las haces y listo, no te dices que compactes el código usando instrucciones hipercomplejas, que es el problema de Python, la manía de meter el código en muy pocas líneas pero de gran complejidad individual.

Por ejemplo, si vas a hacer un rectángulo en pantalla con asteriscos, lo natural es usar dos bucles anidados, no tratar de hacer todo con un único print y diversos trucos.

e

#36 El goto tiene muy mala fama debido a los goto golfos que hacen cosas guarras. Pero los goto usados cuando toca pueden ser la solución más limpia imaginable.

D

#24 humildemente creo que sí, otra cosa es que no tengas tiempo de refactorizar, sobre todo si trabajas sobre lo que otro ha hecho y tienes miedo de cargarte algo que ya funciona. Eso lo entiendo.

X

Nunca terminó de gustarme Python. Primero prefería Perl, luego Ruby, y al final me quedé con JavaScript / Typescript.

D

#1 Type hints y Mypy te resuelven (máomenoh) ese problema.

Sigue sin tener la seguridad de un lenguaje compilado, pero al menos esos errores de los que hablas te los enseña Mypy. Por si quieres arreglarlos, claro, si no pues adelante

D

#106 Swift es open source, tengo un colega que se hizo una pasarela de pago y lo ejecuta en Linux. Tienes compiladores hasta para ARM que te permiten ejecutarlo en una Raspberry Pi.

gonas

#155 para hacer cualquier cosa de más de 10 líneas lo veo mal. A ver si empieza a prosperar WebAssamblie, yo he probado blazor y es una pasada, librerías que hice para servicios NT funcionan en el navegador.

Pacman

#1 PyCharm te hace "algo" de control sobre eso, pero no es un compilador al uso
A mi no me importa (tampoco tengo programas con miles y miles de lineas), pero si que es un poco cansino a veces

La verdad es que me encanta ese lenguaje, es muy "nostalgico"

c

#1 test qué?

c

#6 clap clap clap clap clap clap clap

pip

#36 hay lenguajes que no pueden programarse sin GOTO, como el BASIC del Spectrum o el ensamblador. En C también en principio se dice que no hay que usarlo, pero es la manera más práctica e idomática de hacer cleanups en funciones.

Pero si que es cierto que en general en lenguajes que tienen alternativas, es una mala práctica, y sobre todo es una mala práctica si no tienes pleno conocimiento de cuál es la mejor opción en cada caso.

pip

#59 1000 LOC de Python es un programa pequeño. Tengo por aquí un proyecto sobre 50,000 LOC de Python y unos 500 ficheros .py. Eso es un programa grande.

M

#75 "Es portable dentro del ecosistema GCC/Clang, que está muy bien y cubre casi todo"
Y VC++ tambien para Windows...

Qt no tienes que compilarlo tu... hay paquetes ya compilados para x86/x64/ y ARM. Ademas con Qt puedes compilar una misma aplicacion para Windows, Linux, Mac, Android e iOS sin apenas cambiar nada de codigo....

M

#78 Bueno, pero eso es porque los propios fabricantes de las arquitecturas MIPS/PowerPC/HCS no han querido integrar el Standard ISO C++ 11, C++14 y C++17 en los compiladores para sus arquitecturas.

m

#21: Ya, pero tampoco es cuestión de que el lenguaje de programación te diga cómo tienes que programar...

cosmonauta

#77 Y que lo digas. Hace 20 años, en mi primer trabajo, estaba convencido de que esa basura no llegaría a nada. Y mira por donde va

m

#22: De hecho para aprender es más fácil C o C++, porque en Python hay muchas tareas que se vuelven complejas.

En C y C++ si escribes un printf, lo que pases al printf te sale por pantalla, en Python no pasa eso, en su lugar te añade un salto de línea al final, y eso no es la forma de enseñar a programar (el ordenador no hace nada que no le pidas). Por otro lado en Python hay demasiados tipos de datos (que si tuplas, que si comprensiones, que si tal...). No digo que esté mal, pero para aprender es mejor ir a lo básico: tipos de datos int y double, secuencias de control básicas y entrada y salida básica (que no te obliguen a poner algo raro si no quieres el salto de línea, sino al revés).

Y si se trata de no poner llaves, se usa Visual Basic y listo, que dibujas un formulario, pones un botón, un cuadro de texto y con un doble clic y una línea de código puedes hacer un hola mundo, con ese programé por primera vez.

m

#86: ¿Si le hago un Concón a un ordenador "lo dejo mirando a Cancún"? lol

m

#58: C tampoco es tan difícil si se enseña bien.

m

#140: Pregunta de Python: ¿Por qué mi programa no se lo puedo pasar a mi amigo? (suponemos que el amigo no tiene Python)

JS al menos funciona en cualquier navegador, pero Python... al menos en entornos MS/Windows es raro tenerlo instalado si no eres programador, a lo mejor ahora se tiene más, pero hace tiempo... de hecho en GIMP hay muchos guiones que no puedo usar por eso.

m

#157: Y las incompatibilidades, que Python 2 y 3 no son compatibles.
¿Python para principiantes...? Yo creo que es mejor C, enseñado de forma simplificada, con Python también se puede plantear simplificado, olvidando tuplas, diccionarios y todo esa jungla, que estará bien para los avanzados, pero a un principiante lo pierdes.

En general la programación es mejor enseñarla con poquitas cosas, que intentar plantear "construye tu propio robot dialogante, reconoce caras y persigue pelotas azules desde el primer día", y luego hacer todo a base de copiar y pegar código que no se sabe lo que hace. Es mejor aprender el área de un cuadrado, aunque sea así.

float lado;
float area;
printf("Introduce el lado: ");
scanf(&lado);
area = lado * lado;
printf("El área es ");
printf(%f, area);

Eso lo escribes en el hueco del main y listo.

¿Por qué el main? Porque por ahí empieza el código, no hace falta entrar en razones muy técnicas.
¿Porqué el #include? Para que funcionen scanf y printf, tampoco es muy complicado.
¿Por qué ampersand en lado? Ni idea, pero si se hace así se lee lo que meta el usuario y se guarda en lado.
Es cierto que C se complica si quieres hacer otras cosas (por ejemplo, cadenas de texto, memoria dinámica...), pero eso es una oportunidad: saltas a otros lenguajes y aprendes a saltar entre lenguajes, que es algo que siempre hay que saber hacer y es muy importante.

m

#160: Yo lo veo de otra forma:
1) Al explicar eso aprendes que las cosas "no funcionan de la nada", que siempre hay una programación detrás.
2) El código en Python tampoco funciona solo, hay que darle a un botón que lo haga funcionar (en C muchos IDEs permiten compilar y funcionar en un único paso).
3) Eso sí es un poco más chungo, pero tampoco es un gran problema, dices "ponlo ahí y listo".
4) Es una buena ocasión para ir introduciendo un poco las funciones, diciendo que printf es una función como pueda ser nuestro main, que lo programaron otras personas y nosotros podemos podemos usarlo.
5) Es la ocasión perfecta para entender lo que es una variable, que es una casilla donde puedes guardar un número para usarlo luego. Si se enseña a programar hay cosas que hay que conocer. Es como poner un tornillo y no saber qué es una rosca... pues sí, podríamos aprender que girando se mete, pero si se sabe que en una rosca según giras, avanzas... mejor.
6) Sí, se me han olvidado algunos elementos. Pero como antes, es una buena ocasión para saber que a veces nos equivocamos y que no pasa nada, se busca el error y listo. Si enseñas a programar tienes que enseñar que a veces las cosas no salen como esperábamos, no puedes educar a la gente como si fueran ositos de peluche.
7) No, si se lee como float (%f) la conversión es automática, se me olvidó marcarlo. Pero vamos, el %f tampoco es tan raro, si se enseña bien, diciendo que para leer un float tienes que poner eso, si se sabe simplificar bien no es tan complicado. Peor es Python que te mete un salto de línea sin pedírselo, y si no lo quieres tienes que usar una instrucción especial.

float lado;
float area;
printf("Introduce el lado: ");
scanf("%f", &lado);
area = lado * lado;
printf("El área es ");
printf("%f", area);

D

#13 Con virguerías me refiero a concentrar en muy pocas líneas lo que en otros lenguajes llevaría muchas.

navi2000

#25 yo a los 9 con Amstrad CPC 464.. que tiempos!!
GOTO 1988

D

#1 en python puedes añadir tipado estático https://www.python.org/dev/peps/pep-0484/
Pero el problema real que tienes es de testing roll

J

#23 vba es seguramente el lenguaje más utilizado del mundo.

Pero le falta pedigrí

1 2