[Python] [ANNOUNCE] uWSGI 1.0

2011-12-30 Per discussione Roberto De Ioris

After 2 years of development, the uWSGI project is at 1.0

This major release focuses on adaptive process spawning (--cheaper mode),
the new stats framework, Mules and an incredible amount of bug fixes and
code refactoring.

Changelog:


- adaptive process spawning (--cheaper option)

- new control options --stop, --reload, --suspend, --resume, --pause

- stats framework

http://projects.unbit.it/uwsgi/wiki/StatsServer

- new subscription system

- support for mime types in static file serving

- posix capablities support

http://projects.unbit.it/uwsgi/wiki/Capabilities

- uWSGI mules and farms

http://projects.unbit.it/uwsgi/wiki/Mules

- support for multiple --touch-reload options

- new logging subsystem

- new custom locking subsystem

http://projects.unbit.it/uwsgi/wiki/Locks

- process name handling

- better (and faster) HTTP parser

- perl and python threading improvements

- new plugins: rrdtool, carbon, cgi, php

http://projects.unbit.it/uwsgi/wiki/Carbon
http://projects.unbit.it/uwsgi/wiki/CGI
http://projects.unbit.it/uwsgi/wiki/PHP

- various improvements in the Rack/ruby plugin

http://projects.unbit.it/uwsgi/wiki/rubyDSL

- Linux KSM support

http://projects.unbit.it/uwsgi/wiki/KSM

- refactored ping and nagios plugins

- support for signals in lazy mode

- optimized static-file serving

- support for linux unshare()


You can download the tarball from

http://projects.unbit.it/downloads/uwsgi-1.0.tar.gz

* Special Thanks *

Lukasz Mierzwa for its incredible amount of test reports with complex
configurations

Giacomo Bagnoli for the KSM idea

Graham Dumpleton (mod_wsgi/newrelic) for help in addressing various
threading issues in the python plugin

* Issues *

A bunch of patches are left out from 1.0, they will be committed in the
future

- you cannot compile the rack plugin with the spooler disabled

- the httprouter subscription system is not solid as the fastrouter one -
support for multiple perl interpreters is post-poned to 1.1

- the graphite/carbon plugin should export more metrics

* Notes *

uWSGI 1.0 is the new LTS release

KSM does not grant you memory gain, it is completely app-dependent

The ruby/rack plugin has an extremely aggressive GC policy, do not expect
extreme performance without tuning it

If you run uWSGI on some hosting provider/PaaS supporting only HTTP, be
sure to use --http-socket instead of --http (extreme performance gain)


Bye

-- 
Roberto De Ioris
http://unbit.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlos Catucci
 Ad esempio:

 var n:Number = 47;

 E se provi ad inserire una stringa in n, AS si incacchia di brutto
 mentre JS te lo permetterebbe senza fiatare.


Beh se in python scrivi

a = 10

e poi

a = 'pippo'

non batte ciglio. Ha semplicemente rimosso la prima variabile che si chiama
a e creata una seconda dell'altro tipo. Pero' se provi a fare

a = 10
b = 'pippo'
c = a+b

si incazza

Non so, ma la tipizzazione statica e' roba dei linguaggi C based (e manco
tutti).
Non dico sia sbagliata, se devi scrivere listati di decine di migliaia di
righe e' indispensabile per non fare casini. In Python non servirebbe e
quindi non c'e'.

Carlos
-- 
If you have no voice, SCREAM! If you have no legs, RUN! If you have no
hope, INVENT!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlos Catucci
IMHO se Python dietro a se avesse una grande multinazionale (Google?)

 che offrisse un'ambiente di sviluppo RAD alla Visual Studio per
 scrivere applicazioni Desktop e Django multipiattaforma, farebbe
 faville. L'unica cosa simile che ho visto è SharpDeveloper che
 consente di creare applicazioni .NET programmando in Python:
 semplicissimo da usare, anch'io senza sapere una fava di Python sono
 riuscito a costruire uno o due programmini scemi con interfaccia
 grafica, ma ha l'ovvio (ed enorme) limite di poter creare applicazioni
 che possono girare solo sotto Windows con .NET framework installato;
 IronPython non l'ho mai provato.


Da quanto ho capito di IP si integra con l'IDE di VS. Ma scrivere in python
e poi non poter usare i benefits del Python (tra cui l'interprete) mi
sembra una auto limitazione.

Carlos
-- 
If you have no voice, SCREAM! If you have no legs, RUN! If you have no
hope, INVENT!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Giovanni Porcari

Il giorno 30/dic/2011, alle ore 10:25, Carlos Catucci ha scritto:

  Ha semplicemente rimosso la prima variabile che si chiama a e creata una 
 seconda dell'altro tipo.

Come non  mi piace come descrizione...

G.



___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Giovanni Porcari

Il giorno 30/dic/2011, alle ore 11:06, Nicola Larosa ha scritto:

 Ok, non è il succo del tuo discorso, ma non posso lasciarlo passare. :-)
 
 Carlos Catucci wrote:
 Beh se in python scrivi
 
 a = 10
 
 e poi
 
 a = 'pippo'
 
 non batte ciglio. Ha semplicemente rimosso la prima variabile che si 
 chiama a e creata una seconda dell'altro tipo.
 
 No.
 
 Devi fare una distinzione tra nome e valore. a è un nome, non una
 variabile. 10 e pippo sono valori.
 
.

Grazie Nicola: ero troppo pigro per dire questo e poi ero certo
che qualcuno più autorevole di me avrebbe colto l'occasione per
dettagliare la differenza tra objectspace e namespace e per
illustrare una delle principali 'illuminazioni' che un pythonista
deve avere per definirsi tale.

Insomma dimenticarsi il concetto di 'variabile' e usare quelli
di label e object è stata una delle più importanti lezioni
che il grande V mi ha dato e ne faccio sempre tesoro ;)

G

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/29 Carlo Miron mi...@python.it:

 Mboh, poesse'. Sicuramente non verra` aggiunto, visti i PEP 275 e 3103.

E va bene cosi'. Python manca di alcune features che renderebbero un
case prezioso, ma senza le quali e' ampiamente sostituibile.

 Ah, mi sono ricordato di questo vecchio ma illuminante articolo sull'argomento
 http://ojs.pythonpapers.org/index.php/tpp/article/view/49
 , che tu avrai sicuramente gia` letto ma che lascio qui per i posteri :P.

Interessante. Io in realta' non sono particolarmente d'accordo con
l'autore in alcuni punti.
Lui traccia l'origine di switch/case in asm, e dice che la versione
high level viene da Hoare a metà degli anni 60.

Invece case e' una funzione primitiva ricorsiva inventata da Kleene nel 52. ;)

Abbastanza interessantemente l'uso del dizionario ricorda molto da
vicino una versione semplificata (ma rigorosa) del CASE di Kleene.
Bisogna solo accettare che il fatto di vedere un dizionario non come
una struttura, ma come una funzione dall'insieme delle chiavi
all'insieme dei valori.

 C'e' di peggio. Voglio dire Perl e' meno verboso di Python, eppure...
 Quindi la semplice verbosità non e', dal mio punto di vista, un problema.

 Touche`, giusto. A meno di non postulare l'esistenza di una verbosita`
 *giusta*, che si ponga da una parte tra quella di K e di Perl, e
 dall'altra a quella di Java e Cobol (ovvero, nel verbosity space di
 Python e Ruby ;)

Certo, il compromesso e' quasi sempre una cosa buona [0].



[0] tranne quando non lo e'.


 [...]
  Aspetta pero'. Questi sono una serie di aspetti complicatissimi. Uno,
  quello
  che fa esr e' poco esplicativo. Probabilmente con la testa che ha prende
  su
  K in 4 giorno invece che 2.

 Eh?

 Il linguaggio K.

 Si, quella era la parte chiara della frase. Quello che non capisco e`
 perchemmai ESR dovrebbe impararlo in 4 gg invece che in 2...

Nel senso che uno come esr non credo che faccia testo per dire che un
linguaggio e' facile perche' si impara in 2 giorni, perche' magari
uno complesso lui invece che in 2 giorno lo impara in 4. Cioe' e'
sufficientemente fuori scala che le misure fatte con la sua scala non
si rimappano bene su scala umana, IMHO.


 Per disambiguare: intendo che non ritengo che sia automatico che un
 bravo javista diventi piu` efficiente passando a Python.
 Ecco, magari lo sostiene Federici, ma lui non e` un bravo javista grin /
 Altri che conosco sostengono maggior produttivita` nel passare a Ruby,
 ma boh, non credo si possa parlare di regola generale.

Ok. Si, posso essere d'accordo.

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/29 Nicola Larosa n...@teknico.net:

 Il giorno che vi salterà alla gola e sterminerà voi e la vostra famiglia
 (cit.), non lamentatevi che non vi avevo avvertito.

:q!

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/30 Francesco Maida d...@cesco.it:

 E se provi ad inserire una stringa in n, AS si incacchia di brutto
 mentre JS te lo permetterebbe senza fiatare.

Quindi mi sembra che AS sia un netto peggioramento su Javascript.


-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/30 Nicola Larosa n...@teknico.net:

 Devi fare una distinzione tra nome e valore. a è un nome, non una
 variabile. 10 e pippo sono valori.
 [snip]

Davvero bella spiegazione. Complimenti!

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Nicola Larosa
 Nicola Larosa wrote:
 Devi fare una distinzione tra nome e valore. a è un nome,
 non una variabile. 10 e pippo sono valori.
 [snip]

enrico franchi wrote:
 Davvero bella spiegazione. Complimenti!

Grazie profisso', ho avuto buoni maestri:

How to think like a Pythonista
http://python.net/crew/mwh/hacks/objectthink.html

Python Objects
http://effbot.org/zone/python-objects.htm

-- 
Nicola Larosa - http://www.tekNico.net/

Until society regards this humble sexual activity as essential for
our mental health and honors it with the inclusion of masturbation
in the lexicon of human sexuality, we will remain in the dark ages
of sexual ignorance. Society must no longer prevent people from
accessing this positive and creative energy so we can enjoy our
orgasms alone and with others. - Betty Dodson, September 2011
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/29 Carlos Catucci carlos.catu...@gmail.com:

 Perche' non serve, perche' impiega molti piu' cicli per essere risolto,
 perche' puo' generare errori logici, la lista sarebbe lunga.
 E' che la filosofia di base che io vedo in Python e' semplicita, puilizia ed
 eleganza.

Guarda, io discuto su quel perche'. Sono d'accordo che visto l'insieme
di features di Python switch non aggiunge particolarmente nulla.
Aggiungo poi che uno switch in Python non necessariamente dovrebbe
assomigliare allo switch in C (anzi).

 Concordo, io non amo le lambda, mi fa piacere che esistano, se servono le
 uso, ma sono come le RegExp, non mi fanno impazzire. Pero' ci sono
 tantissimi casi in cui un semplice dizionario (al limite con liste e
 dizionari in pancia) fa il lavoro di una classe senza dover scrivere una
 classe ad hoc. Poi torna il discorso del paradosso dell'ingegnere: se questa
 cosa e' abbastanza general purpose da poter essere riusabile, ben venga la
 classe nel suo package coi' da riusarla, fosse pure un dict di poche entry.
 E viceversa a volte.

Le lambda, per come sono in Python, sono effettivamente quasi inutili.
Ci sono degli use-case per cui complessivamente mi dispiacerebbe se
sparissero, pero' effettivamente si usano poco. C'e' chi dice sia un
bene.

In molti casi avresti uno switch che fa dispatch su un valore e in
questo caso il dizionario e' perfetto. Pero' ci sono anche i casi in
cui bisogna essenzialmente compiere delle azioni. E a volte vale la
pena di tirare a mano strategy. A volte pero' e' un po' un overkill.

In questi casi, io dico solo che puoi:

1. associare alle chiavi delle lambda

{'a': lambda: ...,
 'b': lambda: ...,
 ...}[k]()

2. associare alle chiavi delle funzioni fatte con def

def cl1(...): ...
def cl2(...): ...

{'a': cl1,
 'b': cl2,
 ...}[k]()

3. usare una classe (o al limite un modulo)

class Dispatch(object):
def a(...): ...

def b(...): ...
...

getattr(Dispatch(), k)()

oppure con staticmethod e non usando un'istanza della stessa.

Ecco... diciamo che la prima ha utilita' limitata (nel senso che in
lambda ci va quasi nulla).
La seconda e' abbastanza verbosa.

La terza e' concettualmente molto piu' complicata. Diciamo che in
questi casi mi viene proprio voglia di ripensare il codice e di
cambiarne la struttura e passare da:

def function(...):
class Dispatch(object):
def a(...): ...

def b(...): ...
...

getattr(Dispatch(), k)()

al cominciare a vedere se si riesce a tirare fuori la classe e ad
eliminare proprio function. Poi bisogna vedere caso per caso, ecco.

 Non sarebbe coerente. Ripeto da come ho interpretato io la logica di Python,
 lo switch e' dannosso, poco leggibile, suscettibile di creare casini (non
 per colpa dello statement ma di chi lo usa a volte a sproposito, me ad
 esempio quando lavoravo in VB).

Guarda, mai usato VB. Io personalmente non ho visto grossi casini su
switch. E' uno statement piuttosto semplice. Cioe' l'unico casino e'
se hai semantica fall-through (come in C) e non lo sai: ma sono
proprio errori da iper-principante del linguaggio.

La cosa piu' brutta e' che alla gente viene in mente troppo spesso
di scrivere codice il cui comportamento fa dispatch esplicito su una
variabile invece di strutturare meglio il codice.

 Ma se la hai fatta bene e' di una comodita' unica. Certo e' un problema di
 approccio e di design. Lo stesso problema due diversi progettisti lo
 progetteranno in manierea differente, magari di poco ma non saranno mai
 identici i due programmi (e non parlo di nomi di variabili o di usare for al
 posto di while). Per lo stesos motivo puoi progettare SENZA usarlaa ed
 averla, oppure usarla per scrivere la meta' del codice e piu' efficiente, se
 hai le idde chiare.

Non sono convinto che si scriva metà del codice, non sono convinto che
sia più efficiente.
Aggiungo, non mi piace l'ereditarietà di implementazione. Trovo che
sia utile relativamente in pochi casi e che richieda un'attenzione
molto elevata. Complessivamente i fallimenti usando altre tecniche
sono piu' spettacolari e si acchiappano prima con una manciata di
unit-tests.

 Faccio esempio idiota che faccio spesso per spiegare il concetto quando (mi
 capita) vesto i panni del docente (principlamente corsi organizzati da
 qualche Lug o Pug).

 Come e' fatta una bolla? Testata (anagrafiche) e corpo (catalogo).
 Come e' fatta una fattura? Testata (anagrafiche) e corpo (catalogo +
 listino).

 Se posso usare l'ereditarieta' multipla fattura eredita da Bolla e da
 Listino.

Guarda, io non conosco abbastanza bene il dominio applicativo per
entrare nel problema di design.
Una fattura e' una bolla?

 Non ho mai affermato che senza non vivi ne che la usi tutti i giorni.
 Dipende molto da dove arrivi. Io la programmazione a oggetti la ho appresa
 su C++ (sono stato tra i pionieri in questo paese per quel linguaggio, pensa
 che ho probvato d apprenderlo sullo Stroustrup, e seno recidivo, ho cercato
 di apprendere anche C sul Kernigham  

Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlos Catucci
Ok, non è il succo del tuo discorso, ma non posso lasciarlo passare. :-)

No la spiegazione che dai e' perfetta, io ho lazzaronato un po' dando una
spiegazione errata anche si il concetto di base che volevo esprimere non
era sul come funzioni ma piuttosto che non e' cosa cattiva da parte del
linguaggio. Almeno non per tutti i linguaggi. Ci sono linguaggi dove si
rende davevro indispensabile dichiarare il tipo di variabile associato alla
label, e altri dove non sarebbe altro che una inutile ridondanza, senza
contare che il dinamismo va a donnine allegre. Come ogni cosa non esiste
una ricetta assoluta. In JS non vedo la necessita' di quanto affermato,
invece in certi linguaggi (C in primis) addirittura utilizzavo la notazione
ungherese.

Devo dire che js con jQuery et similia e la possibilita' di usare dei
pseudo namespaces diventa una cosa meno spaghetti code.

Carlos
-- 
If you have no voice, SCREAM! If you have no legs, RUN! If you have no
hope, INVENT!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Giuseppe Amato
 In questi casi, io dico solo che puoi:

 1. associare alle chiavi delle lambda

 {'a': lambda: ...,
  'b': lambda: ...,
  ...}[k]()

 2. associare alle chiavi delle funzioni fatte con def

 def cl1(...): ...
 def cl2(...): ...

 {'a': cl1,
  'b': cl2,
  ...}[k]()

 3. usare una classe (o al limite un modulo)

 class Dispatch(object):
def a(...): ...

def b(...): ...
...

 getattr(Dispatch(), k)()



Per il poco che so esiste anche elif che trovo più immediato rispetto alle
altre soluzioni, anche se meno figo e forse in certi casi meno efficiente

4. usare gli elif:

if test=='a':
print 1
elif test=='b':
print 2
elif 



-- 
--
Giuseppe Amato
e-mail: giuam...@gmail.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 30/12/2011 08:32, Francesco Maida ha scritto:
 [...]
 L'unica cosa simile che ho visto è SharpDeveloper che
 consente di creare applicazioni .NET programmando in Python:
 semplicissimo da usare, anch'io senza sapere una fava di Python sono
 riuscito a costruire uno o due programmini scemi con interfaccia
 grafica,

Questo secondo me è un problema, più che un vantaggio.


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7901gACgkQscQJ24LbaUSSygCfVAmmP2fA4kgHJ5Ewa0CTdtuD
1soAn0DxOOKXsbFucVyq+gY9mpH57bUu
=vGz9
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlo Miron
2011/12/30 enrico franchi enrico.fran...@gmail.com:
 Complessivamente anche io anche il C++ e si, lo appresi su
 Stroustroup, per poi completare con i vari Josuttis, Meyers e Sutter.

Io invece sulla seconda edizione dello Stroustrup, e sui meravigliosi
manuali del Borland C++ 2.0 (che da soli valevano il costo della
licenza), entrambi nel 1991.

 Java per me e' una cosa recente: me lo guardai ad intervalli regolari,
 ma fino alla 1.5 lo ho trovato semplicemente inutilizzabile e scartato
 immediatamente.

Qui invece e` il contrario: studiato all'uni nel 1992, quando ancora
si chiamava Oak, e abbandonato schifato dalle evoluzioni creative di
Java2, prima di 1.3, circa 2000.

©
-- 
Carlo Miron
Celovecchismo Solution Architect™
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlos Catucci
Per il poco che so esiste anche elif che trovo più immediato rispetto alle
altre soluzioni, anche se meno figo e forse in certi casi meno efficiente



Questione di gusti, sia chiaro, ma io voto la 3.

Carlos
-- 
If you have no voice, SCREAM! If you have no legs, RUN! If you have no
hope, INVENT!
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Thread mailing list

2011-12-30 Per discussione Giuseppe Amato
La mia domanda non riguarda python, ma la mailing list: se rispondo ad un
thread editando l'oggetto della mail con Re: argomento quando visualizzo
l'archivio della mailing list non mi accoda il messaggio al thread
iniziale, ma ne crea uno nuovo.

1. Come devo editare l'oggetto per rispondere al thread iniziale?
2. E soprattutto perchè? :)

-- 
--
Giuseppe Amato
e-mail: giuam...@gmail.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlos Catucci
Guarda, io discuto su quel perche'. Sono d'accordo che visto l'insieme

 di features di Python switch non aggiunge particolarmente nulla.
 Aggiungo poi che uno switch in Python non necessariamente dovrebbe

assomigliare allo switch in C (anzi).


E come dovrebbe essere? Chiedo per ignoranza, non per polemica.



 Le lambda, per come sono in Python, sono effettivamente quasi inutili.
 Ci sono degli use-case per cui complessivamente mi dispiacerebbe se
 sparissero, pero' effettivamente si usano poco. C'e' chi dice sia un
 bene.


Non sono il massimo della chiarezza e leggibilita'


 In molti casi avresti uno switch che fa dispatch su un valore e in
 questo caso il dizionario e' perfetto. Pero' ci sono anche i casi in
 cui bisogna essenzialmente compiere delle azioni. E a volte vale la
 pena di tirare a mano strategy. A volte pero' e' un po' un overkill.


Una class?


   lo switch e' dannosso, poco leggibile, suscettibile di creare casini
 (non
  per colpa dello statement ma di chi lo usa a volte a sproposito, me ad
  esempio quando lavoravo in VB). Non sarebbe coerente. Ripeto da come ho
 interpretato io la logica di Python,



 Guarda, mai usato VB.


Come disse Guccini in un concerto con i Nomadi: Che culo che ha certa gente!


 Io personalmente non ho visto grossi casini su
 switch. E' uno statement piuttosto semplice. Cioe' l'unico casino e'
 se hai semantica fall-through (come in C) e non lo sai: ma sono
 proprio errori da iper-principante del linguaggio.


Se hai un mega switch da 100 opzioni e gente che aggiunge ad capocchiam
altre vedrai che i casini arrivano da se.


Guarda, io non conosco abbastanza bene il dominio applicativo per
 entrare nel problema di design.
 Una fattura e' una bolla?


No un fattura e' simile ad una bolla ma ha delle caratteristiche in piu'.
Diciamo metodi e proprieta' aggiuntivi. Ma gli serve anche di prendere roba
dalla classe listino. Nello specifico i prezzi.
Posso farlo con ereditarieta' semplice, creando metodi che egeuono il
retrive dei dati (prezzi) ma molto piu' comodo, visto che i prezzi mi
servono anche altrove, avere una classe dedicata.


  Complessivamente anche io anche il C++ e si, lo appresi su
 Stroustroup, per poi completare con i vari Josuttis, Meyers e Sutter.


Il testo chiave pero' per me fu un McGraw Hill per Borland C++. Li capii
tante cose.


 Java per me e' una cosa recente: me lo guardai ad intervalli regolari,
 ma fino alla 1.5 lo ho trovato semplicemente inutilizzabile e scartato
 immediatamente.


Io ho inizito a usare java sul serio dalla 1.3 o 1.4 non ricordo. Mai amato
pero'.


 il resto il mio C++ e' sempre stato molto piu' basato sul polimorfismo
 statico (templates) che su quello dinamico. Siccome le due cose
 funzionano non troppo bene insieme, credo che C++ sia stato una grossa
 influenza nel *non* usare ereditarieta' spesso.


Beh come vedi approcci differenti. Ciascuno fa le cose a mdo suo.


  Dreamweaver lo ho sempre evitato. Costoso, sopravvalutato.

Ma ci sono anche IDE fatti bene, eh. ;)


Ma se l'iDE ti condiziona che senza non puoi piu' modificare o scrivere
codice allora non mi interessa il relativo linguaggio neppure.


  Io su MacOsX (sto scrivendo da un MacBookPro 13) non ci programmo.
  Impossibile. Ha una interfaccia troppo pensata per l'utente che fa cose
  comuni (navigare, vedre filmati etc.). Inadatta alla programmazione. Uso
 le
  VM con su Linux e sviluppo li.

 Boh. Mi sembra insostenibile... non ho un concetto di interfaccia
 adatta alla programmazione. Per me se ho un terminale decentemente
 behaving (e iTerm2 e' eccezionale, pure Terminal non e' male) ho più o
 meno tutto quello che mi serve (si ok, vim, make, python, cc, etc etc
 etc).


Vedi per me e' anche una questione di tastiera, di scorciatoie, di
gestualita', di tante piccole cose. Mi trovo bene su Linux, gia' su Win
soffro. Mac ha una interfaccia con logica diversa. Poi questione di gusti
anche qui.


 Ultimamente ho perfino trovato un uso per le finestre fullscreen di
 Lion.


Sono fermo a Snow Leopard e non so se ho voglia di aggiornare,


 Massimizzo macvim. Massimizzo iTerm e passo da uno all'altro.
 Da qualche parte ho anche chrome per la doc. Ho tutto quello che mi
 serve.


Ecco iTerm e' un esempio. Ci sono cose come il seleziono da una parte e poi
incollo altrove con tasto centrale, che mi mancano su Mac e Win.


 Io come piattaforma di sviluppo *scelgo* OS X. Conosco tanti
 sviluppatori che sono soddisfattissimi su OS X.


Io ho avuto occasione lavorando su un progetto di lavorare con un bravo
developer PHP. Lui che era anche un po' grafico usava mac, ma vedevo che
soffriva ed era meno veloce di me sul linux. Poi come sempre abitudine e
gusti.


  Io adoro Vim, da sempre. Pero' il citato Sublime text 2 ha i suoi perche'
  credimi (ah e' scriptabile in Python)
 In realta' anche vim lo e'... :)


Non dicevo che vim non lo sia, solo che ST ha anche lui questo bonus


 Sublime lo ho provato per un po', ma non sono riuscito a giustificarmi
 

Re: [Python] Thread mailing list

2011-12-30 Per discussione Carlo Miron
2011/12/30 Giuseppe Amato giuam...@gmail.com:
 La mia domanda non riguarda python, ma la mailing list: se rispondo ad un
 thread editando l'oggetto della mail con Re: argomento quando visualizzo
 l'archivio della mailing list non mi accoda il messaggio al thread iniziale,
 ma ne crea uno nuovo.

 1. Come devo editare l'oggetto per rispondere al thread iniziale?
 2. E soprattutto perchè? :)

Che MUA usi? Sembrerebbe non onorare ne` l'header In-Reply-To:, ne`
References:; in questo caso Mailman dovrebbe threaddare sul
Subject:, ignorando l'eventuale prefisso Re:.
A meno che Mailman 2.1.13 non sia precedente a questo fix
http://mail.python.org/pipermail/mailman-users/2010-February/068844.html,
non so.
Cheers,
©
-- 
Carlo Miron
Mailman Mysteries Solution Architect™
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 30/12/2011 16:19, Carlo Miron ha scritto:
 2011/12/30 enrico franchi enrico.fran...@gmail.com:
 Complessivamente anche io anche il C++ e si, lo appresi su
 Stroustroup, per poi completare con i vari Josuttis, Meyers e Sutter.
 
 Io invece sulla seconda edizione dello Stroustrup,

Idem.
Tra l'altro riletto ben tre volte!


 [...]


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk795u8ACgkQscQJ24LbaURvvACeJF3iPrx57V3c+YLFSA1NDDt3
GUkAn3G53hfeQKmeREZT5x3sNbaWs7a3
=3ikW
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/30 Giuseppe Amato giuam...@gmail.com

 4. usare gli elif:

 if test=='a':
 print 1
 elif test=='b':
 print 2
 elif 


Niente contro elif. E' una cosa leggermente diversa. In molti casi e'
sicuramente la cosa giusta.
La differenza principale e' che esegue tutti i test in sequenza. In qualche
caso puo' essere un problema.

Inoltre una sequenza di if molto lunga io la trovo bruttina. Viceversa per
un paio di casi trovo eccessivamente complesse le soluzioni 1-3.

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Andrea Francia
2011/12/30 Giuseppe Amato giuam...@gmail.com


 In questi casi, io dico solo che puoi:

 1. associare alle chiavi delle lambda

 {'a': lambda: ...,
  'b': lambda: ...,
  ...}[k]()


Questo idioma non l'avevo mai visto. Immagino che ce ne siano altri che non
conosco.
Una risorsa per impararli?

Grazie ciao

-- 
Andrea Francia http://www.andreafrancia.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Simone Federici
2011/12/30 enrico franchi enrico.fran...@gmail.com

  Mboh, poesse'. Sicuramente non verra` aggiunto, visti i PEP 275 e 3103.


ma sticavoli dello switch case :-)
utile?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/30 Andrea Francia and...@andreafrancia.it

Questo idioma non l'avevo mai visto. Immagino che ce ne siano altri che non
 conosco.
 Una risorsa per impararli?


C'e' la PEP8, Python Cookbook e il relativo coso di ActiveState, blog e
presentazioni di gente di spicco (e.g., Raymond).
In generale basta anche leggere un po' di codice di libreria.

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Carlo Miron
2011/12/30 Simone Federici s.feder...@gmail.com:
 2011/12/30 enrico franchi enrico.fran...@gmail.com
  Mboh, poesse'. Sicuramente non verra` aggiunto, visti i PEP 275 e 3103.

Hey, non l'ha scritta il professo', quella frase :D
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione Giovanni Porcari

Il giorno 30/dic/2011, alle ore 15:50, Giuseppe Amato ha scritto:

 3. usare una classe (o al limite un modulo)
 
 class Dispatch(object):
def a(...): ...
 
def b(...): ...
...
 
 getattr(Dispatch(), k)()

Dal momento che il problema di uno switch capita comunque 
quasi sempre all interno di una classe una tecnica abbastanza
comoda è quella di usare dei metodi con opportuno prefisso
ad esempio:

def foo_alfa(self,...):
.

def foo_beta(self,...):
.

def foo_gamma(self,...):
.

def foo_default(self,...):
.

e nel codice chiamare
bar = getattr(self,'foo_%s'%k,self.foo_default)()

Aggiungere i casi è molto semplice e in caso di ereditarietà
la classe derivata può agevolmente estendere lo switch.


G
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/30 Carlos Catucci carlos.catu...@gmail.com


 Beh era nato, almeno come lo ho conosciuto io, come scorciatoia alla
 catena di if. Poi magari era nato con ben piu' nobili scopi ma io ho
 trovato il case sempre usato cosi'. Devo dire, a onor del vero, che sulla
 teoria sono un po' giu', ai miei tempi non ebbi occasione certo di andare
 all'uni per imparare.


Beh, ma lo switch del C e' fatto cosi' e basta. Per inciso in C ha anche il
suo senso quando, se possibile e' equivalente ad una jump table e non ad
una catena di if (come prestazioni). E in effetti la semantica fall-through
ti riporta proprio a quello. In realta' come dicevo, il costrutto potrebbe
essere un pochetto diverso. Per inciso, nei linguaggi procedurali ha un
sacco di senso di per se. Nei linguaggi con pattern matching pure.


 E io rispondevo che una fattura e' una bolla con delle opzioni in piu'. Ma
 usare una fattura come bolla togliendo non e' fattibile.


Ma qualunque frammento di codice che funzioni con una bolla, deve
funzionare anche con una fattura?



 Si, sono questione di gusti. Pero' quello che voglio dire e' che di fatto
 non e' che l'interfaccia e' inadatta alla programmazione. E' che e'
 diversa dai tuoi default. Vorrei poi aggiungere che con iTerm puoi piu' o
 meno dirgli di gestire lui la tastiera. Vim ha le sue scorciatoie e sono
 quelle.

 Invece Sublime e' riconfigurabile in toto.


Si, non capisco pero'. Cioe' ci credo che sia riconfigurabile in toto (come
vim). Ma io qua dicevo per dire che se uno fa sviluppo a-la unix i tools
sono quelli e sono un po' indipendenti dal brand unix che hai sotto.

Cio detto, trovo la gui del mac ottima per un certo tipo di usi ma non il
 massimo se devo lavorare. Poi come hai detto che la usi tu, beh li hai
 annullato la suddetta GUI, mi sembra un ambiente simile a quello che si
 usava per sviluppare in Unix 15 anni fa ::)


Si, lo e'. A parte quando uso un IDE. Ma il problema e' che per sviluppare
si usa un po' quella roba li.
Potrei usare xcode, se facessi iphone/mac gui...

Poi certo, ho Graffle, Keynote... ma non e' che sia strettamente sviluppo.
Altre cose che mi piacciono ci sono (e le uso tantissimo), ma il core e'
quello.




  Quella e' una feature che io tengo disabilitata e che odiavo su Linux.
 Explicit is better than implicit. ;)

 Beh e' esplicito e come.


Beh, insomma. Selezioni una cosa e lui te la copia.


  Forse non era cosi' bravo... :)

 No bravo lo era, ma usva strumenti che io trovo complessi inutilmente


E questo pero' non e' che vuole dire molto.


  No, scherzi a parte, ma e' un po' debole come argomento.

 Guarda io non sopport Apple, ma adoro il Mac. Come ferro e' una favola,
 come GUI se devo fare certe cose va benissimo, ha applicativi unici (un
 nome su tutti Omnigraffle). Ma poi la mia anima di smanettone che viene da
 Unix salta fuori e voglio una shell dove il nome di una directory e' uguale
 a quello che mi mostra la GUI (che poi io sono un fluxboxiano, almeno fino
 a che E17 non sara' realta').


Uhm... sul mio mac e' cosi'. Non credo di aver mai usato consciamente un
sistema operativo localizzato.

 TU lavori SOLO su mac? Allora sei fortunato. Io uso sempre li stesis due
editor ovunque (Vim e Sublime).
 E mi tocca di fare cose su win, mac e linux. Adesso devo sviluppare in
pfsense ad esempio. ;)

Ni. Come macchina su cui ho le mani fisicamente ho due mac e un netbook
(che adesso e' un po' in disuso causa Air e causa Ubuntu che ha deciso di
sua sponte di non bootare piu' -- baco noto etc etc... probabilmente devo
re-installare e ora come ora non ho tempo --). Spesso sono via SSH. Diciamo
che la maggior parte del tempo sono su Mac.





-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Per discussione enrico franchi
2011/12/31 Giovanni Porcari giovanni.porc...@softwell.it

Dal momento che il problema di uno switch capita comunque
 quasi sempre all interno di una classe una tecnica abbastanza
 comoda è quella di usare dei metodi con opportuno prefisso


Si, questo e' il caso comodo. Sono d'accordo e in questo caso la tua e'
in generale la soluzione migliore.


-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python