[Python] [ANNOUNCE] uWSGI 1.0

2011-12-30 Thread 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 Thread 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 Thread 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 Thread 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 Thread Nicola Larosa
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.

L'interprete ha prima associato il valore intero 10 al nome "a", e poi ha
creato il valore stringa "pippo" e l'ha associato al nome "a",
sovrascrivendo la precedente associazione. Il valore 10 esiste ancora, ma
non è più accessibile tramite il nome "a".

Non esistono una prima e una seconda variabile "a": esiste un solo nome
"a". Esistono due distinti valori, 10 e "pippo".

Se ora scrivi:

a = True

anche il valore "pippo" continua ad esistere, ma non è più accessibile
tramite il nome "a".

Quando i valori smettono di essere associati ad almeno un nome, lo spazio
che occupano viene prima o poi recuperato dal garbage collector tranne
che per alcuni valori sempre presenti, detti "interned". Questo però è un
dettaglio implementativo che in teoria non è rilevante, ma in pratica sì,
in alcune situazioni.

-- 
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 Thread 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 Thread enrico franchi
2011/12/29 Carlo Miron :

> 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
> 
> , 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 
> 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 Thread enrico franchi
2011/12/29 Nicola Larosa :

> 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 Thread enrico franchi
2011/12/30 Francesco Maida :

> 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 Thread enrico franchi
2011/12/30 Nicola Larosa :

> 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 Thread 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 Thread enrico franchi
2011/12/29 Carlos Catucci :

> 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 

Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Thread 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 Thread 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 Thread 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 Thread Carlo Miron
2011/12/30 enrico franchi :
> 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 Thread 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 Thread 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 Thread 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

Re: [Python] Thread mailing list

2011-12-30 Thread Carlo Miron
2011/12/30 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è? :)

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
,
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 Thread Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 30/12/2011 16:19, Carlo Miron ha scritto:
> 2011/12/30 enrico franchi :
>> 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 Thread enrico franchi
2011/12/30 Carlo Miron 


> 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.
>

Beh, eravate avanti. Qua secondo me all'epoca usavano ancora Pascal.

-- 
.
..: -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 Thread enrico franchi
2011/12/30 Carlos Catucci 

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

Il fall-through potrebbe non esserci (molti linguaggi hanno case senza
fall-through).
Ma non e' che importi molto come potrebbe essere: tanto non e' e non deve
essere.



> Non sono il massimo della chiarezza e leggibilita'
>

Non e' solo quello. Il problema e' che restringendo ad avere solo
espressioni e avendo mantenuto la distinzione fra espressioni e statements,
ci puoi fare davvero solo cose molto semplici.


> 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?
>

Ne parlavo sotto, mi sa.


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

Eh, se vuoi posso anche aggiungere che non ho mai usato seriamente Windows.
Su una macchina di mia proprieta' credo di non averlo mai avuto *non* in
dual boot, per dire.


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

E se hai sta gente qua te lo fanno anche con un dict. Le cose che con il
dict non ti viene in mente di fare sono if duff's device, ma la cosa
finisce un po' li.


> 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.
>

Non ti ho chiesto se una bolla e' una fattura, ma se una fattura e' una
bolla! :)
Come dicevo, nonostante la mia poca conoscenza del dominio, il fatto che
una bolla non fosse una fattura era chiaro perfino a me!


>  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.
>

Oh, via. Perfino per Java alle volte mi trovo con il semplice vim. Il fatto
e' che fare partire IntelliJ mi costa poco e faccio prima.


> 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.
>

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.

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,
>

Ti capisco. E' solo che ho preso un nuovo portatile con su Lion.
Il MacPro non mi sono ancora preso la briga di aggiornarlo. Prima o poi lo
faro'... pero' boh.

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.
>

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

> 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.

Forse non era cosi' bravo... :)

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

>
>>
> Sublime lo ho provato per un po', ma non sono riuscito a giustificarmi
>> l'acquisto. Mi ricorda TextMate . Adesso hanno anche rimesso mano a TM
>> stesso, si vedra'.
>>
>
> Io sto attendendo la versione 2 completa, uso la beta (per le 5 0 6 cvolt
> al giorno he mi chiede se voglio comprare ... non e' un problema).
>

Eh, ma quello che non mi e' chiaro e' cosa offra "davvero".
Il principale vantaggio di quegli obietti e' che sono fatti con della testa
e sono piu' o meno "gia' pronti", mentre Emacs e vim hanno in genere
bisogno di un minimo di tuning. E anche li, il tuning su TM/ST e' piu'
facile.


> Parlavo di Java. Un file py se non esiste un pyc piu' recente viene,
> diciamo cosi', semicompilato e poi eseguito. In java non hanno questa
> feature.
>

Ah, perche' per JIT di solito si intende una cosa diversa (che Java e' e
che CPython non ha).
Si, in Java devi passare per lo step di compilazione esplicito. In pratica
puo' essere molto poco esplicito.
Gli IDE lo fanno, su vim basta agganciare una botta di compilazione sul
WriteBuf dei file Java. ;)


> cosa e' male? Che certi (non dco solo m$) non documenti cose?
>

Il fatto che ci siano dei sottosistemi che non si capisce come prendere.


-- 
.
..: -enrico-

Re: [Python] sviluppare applicazioni android tramite python

2011-12-30 Thread enrico franchi
2011/12/30 Giuseppe Amato 
>
> 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 Thread Andrea Francia
2011/12/30 Giuseppe Amato 

>
> 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 Thread Simone Federici
2011/12/30 enrico franchi 

> > 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 Thread Carlos Catucci
Ma non e' che importi molto come potrebbe essere: tanto non e' e non deve
essere.

TVB ;)

Non e' solo quello. Il problema e' che restringendo ad avere solo
> espressioni e avendo mantenuto la distinzione fra espressioni e statements,
> ci puoi fare davvero solo cose molto semplici.
>

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.


> Ne parlavo sotto, mi sa.
>

Si vero. Ma ho letto dopo.


>  Come disse Guccini in un concerto con i Nomadi: Che culo che ha certa
> gente!
>
>>
> Eh, se vuoi posso anche aggiungere che non ho mai usato seriamente Windows.
> Su una macchina di mia proprieta' credo di non averlo mai avuto *non* in
> dual boot, per dire.
>

Ribadisco quanto espresso. Io lo evito se posso, ma ogni tanto ce' il genio
che vuole PER FORZA cose fatte con roba che mi obbliga a usarlo (ad esempio
un applicativo web OBBLIGATORIAMENTE in PHP che interagisce con DB
SQLSERVER (una accoppiata da brivido).


> E se hai sta gente qua te lo fanno anche con un dict. Le cose che con il
> dict non ti viene in mente di fare sono if duff's device, ma la cosa
> finisce un po' li.
>

Con una class la cosa rimane un pelo piu' gestibile

>Non ti ho chiesto se una bolla e' una fattura, ma se una fattura e' una
bolla! :)
>Come dicevo, nonostante la mia poca conoscenza del dominio, il fatto che
una bolla non fosse una fattura era chiaro perfino a me!

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

> Oh, via. Perfino per Java alle volte mi trovo con il semplice vim. Il
fatto e' che fare partire IntelliJ mi costa poco e faccio prima.

Partire con un IDE per fare velocemente qualcosa puo' essere un motivo
valido diusarlo, come usare un framework. Pero' non poter fare senza
implica che o chi sviluppa e' incapace oppure c'e' del marcio in danimarca.

>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. 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 ::)

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

Beh e' esplicito e come.

> Forse non era cosi' bravo... :)

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

> 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').

Eh, ma quello che non mi e' chiaro e' cosa offra "davvero".
Il principale vantaggio di quegli obietti e' che sono fatti con della testa
e sono piu' o meno "gia' pronti", mentre Emacs e vim hanno in genere
bisogno di un minimo di tuning. E anche li, il tuning su TM/ST e' piu'
facile.

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. ;)

> Ah, perche' per JIT di solito si intende una cosa diversa (che Java e' e
che CPython non ha).

Ok mi sono espresso come sempre per concetti invece che con termini esatti

> Si, in Java devi passare per lo step di compilazione esplicito. In
pratica puo' essere molto poco esplicito.
Gli IDE lo fanno, su vim basta agganciare una botta di compilazione sul
WriteBuf dei file Java. ;)

Io parlavo della VM. Se quando si lancia java nomeprogramma lo facesse lui
sarebbe cosa carina. Lascia stare ilfatto che si possono far fare cose a
ide/editor etc.

cosa e' male? Che certi (non dco solo m$) non documenti cose?
>

> Il fatto che ci siano dei sottosistemi che non si capisce come prendere.

Purtroppo quando un sistema diventa complesso (e a volte non se ne puo fare
a meno) e' facile che accada.

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 Thread enrico franchi
2011/12/30 Andrea Francia 

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 Thread Carlo Miron
2011/12/30 Simone Federici :
> 2011/12/30 enrico franchi 
>> > 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 Thread 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 Thread enrico franchi
2011/12/30 Carlos Catucci 

>
> 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 Thread enrico franchi
2011/12/31 Giovanni Porcari 

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