Acerca de python

Hanlle Nicolas hanlle.nicolas en gmail.com
Lun Nov 13 03:22:02 CET 2006


> Hanlle Nicolas escribió:
> > de que el pentagono use x lenguaje no significa que
> > sea la ostia..
> correcto
> > ademas saber mas de 80 lenguajes de progrmacion no te
> > hace buen programador eso es absurdo..
> pero ayuda a que puedas compararlos mejor:
> - Tipado estatico vs tipado dinamico
> - Tipado fuerte vs tipado debil
> - Orientacion a objetos, funcional, declarativo, todas las anteriores.
> - Compilado vs interpretado
> - si es real time o no
> - comodidad de sintaxis
> - rendimiento
> - ...
>
> Hay muchas caracteristicas con las que valorar un lenguaje. A mi me
> gusta (salvo que tenga que sacrificar cosas)* uno que tenga lo siguiente:
> - Tipado dinamico para no tener que andar declarando el tipo a cada rato
> - Tipado fuerte para no tener que aprenderme una barbaridad de
> operadores como en perl (ejemplo:los de cadena y los de numeros en
> contexto escalar)
> - Que sea multiparadigma y pueda elegir la programación funcional u
> orientada a objetos segun me convenga
> - Que sea interpretado para no tener que andar compilando (a no ser que
> el rendimiento sea algo necesario)
> - No me importa si es real-time o no, porque no suelo hacer el tipo de
> aplicaciones que lo requieren
> - que tenga una sintaxis comoda. El que siempre este bien tabulado como
> es el caso de python tb mola.
> - si se ejecuta rapido mejor que mejor. aunque normalmente suelo valorar
> más mi tiempo que el de la maquina.
> - que las variables se liberen automaticamente y te salven de memory
> leaks desagradables
> - ...
> * hay veces en las que el C es la mejor opcion, aunque no sea la más
> comoda, por temas de rendimiento.
> > y la verdad mi comentario solo
> > va por que no he encontrado nada que no pueda hacer con perl..
> Es lo que tienen los lenguajes turing-completos, que con todos ellos se
> pueden llegar a hacer lo mismo.
> He llegado a ver incluso una manera de computación turing-completa con
> maquetas de trenes que pueden computar lo mismo que tu perl :-P
> La diferencia no esta en lo que se pueda hacer o no, sino en la forma de
> hacerlo. Prefiero python a perl por varias cosas:
> - el tipado fuerte me gusta mas que el debil.
> - en perl no es que hay más de una manera de hacerlo, hay demasiadas:
>   *Ejemplo (para que dos "o" distintos):
>   my $var = ( $asignada or $defecto ); #Hay que poner los parentesis
> para que tenga sentido
>   my $var = $asignada || $defecto;
> - me gusta el que las funciones se llamen con los parametros entre
> parentesis:
>   * Ejemplo (explicacion de los dos "o" distintos):
>   procesar_fichero $fichero, $data or die "Va a ser que algo esta mal";
> #muy parecido al lenguaje humano
>   procesar_fichero($fichero, $data) || die "Va a ser que algo esta mal";
> #el operador || tiene preferencia sobre la ,
> - es mas facil ver el codigo de alguien sin ser un puto juasquer del
> lenguaje:
>   * Ejemplo simple de perl:
>   while(<>){                 #Itermos sobre el canal de entrada por
> defecto (magia).
>     print $_ unless /^#/;    # Imprimimos la variable por defecto (mas
> magia) siempre que no sea un comentario
>   } #Conciso, siempre que no tengas que explicar de donde sale la magia
> - Odio la magia de las variablas que aparecen como de la nada ( $_, @_,
> $`, $&, $', ...)
> - Odio el codigo de los one-liners, aunque reconozco que es comodo para
> hacer una cosa de usar y tirar.
>   Ejemplo anterior, con más magia todavia: perl -ne 'print $_ unless
> /^#/;' < fichero_a_quitar_comentarios
> - Odio meter millones de caracteres a cada rato. El teclado español y
> perl es una combinacion que genera artrosis (sobre todo si ademas lo
> programas en emacs :-P)
> - Adoro la terminal de python para probar codigo; aunque se pueda hacer
> un apaño con el eval en perl, no es lo mismo.
> - Me gusta más el manejo de las listas en python
> - ...
> > y hasta
> > ahora solo me ha decepcionado..esperaba algo mas..que progrmacion
> > orientada a objetos?...
> map, reduce, filter, ... extrañas funciones para un lenguaje orientado a
> objetos.
> http://www.diveintopython.org/functional_programming/index.html
>
> programacion logica (o declarativa) como en prolog
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/303057
>
> > mas bien sera un intento ..pero nada
> > exacto..
> o quiza no es un intento, más bien un lenguaje multiparadigma
> > para que usas python..?
> Para muchas cosas. Es muy versatil. Desde programas para la web,
> interfaces de ventanas, pequeños scripts, como substituto del comando
> bc, ...
> > ..en que tienes experiencia?,
> java, javascript, python, ...
> > te has tomado la molestia de mirar otros lenguajes y compararlo en
> > base a tu trabajo?..
> Si, python es una forma rapida de hacer codigo mantenible y util.
> > bueh eso es lo que hago..y python n o ha salido
> > tan bien librado...
> es lo que tiene no haberlo aprendido o hacer unas extrañas comparaciones:
> - perl es (casi siempre) mas conciso que python, aunque python sea muy
> conciso
> - ruby&rails o php son guays para la web. Personalmente, yo si fuese tu
> miraria Catalyst (perl) o turbogears (python). Para que aprender un
> lenguaje para hacer gilimingadas web si con perl o python lo puedes
> hacer todo.
> - visual basic o delphi molan para hacer aplicaciones de ventanas
> rapidas y hacer un instalador de windows muy rapido. Cierto es que en
> python tienes que elegir si usar gtk, wxWindows, tk, ... Pero hacer
> paquetes de distribucion es facil (compilados y con su instalador) en
> windows, pero tambien para otras plataformas con las setuptools de python.
> - c es mucho más rapido que python. Innegable, pero es facil usar
> librerias en C desde python gracias a swig (se que esto no es ventaja
> sobre perl).
> - python es facil de adoptar para alguien que viene de java (mi caso),
> pero no para alguien que viene de perl (tu caso y algun otro que conozco)
> - ¿?
> python no suele ser el mejor parado en las comparaciones individuales,
> pero si comparamos en global, si que sale muy bien parado. Python es un
> lenguaje que solventa las papeletas de forma adecuada en muchas
> situaciones. Si no tienes tiempo de aprenderlo todo, quiza python sea la
> mejor opcion.
> > quizas sea excelente para otras cosas..pero para
> > administracion de sistemas me quedo con el otro...
> shell script es algo que nunca descarto. Pero para cosas un poco mas
> elaboradas, python o perl (depende de quien mas tenga que usar los
> scripts) son mis elecciones.
> > y para crear
> > contenido dinamico tambien con el otro..
> No se cual es el otro. Pero turbogears (http://www.turbogears.org) me
> tiene enamorado.
> > y que viva python!!..
> por mucho tiempo
> > que
> > seguro es bueno para otra persona o para otras cosas..
> para otra persona (yo) es bastante acertado
> > pero a mi no me
> > embrujo =(...de todas formas seguire  mirando un poco mas....salu2 .
> miratelo con calma y veras que:
> - podras hacer script casi tan concisos y rapidos de hacer como en perl
> - podras crear aplicaciones graficas y sus distribuibles casi tan rapido
> como en delphi.
> - los programas que hagas podran ser muy portables.
> - podras crear webs tan rapido como con rails
> - comprenderas por que a tanta gente nos gusta python (y es posible que
> te acabe gustando).
> - es posible que cuando salga parrot puedas ejecutar el codigo de python
> en el e interoperar con codigo de perl.
> - ... quien sabe que mas ;-)

jajajaja ...excelente, gracia..Dios te bendiga =)


-- 
    .~.
   ( 0 0 ) Amo la libertad..
   /  V  \
  //       \\          "Free as freedom"
/((   _    ))\
  oo0 0oo    MSN: deception en hackermail.com




Más información sobre la lista de distribución Python-es