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

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.

D

#24 tal vez ese método haga demasiadas cosas...

No hay algo parecido a Rubocop para Python? Llámame facha, pero cada vez estoy más en contra del libre albedrío en la programación lol

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.

D

#33 Estoy con Swift a saco ahora, que es lo mejor que he visto en mi puta vida. Veo lo mejor de Ruby, C y JS en él, que son como mundos opuestos con grandes pros y contras. Swift tiene todos los pros y ninguna contra.

j

#34 Apple.

Fuera de bromas, compañeros que trabajan con él dicen lo mismo.

x

#51 No conozco Swift, pero si Objective-C y bueno, que el modelo era el mismo que Smalltalk

D

#51 es open source y personalmente lo ejecuto en proyectos para la RaspberryPi. Te invito a que lo pruebes y te unas

t

#34 Pero ¿Swift es para el universo apple solo? o sirve para otras cosas?

llorencs

#33 Ada no me entró. Se parecía a Pascal pero con más restricciones. Buff, en la UIB te hacian la asignatura de introducción a la programación con ese lenguaje y era un infierno.

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.

PauMarí

#30 uso Python básicamente para tareas de administración de sistemas, en plan scripts para clasificar emails, pasear logs etz, no para aplicaciones "complejas", si tienes en cuenta eso quizá entenderás mi perspectiva.

D

#32 ok, lo entiendo

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.

x

#24 Eficiencia en un interpretado? En lugar de hacer funciones?

Escúcheme, joven. En mis tiempos, sí un procedimiento tenía más de 50 líneas ya era largo.

llorencs

#83 En mis tiempos, si una función tiene más de 30 líneas lo considero largo.

Hay alguna función escrita por mi en Python quen o he sido capaz de optimizarla y supera tu límite de 50, pero lo considero jodida.

Pero, para cosas sencillas, es posible que meterlo todo en un módulo sea aceptable y sea un código que entre dentro de ambas limitaciones (30-50 líneas).

m

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

D

#96 todos lo hacen

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.

D

#99 eso lo puedes hacer igualmente en Python con bucles anidados. C te obliga a usar tipado, declarar las funciones de cierta forma, etc.. que es a lo que me refiero, cada lenguaje te obliga a usarlo de cierta forma.

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.

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.

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

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

box3d

#73 Uso C++11 y llamar portable a eso es columpiarse mucho. Es portable dentro del ecosistema GCC/Clang, que está muy bien y cubre casi todo.

Qt es lo mismo, con la particularidad de que tienes que compilarlo tu (con las putada que tiene) si te sales de x86/x64/Arm.

Portable de verdad sigue siendo solo C89, por desgracia.

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

box3d

#76 No solo de Intel/ARM bajo Windows/Linux vive el hombre. En mi ramo, MIPS/PowerPC/HCS son comunes, al igual que compiladores que no son VC/GCC/Clang.

Lo que limita mucho cuántas moderneces podemos permitirnos. Qt (pagando) lo solemos tener a mano para muchas aplicaciones de interfaz.

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.

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

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)

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

Supercinexin

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

e

#55 si quieres matematicas con mejor rendimiento que matlab/Octave que puedan correr en muchos entornos usa Python y sus librerías y IDEs(numpy,conda). Muchos ya se han pasado de Matlab a Python.

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.

Supercinexin

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

Windows95

#55 PHP: meterle fuego

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?

m

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

daphoene

#86 Es que #72 ha usado símbolos de emoticonos para sordos que parecen barras invertidas.

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

D

#55 >C/C++: Acceso al hardware, portabilidad

Portabilidad: Golang.

Mate: según necesidades. Mathomagic y yacas son hiperligeros y permiten hasta cálculo simbólico básico. Para el resto, tomas los valores y usas gnuplot en ellos.

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"

m

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

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.

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.

p

#1 Puedes poder tipos, com algo parecido a Typescript.

J

#22 totalmente de acuerdo

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.

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

c

#1 test qué?

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.

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.

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.

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.

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

leporcine

#77 hombre, para programar front lo ves peor que python?

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

Supercinexin

#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

marcumen

#6 no te digo ná y te lo digo tó

c

#6 clap clap clap clap clap clap clap

a

#6 De lo cual se deduce que no te gusta que se usen los tabuladores como parte del lenguaje y nada más.

daphoene

#6 Yo si te creo, hermano.

box3d

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

c

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

M

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

r

#57 Ese es el problema con muchas cosas de Python y C++, que tienen muchas decisiones de implementacion que claramente no obedecen a un "todo estructurado" sino a "mira, vamos a hacer esto en esta situacion" por ilogico que resulte.

Eso es deuda tecnica casi por definición y en cuanto tiras codigo como todos los programadores no sepan el funcionamiento exacto de todas las cosas raras... el proyecto está jodido.

Obviamente tambien puede pasar con cualquier otro lenguaje, pero los interpretes y compiladores creativos se dan más en lenguajes debilmente tipados que fuertemente tipados.

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.

navi2000

#92 Facilísimo comparado con el resto, obviamente roll
No lo puedes comparar con el lenguaje natural, PERO estoy seguro de una cosa: para un alumno normal que llega a la universidad con un nivel aunque sea básico de inglés, le resultará más fácil aprender Python que Alemán o Griego. Sin duda.

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.

m

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

box3d

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

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

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.

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)

r

#60 R y python no son tan parecidos, scala se parece mas a R. Y eso de que para hacer IA hay que usar python es más hipster que la leche. Sencillamente no es cierto.

Pero oye... que está de moda, asi que a facturar, yo encantado.

D

#9 Cuál es la desventaja? Si usas VS Code o similares te dibuja los bloques, es como que se crean automáticamente.

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.

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.

D

#50 Iré mirando y a ver qué tal se me da. Pero empezaré con una introducción a la programación. Más que nada, para tener conceptos claros. Gracias #40 #41 #43 #50 (los que vengan después, si vienen).

llorencs

#23 VBA es hateful a matar. Pero sí, si trabajas con Excel es una buena manera.

D

#47 Completamente de acuerdo, odio VBA pero muchas veces es la manera mas facil y directa de trabajar con archivos Excel.

J

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

Pero le falta pedigrí

r

#23 Mi consejo es que si vais a hacer tareas cotidianas, useis un lenguaje fuertemente tipado

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.

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.

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.

D

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

D

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

losuaves

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

Z

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

r

#27 Si, ese es uno de los grandes problemas, en mi equipo lo llamamos "hipsterisco programático"... y es pecado mortal para proyectos con un codebase grande

emilio.herrero

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

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.

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.

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.

navi2000

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

pip

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

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.

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.

llorencs

#66 Ok . Pues yo básicamente he hecho cosas pequeñas, y sí me es muy útil.

Si me dejan tiempo quiero pasarlo todo a web y eso sí que será más grande. Calculo que es posible que llegue a los 50.000 LOC, pero no tiene porque sería microservicios independientes.

r

#66 hombre, si lo tienes estructurados en clases, con nombres intuitivos y la jerarquia de tipos es lógica y manejable supongo que sera mantenible... a pesar de que por el hecho de ser debilmente tipado mirando a un solo metodo siempre tendras la duda de que coño de tipo tengo aqui.

eldarel

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

r

#38... hombre yo no compararia yaml como lenguaje declarativo y de configuracion con el codebase de un proyecto que tenga 50000 lineas estructurado en metodos, clases, paquetes logicos, fisicos... nu se rick

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.

PauMarí

#54 yo es que empecé "a lo clásico", con Logo
La verdad es que se debería empezar con pseudocodigo pero entiendo que si no ves resultados palpables según que tipo de alumno enseguida perderá el interés

J

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

X

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

D

No soy un loco de python pero python sin duda es un gran lenguaje

D

No tengo ni idea de programar. ¿Es relativamente fácil aprender Python? Pregunto a los iniciados/pros. Thanks.

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

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.

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

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.

D

#39 Es flexible para hacer muchas cosas rápido, pero creo que no es lo mejor para aprender porque pueden pasar cosas raras sin que aparezca un error. Mejor otros lenguajes más rígidos si lo que quieres es aprender programación en si.

r

#39 no, no la lies, empieza por un lenguaje fuertemente tipado... ni caso a los hipster de "python es lo más facil para empezar" que eso no es verdad. Luego asi te viene la gente que no tiene ni idea de la diferencia entre una variable o un tipo.

l

#39 Antes de que empieces con Python, échale un ojo a Ruby, que es parecido pero, simplemente, mucho mejor.

Noesis

Me encanta Python y lo uso en mi trabajo de backend para un propósito muy específico: Automatizar tareas tanto en entornos Unix como Windows.
Desarrollar los mismos scripts en Perl me llevaría más tiempo (no tengo una base del mismo) y desarrollar en KSH me entra cáncer de sida, aunque a veces no hay más remedio

l

#31 Prueba Ruby

1 2