Python vs Java C C++

Ernesto Revilla aerd en retemail.es
Dom Mar 21 16:32:26 CET 2004


----- Original Message ----- 
From: "Hernan Foffani" <hernan en orgmf.com.ar>
...
> > ... El evitar tener que rearrancar el software lo
> > hace realmente más escalable. En vez de empresas con 5 puestos puedo
> > ponerselo a los que tengan 20 ó 30.
> 
> Concuerdo contigo.  Pero en ese caso ¿es necesario que TODO el
> servidor de aplicacion sea actualizable en tiempo real? (por TODO me
> refiero a todos los modulos del sistema.)
> ¿no te sería mas fácil reducir la capacidad de hacer modificaciones
> en caliente a solo una parte del mismo? (la que da servicios a
> usuarios)

sí, en principio sólo se reduce a una parte pequeña de la aplicación, 
que son las clases de negocio, pero de los cuales puede haber
60 ó 70 y que viven normalmente en el mismo directorio y que
además siempre van a ser 'from NombreEntidad import NombreEntidad'. 

Acabo de probar:
>>> class MiObjeto(object):
            def metodo(self):
                print "implementación 1"
>>> mo=MiObjeto()
>>> class MiObjeto(object):
            def metodo(self):
                print "implementación 2"
>>> mo.__class__=MiObjeto
>>> mo.metodo()
implementación 2

bajo Python 2.2 y 2.3 y me funciona bien, lo que me puede servir. Lo que no funciona (en Python 2.3) es:
>>> class MiObjeto(object):
            def metodo(self):
                print "implementación 1"
>>> mo=MiObjeto()
>>> class MiObjeto(object):
            def metodo(self):
                print "implementación 2"
>>> mo.__class__.__dict__.update(MiObjeto.__dict__)
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in -toplevel-
    mo.__class__.__dict__.update(MiObjeto.__dict__)
AttributeError: 'dictproxy' object has no attribute 'update'

ni me deja actualizar cambiar el atributo __dict__ (reemplazarlo por otra copi)

Erny




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