poder de python

amarzal en lsi.uji.es amarzal en lsi.uji.es
Jue Abr 12 08:15:10 CEST 2001


Me presento. Soy Andrés Marzal, un profe de
la Universidad Jaume I de Castellón (España).
Tengo bastante experiencia con el Python.
Actualmente lo enseñamos como primer lenguaje
a nuestros alumnos de primer curso de las
ingeniería informáticas (primer semestre con
Python y segundo semestre con --¡horror!-- 
Pascal). También lo he usado durante 3 años
en una asignatura de diseño y construcción
de compiladores con alumnos de quinto curso
de ingeniería informática. En un terreno
más "profesional", hemos construido (Juan
David Ibáñez y yo) un sitio web con Python 
(bueno, con Zope) que podéis visitar en 
http://lleu.uji.es .
 

Emilio Alejandro Sánchez wrote:
> 
> On Wed, 11 Apr 2001, [iso-8859-1] Alejandro G. Sánchez Martínez wrote:
> 
> > Me quede igual, la pregunta concreta es .
> > ¿Que tan factible es python para hacer un programa de manejo de quequeras, y
> > facturación?
> > digo, con C o C++ se puede, pero python tiene esa capacidad, es equiparable,
> > o para que si utilizarían python y para que no.

Es perfecto para lo que dices. Cualquier cosa que vayas a hacer con
C/C++ puedes
hacerla con Python. Bueno, exceptuando cosas de "bajo nivel" (me refiero
a
hacer cochinadas con la memoria o con particularidades de tu máquina) y
aún para
esas hay técnicas (avanzadas) con las que podrías utilizar Python en
combinación
con el C.

>    Yo tambien estoy empezando con python, mas que empezando diria que
> estoy "mirando a ver si vale la pena". De todas formas si no me han
> enganyado python es un verdadero lenguaje de programacion. Es decir no es
> un lenguaje de scripting para salir del paso o procesar ficheros de
> textos.

Te han informado bien. Python es un lenguaje de programación completo y,
además, 
"viene con pilas",  como se dice en la comunidad para indicar que la
distribución 
estándar tiene un riquísimo conjunto de librerías que te permiten
concentrarte 
en desarrollar el código de tu aplicación, y no en reinventar la rueda
una y 
otra vez.

> Exiten modulos para casi todo, tratamiento de ficheros, llamadas al
> sistema, interfaces graficos, sockets, complicadas operaciones
> matematicas, estadisticas, modulos para simulacion, etc... Tambien, si no
> me equivoco, es un lenguaje orientado a objetos y dispone de mas medios
> para control de errores que C.

Si. Es orientado a objetos, pero sin el dogmatismo de otras
aproximaciones
como Java o Smalltalk y sin la pesadez del tochazo-C++.

>    El caso es que, como decia antes, si es un lenguaje de programacion
> debe ser apto para abordar cualquier tipo de problema. No es ni mejor ni
> peor que C o C++, simplemente es diferente. Es cuestion de considerar si
> las ventajas e inconvenientes de elegirlo frente a C benefician a nuestra
> aplicacion. En python se tienen estructuras como arrays dinamicos y
> diccionarios que en C deberias implementar, por otra parte es un lenguaje
> interpretado (ya se sabe lo que dicen de la velocidad) pero ahorra tiempo
> a la hora de programar.

Ojo. Creo sinceramente que el lenguaje es mucho mejor que el C... si no
te
importa mucho la velocidad. Quiero decir que ciertas aplicaciones pueden
permitirse el lujo de no ir a toda leche porque, por ejemplo, tiene
mucha entrada/salida o interacción con el usuario. Ahí el Python es
excelente. Ahora, para desarrollar programas en los que hay mucho
cálculo,
el Python-a-pelo no es apropiado. Pero si usas las librerías
disponibles,
puede sí lo sea. Depende. 

>    Yo tengo experiencia con C pero no con python y por eso me decantaria
> por C o Perl, pero he visto que en el fondo python tampoco se diferencia
> tanto de C lo que implicaria un corto periodo de aprendizaje y si de
> verdad tiene tantas librerias que hacen de todo, puede ser una buena
> opcion.

Te aseguro que si te lees el tutorial de Guido van Rossum, estarás
codificando en Python a las pocas horas. Recientemente, Tim Berners-Lee
(si no me equivoco) definió a Python como el único lenguaje que se puede 
aprender en el tiempo que dura la batería de un portatil (por su propia 
experiencia).

Cuando programo con Python nunca "repaso" el manual del lenguaje. Sólo
tengo abierto un navegador con el manual de las librerías (que son
muy buenas). Cuando programa en Perl (estuve con él un par de años)
siempre tenía a mi vera el libro del camello. Dudaba constantemente
acerca de cómo decir algo en Perl o de qué haría el Perl exactamente
ante ciertas instrucciones o de con qué carácter se representaban
variables "estándar" del programa (qué locura).

>    Resumiendo: bajo mi punto de vista me parece que python es
> perfectamente capaz de abordar un programa como el que presentas. Aun asi
> me gustaria que te diese su opinion algun lector de la lista con mas
> experiencia programando en python. Aunque la lista es muy nueva alguno
> habra, no?

Pues eso. Si os vale la mía, ahí la tenéis.





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