¿Python nos hace acostumbrarnos a la bueno?

Iniciado por Yidu, 3 Marzo 2019, 14:21 PM

0 Miembros y 1 Visitante están viendo este tema.

tincopasan

Citar

Precisamente, la necesidad de tener que depender de una IDE con auto-formato de indentación para minimizar o eliminar los efectos negativos causados por esta regla de indentación hacia el tiempo de productividad del programador, no justifica de ninguna de las maneras la existencia de dicha regla. La regla sigue ahí, la obligación sigue estando presente, solo que puede ser en parte ignorada en el sentido de darle menor o nula importancia a dicha regla mientras se utilice una IDE que indente por ti y así no te haga perder el tiempo en indentar manualmente cuando sea necesario.

Pero el caso es que hay muchos programadores que poseen los conocimientos suficientes de Python como para no necesitar depender de una IDE para desarrollar scripts muy simples, ¿y que pasa si yo deseo coger el notepad y ponerme a escribir un script de digamos 30 o 40 lineas y
Eleкtro: perdón, pero cualquier desarrollador que se precie, usa un IDE, y no solo eso, sino que se busca el mejor! Es cierto que con la porquería de notepad se pueden hacer scripts(como los que creen que programan en bat) , pero un ide bueno no solo tiene autoidentado, sino que es debuger, completa la sintaxis, colores identificativos,ayuda de funciones, etc. todo ello lleva a menor tiempo de escritura y búsqueda de errores(si alguien no los comete, no le ceo).Aunque sea una línea, ni  loco la hago en algo que no sea un ide. por otro lado la mayoría de los lenguajes por más simples usan un ide, que por otro lado es genial, te ahorran dolores de cabeza y tiempo. y la regla está, pero tampoco es tan grave, mirá otros lenguajes, algo básico, declarar el tipo de variable, cadena,entero,float,array,etc. en python no es necesario, podría decirte que es una regla molesta, pero no lo hago, porque simplemente son dos lenguajes distintos. Sé que python no te gusta y lo entiendo, pero no tiene nada tan grave para quien lo usa.
Saludos.

Serapis

Básicamente opnio como la mayoría...

Cita de: MCKSys Argentina en  3 Marzo 2019, 21:05 PM
... para algunas cosas. En esos casos, salto bruscamente a ASM (incluso mi amado VB6).
Me pasa igual, aunque he usado VB6 mucho profesionalmente a día de hoy, lo uso más por hobby que por otra cosa.

Yo huyo bastante de C y Java, básicamente por que son herederos de Pascal, y no se han 'actualizado' a los tiempos... En tiempos en los que disponer de 4Kb. de memoria era 'el no va más', ahorrar caracteres era primordial, así el hecho de que las sentencias incluyan a diestra y siniestra: '(' ')' '{' '}' en vez de los 'verbosos',  'End loquesea' y ';' en vez de un simple salto de línea y continuar con otra sentencia... implicaba poder escribir código más escueto, más líneas de código en la reducida memoria de entonces, pero lamentablemente a costa de la complejidad para el programador, más errores 'tontos', más tiempo repasando correcciones (innecesarias en otros lenguajes). En aquellos tiempos tenía su lógica, hoy no...

Así que lo que el autor del hilo llama 'acostumbrarse a lo bueno', lo llamo eficiencia y claridad en la redacción del código... al costo de un texto un poco más largo.

Serapis

Cita de: Yidu en  3 Marzo 2019, 21:05 PM
Todos sabemos que python, muchas veces, te da las cosas casi hechas. Y no es raro ver a gente que dice que domina un lenguaje o varios, y en cambio, no sabe hacer algoritmos de ordenacion, ni estructuras de arboles o grafos. Porque claro, si solo nos limitamos a conocer las estructuras simples es muy facil decir que uno domina mil lenguajes.
Confundes (pasa habitualmente), el lenguaje con las extensiones del lenguaje.

Un lenguaje por lo común se remite a unas pocas decenas de 'keywords', y una especificación que explica cada parte que compone el lenguaje. Eso es el lenguaje, el resto son extensiones del lenguaje que simplemente lo enriquecen. Es decir programas librerías que extienden la utilidad del lenguaje.

De hecho cuando un lenguaje carece de ciertas extensiones lo primero que hace uno es crearse alguna que otra librería justamente con esa funcionalidad que uno acostumbra a usar y de la que el lenguaje que estés usando carece. en definitiva tú mismo estás creando tus propias extensiones.

Yidu

Cita de: Eleкtro en  3 Marzo 2019, 22:58 PM
Pero el caso es que hay muchos programadores que poseen los conocimientos suficientes de Python como para no necesitar depender de una IDE para desarrollar scripts muy simples, ¿y que pasa si yo deseo coger el notepad y ponerme a escribir un script de digamos 30 o 40 lineas y lo quiero hacer lo más rápido posible simplemente para testear el resultado de ejecución del script?, ¿y si precisamente no deseo hacer uso de la indentación por que es un simple script de prueba y por eso quiero ignorar la idnentación para aumentar al máximo posible mi productividad ya que además pretendo hacerle cambios a cada rato a ese código hasta obtener el resultado esperado?

Respeto tus argumentos, pero creo que se tarda lo mismo en abrir el notepad o el bloc de notas a un IDE. No quiero dejar mal a ninguno de ellos, pero es cierto que algunos consumen tantos recursos que necesitan un dia para abrir el editor y trabajar en el. Yo suelo usar el Geany cuando quiero testear algo rapido. Ya que es muy ligero y no va cargado de absurdeces. Y la verdad, no le veo tanto problema con la indentacion que se hace sola. Otra cosa son las llavecitas del C que has de tirar de combinacion de teclas, y a mi modo de ver, crear un codigo caotico.

En si, el hilo versaba sobre esto. Ya comente que no se trataba de que lenguaje era mejor o peor. Sino, que cuando uno ve la simpleza del codigo en python, cuesta acostumbrarse a otros lenguajes. Y entonces tenia curiosidad si alguien que hubiera programado toda la vida en C++ le pasaba algo parecido al usar python. O en cambio, se sentia aliviado utilizandolo.

Como bien dice tincopasan, tampoco se debe declarar el tipo de variable en python. Y claro, esto si que es improductivo comparado con la indentacion de python. Yo veo el codigo redundante. Aqui no se trata de convecer a nadie de que lenguaje es mejor o peor. Yo por supuesto me quedo con python sin lugar a dudas. Solamente que al acercarme a C++, pense...joer, como se complican la vida con la sintaxis. De ahi el titulo de que uno se acostumbra a lo bueno.

Yidu

Cita de: NEBIRE en  4 Marzo 2019, 18:20 PM
Confundes (pasa habitualmente), el lenguaje con las extensiones del lenguaje.

Un lenguaje por lo común se remite a unas pocas decenas de 'keywords', y una especificación que explica cada parte que compone el lenguaje. Eso es el lenguaje, el resto son extensiones del lenguaje que simplemente lo enriquecen. Es decir programas librerías que extienden la utilidad del lenguaje.

De hecho cuando un lenguaje carece de ciertas extensiones lo primero que hace uno es crearse alguna que otra librería justamente con esa funcionalidad que uno acostumbra a usar y de la que el lenguaje que estés usando carece. en definitiva tú mismo estás creando tus propias extensiones.

Pues fijate que yo lo veo al reves. Esta claro que yo tambien he usado librerias de python. Pero creo que a veces se recurren demasiado pronto a ellas. Entonces, de esa forma, es muy facil decir que se conocen muchos lenguajes. Porque como dices tu, la mayoria de los lenguajes se basan en lo mismo...bucles, cadenas, condicionales, clases, funciones, etc...

Ahora se puede ver con la inteligencia artificial y el machine learning. En python ya hay ingentes librerias sobre estos temas. Y muchos programadores recurren a ellas sin saber poco o nada de arboles o grafos. Ya que estos estan implementados en ellas. No digo que se deba reinventar la rueda, pero al menos tener unos minimos antes de recurrir a estos modulos o librerias.

Serapis

Citar...Y muchos programadores recurren a ellas sin saber poco o nada de arboles o grafos. Ya que estos estan implementados en ellas. No digo que se deba reinventar la rueda, pero al menos tener unos minimos antes de recurrir a estos modulos o librerias.
Al principio los programadores allá de los años 50, no querían ni oir hablar de lenguajes de alto nivel ni programas ya escritos. Para ellos, todo el que no supiera tratar en modo máquina era un lego en la materia, un intruso... En realidad temían que si cualquiera pudiera programar ellos perderían su trabajo.

No ha cambiado mucho esa visión a día de hoy. Sigue habiendo gente que cree que un programador es tal o cual cosa y si no, es un intruso, pero nos guste o no (y que conste que yo creo que un programador (que aspire a ser profesional), debe tener una base profunda y detallada), la programación no es un fin en sí mismo, sino un medio, una herramienta de la que nos valemos para lograr otras cosas, por lo que es imparable su curso, ni puede ser 'retenido' o circunscrito a determinados baremos (estos irán y vendrán y cambiarán con el tiempo, para bien, para mal, vuelta a cambiar) ...lo que quiere decir que cualquiera que pueda valérselas para dar solución a un problema es un 'programador' y su 'producto' válido...

Más claro... no es preciso saber como funciona el motor ni otras partes mecánicas de un vehículo para ser conductor. Y a nivel de programación acabará pasando lo mismo, porque como comentaba al inicio de este mensaje es algo que ya pasó en sus inicios y diría que ha pasado y pasará en cada generación. Llegará un momento, en que la especialización será nula, pero las herramientas tan genéricas que todo el mundo será programador de una manera u otra, es decir como herramientas todo el mundo será capaz de usarlas, aunque luego solo unos pocos alcancen en profundidad a saber como funciona (como los mecánicos con los vehículos).

Aguijon_zerO

#16
Como persona que aprendio en el lenguaje C y paso a Python con el tiempo, te respondo muy simplemente: NO.

No es facil para una persona que viene de un lenguaje de bajo nivel meterse en el mundo de Python.

Al principio Python te seduce con su "hola mundo" simplon y facil, pero es una trampa, cuando venias de definir todo con parentesis, corchetes, puntos y comas, y te estrellas con que en python tan solo haber tabulado y espaciado en una misma linea te arrojo el programa entero a la mierd@, es suficiente para que una persona que viene de lenguajes como C y C++ piense seriamente en arrojarse por la ventana del quinto piso..

                                                                                     :xD :xD :xD :xD

La sintaxis de python requiere un buen tiempo de adaptacion si vienes de otros lenguajes, por que todo es muy intuitivo pero no tan definido. Tan solo pasar de python 2 a python 3 me causo unas buenas jaquecas y provoco unos puñetazos a la pantalla del ordenador.


SIMPLE NO SIEMPRE ES LO MISMO QUE FACIL.



Cita de: Eleкtro en  3 Marzo 2019, 20:01 PM
Pero desde luego si hay algo que Python no hace nada bien, es la "ley de indentación obligatoria por que me sale de los cojones", creo que dentro de Python no hay regla más tediosa e improductiva en términos de tiempo de desarrollo... a menos que uses una IDE que lo haga por ti sin que debas hacer esfuerzo alguno para indentar cuando se te obligue a hacerlo, claro está.


¿ley de identacion por que me sale de los cojones?  .. No se si viviste debajo de una roca todo este tiempo pero hoy la tendencia de la industria es priorizar la legibilidad por encima de la comodidad del programador... la identacion obligatoria ayuda a la estandarizacion, es incomoda pero necesaria..

Si vas a hacer cualquier proyecto en grupo y tus compañeros ven que no identaste, te expulsan del proyecto y te escupen.

Justamente python tiene como objetivo dejar por fuera a los flojos que no les gusta identar, ya que en otros lenguajes a algunos bobos les gusta hacerse los listillos dejando el codigo enredado sin identar y con complejidades innecesarias para que solo quien las escribio las entienda. Estos comportamientos no le aportan nada a la industria del software y por eso Python se ha popularizado tanto.
                                                           

Cita de: tincopasan en  4 Marzo 2019, 10:07 AM
Eleкtro: perdón, pero cualquier desarrollador que se precie, usa un IDE..

Eso es falso... no tomes una opinión personal como una verdad.
Saludos.
HACKING / CiberSecurity:
https://seguridadaguijon.blogspot.com/

Eleкtro

#17
Cita de: Pregunton7 en 12 Marzo 2019, 21:39 PM
¿ley de identacion por que me sale de los cojones?  .. No se si viviste debajo de una roca todo este tiempo pero hoy la tendencia de la industria es priorizar la legibilidad por encima de la comodidad del programador... la identacion obligatoria ayuda a la estandarizacion, es incomoda pero necesaria..

No se si sabes leer o simplemente te falta coeficiente intelectual para diferenciar entre obligación y recomendación.

Aquí nadie está hablando de tendencias ni de indentación opcional, sino todo lo contrario, pero tu a lo tuyo, a ser maleducado con los demás; luego no te quejes por que te respondan con el mismo trato que el tuyo. Tampoco caigas en el error de suponer que si alguien critica negativamente esta regla/obligación de Python es por que esa persona es un "guarro" que no indenta y que hace códigos espaguetti ininteligibles, en mi caso es todo lo contrario, de hecho, soy un perfeccionista del orden (por no decir un maniático u obsesivo), simplemente critico las obligaciones innecesarias que deberían ser opcionales.

Un saludo.








Aguijon_zerO

Cita de: Eleкtro en 12 Marzo 2019, 23:25 PM
No se si sabes leer o simplemente te falta coeficiente intelectual para diferenciar entre obligación y recomendación.

Aquí nadie está hablando de tendencias ni de indentación opcional, sino todo lo contrario, pero tu a lo tuyo, a ser maleducado con los demás; luego no te quejes por que te respondan con el mismo trato que el tuyo. Tampoco caigas en el error de suponer que si alguien critica negativamente esta regla/obligación de Python es por que esa persona es un "guarro" que no indenta y que hace códigos espaguetti ininteligibles, en mi caso es todo lo contrario, de hecho, soy un perfeccionista del orden (por no decir un maniático u obsesivo), simplemente critico las obligaciones innecesarias que deberían ser opcionales.

Un saludo.

No me referia especificamente a ti, pero si te sentiste aludido por algo sera..
HACKING / CiberSecurity:
https://seguridadaguijon.blogspot.com/

tincopasan

CitarEso es falso... no tomes una opinión personal como una verdad.
jajaja claro, porque vos si sos dueño de la verdad!