Newsgroup: it.comp.java
Titolo: Java & Python [lungo]

 "disegnare" anche l'interfaccia utente, allora dipende...
Non intendevo solo la visual composition, ma intendevo soprattutto la
possibile di gestire grossi progetti, io sono un po' viziato con visual age
per java , dove posso organizzare i progetti in soluzioni, dove posso
gestire il versioning di ogni cosa dai metodi alle soluzioni, dove posso
spostare/copiare metodi da una classe all'altra e dove posso spostare classi
da un pagkage all'altro senza correggere una riga di codice. Inoltre dove
hai l'editor che fornisce la completion del codice sensibile al contesto.
Conosci per caso qualche tool del genere ? ...
Non voglio elogiare VAGE voglio solo dire se esiste un tool di questo tipo
per Python sarei molto felice perche' avrei meno problemi a realizzare
qualche progetto in Python e magari un giorno abbandonare Java (ndr. cala un
silenzio di tomba, un fulmine squarcia l'oscurita' ed il suo tuono e' come
un ammonimento lanciato dagli dei del NG it.comp.java ...)
Ho una domanda per te, esiste una libreria ufficiale per l'invocazione di
metodi remoti in Python e se si' mi sbilancio: esiste una piattaforma di
network serivices equivalente a Jini ??
Ciao

 writes:
DC> dove posso organizzare i progetti in soluzioni
Ovvero ?
DC> gestire il versioning di ogni cosa dai metodi alle soluzioni,
Beh Emacs (e l'eretico XEmacs) si integrano con con RCS, CVS...
DC> dove posso spostare/copiare metodi da una classe all'altra e dove
DC> posso spostare classi da un pagkage all'altro senza correggere una
DC> riga di codice.
Ovvero  se  la  sposti  da  org.bar.foo.package1  classe1.metodo()  in
org.bar.foo.package2 classe2.metodo() VA risolve da solo i riferimenti
ad oggetti in classe1 fatti in metodo() ?
DC> Inoltre dove
DC> hai l'editor che fornisce la completion del codice sensibile al contesto.
Oddio, Emacs  ha sia una completion  basata sui buffer  in memoria sia
(con jde) un meccanismo di template e wiz vari...
DC> Non voglio elogiare VAGE voglio solo dire se esiste un tool di questo tipo
DC> per Python sarei molto felice perche' avrei meno problemi a realizzare
DC> qualche progetto in Python e magari un giorno abbandonare Java 
Guarda, io ho un bellissimo gioco in python (pysol) però guarda caso quando
lo lanci l'interfaccia ha l'icona del Tcl/TK...
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: sierra alfa india november tango AT echo november golf DOT india tango

 network serivices equivalente a Jini ??
Di "ufficiale" in Python esiste solo la standard library che scarichi con
l'interprete, e non ha nulla di quello che cerchi.
Soluzioni sono: Pyro (
http://www.xs4all.nl/~irmen/python.html
), sia nello
spirito che in pratica assomiglia a Java RMI;
se vuoi utilizzare il protocollo Xml-RPC vai qui
(
http://www.pythonware.com/products/xmlrpc/
);
per SOAP vai qui (
http://www.pythonware.com/products/soap/index.htm
) [però
non è esattamente completo]
In ogni caso qui trovi altri link sul distributed computing in python:
http://www.vex.net/parnassus/apyllo.py/126307487.549099265
Se ti interessa CORBA esistono vari ORB utilizzabili con python.
Per quanto riguarda Jini credo non esista nulla di simile, ma ti confesso
che io sono abbastanza ignorante anche sull'originale :-)
Ciao, Mario

Ribadisco, non è certo la mancanza di chiarezza il difetto di Python.
E peraltro trovo comparazioni abbastanza difficili. Sono linguaggi con 
obiettivi diversi, usi diversi e installato diverso. Un linguaggio per 
applicazioni serie senza typing ad esempio non e' nemmeno proponibile
oggigiorno, ma la stessa cosa non vale per un linguaggio da piccoli
sistemi o, appunto, di scripting. Entrambi sono object oriented,
entrambi vengono storicamente dopo sia Smalltalk che C++, per il resto
e' come paragonare csh a C. 
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 e' come paragonare csh a C.
Certo, anche dopo Ada, Modula, Eiffell, ecc. per i linguaggi staticamente
tipizzati e dopo lisp, scheme, askell, tcl, perl ecc. per i linguaggi
dinamicamente tipizzati (spero di non aver messo qualche linguaggio dalla
parte sbagliata della "barricata"). Infatti il punto secondo me è questo:
sono esponenti di due differenti famiglie di linguaggi. Quanto al fatto che
linguaggi con type checking dinamico (e non senza) siano "improponibili" per
applicazioni serie: non sono definitivamente d'accordo. In più credo che
Python sia un perfetto compagno dell'XP come metodologia di sviluppo...
Ciao, Mario

 oggigiorno,
Potresti spiegare perche' ...

 la seconda , cioe Java. 
Non conosco Python ma devo ammettere che nello specifico esempio vince
decisamente Java.  :-)
ciao
Marco
-- 
         \\|//
        ( @ @ )
+----oOO--(_)--OOo----------[Dott. Marco Azzalini]-------------------+
|                                                                    |
|              Consulente Sviluppo Software & Networking             |
|               Sun Certified Programmer (Java 2 Platf.)             |
|                                                                    |
|  cell:03289250281  -  e-mail: 
marco.a...@libero.it
             |
|  Web: 
http://utenti.tripod.it/Marco_Azzalini
 - Spedia Code: 459755 |
+--------------------------------------------------------------------+
|Legge di Hofstadter:                                                |
|         ci vuole sempre piu' tempo di quanto si pensi,             |
|         anche tenendo conto della Legge di Hofstadter.             |
+--------------------------------------------------------------------+

 "implements" è stata un'ottima scelta ma "extends" molto meno.
Sono più o meno daccordo con tutto quello che segue tranne il discorso
su extends
Se fai quello che dici tu hai COMUNQUE esteso 'la semantica' degli
oggetti di tipo B; tanto per dire hai introdotto un nuovo tipo A e puoi
scrivere B b= new A().
Ad ogni modo la sinatssi di Phyton (in questo caso) mi sembra
pericolosamente vicina alla definizione di metodo e questo non mi sembra
molto leggibile...
Ripeto, in questo caso. Il controesempio peraltro mi piace come sintassi
ma perdi di vista i tipi e alla lunga questa cosa fa ricadere nel
minestrone tipo VB... è facile facile ma poi ci si ritrova con schiere
di programmatori che non capiscono un c...o! Non voglio dire che per
Python sia lo stesso, anzi
ciao
Marco

-- 


compagno dell'XP come metodologia di sviluppo... Ciao, Mario
A parte il fatto che devo ancora conoscere qualcuno che abbia *personalmente*
fatto un progetto di un certo respiro seguendo XP, che vuoi dire? 
XP e' una metodologia (e c'e' molto di vero nel fatto che
alla fin fine sia una versione di controlled iteration "spinta" su alcuni 
punti) che puoi applicare abbastanza a prescindere dal linguaggio - almeno
se il linguaggio supporta una delle sue assunzioni principale - che l'ordine
delle fasi puo' essere modificato parecchio senza aumentare il costo totale
risultante.


Potresti spiegare perche' ...
Potrei, ma e' lungo e noioso e soprattutto e' gia' stato fatto meglio di
quanto potrei fare io, da un certo Bertrand Meyer. ;-)
Dai un'occhiata a "Object oriented software construction", del suddetto
(trovi il riferimento bibliografico a 
http://www.sadun.org/articoli/biblio.html
)
oppure
http://www.eiffel.com/doc/manuals/technology/typing/paper/page.html


 Python sia lo stesso, anzi
Non si può evere tutto dalla vita...
Python è un linguaggio tipizzato dinamicamente, il che comporta molti
vantaggi e la possibilità di utilizzare diversi idiomi di programmazione, ma
ha anche varie ripercussioni negative, anche perchè se così non fosse
nessuno utilizzerebbe i linguaggi tipizzati staticamente...
Ciao, Mario

 writes:
MT> Per quanto riguarda VAGE non lo conosco :-(((  Devo dire che tendo ad usare
MT> Emacs anche per Java (JDE), sono Emacs dipendente :-)))
:) :) 
Tra l'altro Emacs è un progetto di dimensioni non trascurabili scritto
in un  linguaggio con  controllo dinamico sui  tipi :) :).   Vabbè, le
prime versioni del progetto sono  state scritte nell'età del mito e si
tratta di una  collezione di moduli.
(Nota :  su 
www.python.org
  ho appena visto  che c'è  jython, maggiori
informazioni su 
www.jython.org
)
Credo  che  i  target  cui  si  orientano  Java  e  Python  siano  ben
differenti,  il fatto che  sia interattivo  pone una  bella differenza
rispetto a Java.  Io vedo Python  come una bel tool a disposizione per
il sistemista o il programmatore che non trova che una ide strapotente
risolva tutti i problemi del  mondo, ma preferisca "avere il controllo
sugli  strumenti  di produzione".  Java  lo  vedo  come un  bellissimo
linguaggio per  fare applicazioni che devono produrre  un servizio non
per il singolo sistemista ma per un largo parco di utenti.


tratta di una  collezione di moduli.
E' anche da notarsi che lisp di tipi di base ne ha due. ;-)


 informazioni su 
www.jython.org
)
Emm... vedo che non leggi i miei post !!! :-)))
Ciao, Mario

[...]
Btw, sto appena scrivendo uno trigger su Perforce per supportare il 
processo interno di sviluppo, e indovina che linguaggio ho scelto? :)


> tratta di una  collezione di moduli.
MT> Poi ho letto nel tuo altro post che Stallman consiglia Guile come
MT> linguaggio di embedding per lo script di applicazioni...
Più  che  consigliarlo, Emacs  è  deciso  che  diventerà in  Guile  (e
multithreading).
MT> be,
MT> ovvio, Stallman ha sempre avuto la passione per i linguaggi
MT> funzionali.
Insieme  a Steele :),  chissà perché...  :). E  anche Gosling  li deve
conoscere bene...
MT> Emm... vedo che non leggi i miei post !!! :-)))
No, ho letto i  tuoi post _dopo_ che avevo visto la  pagina WWW che ne
parlava anche se ovviamente ho visto la pagina WWW ben dopo che tu hai
fatto il tuo post :), ebbene sì mi hai battuto :)


 writes:
CS> Btw, sto appena scrivendo uno trigger su Perforce per supportare il 
CS> processo interno di sviluppo, e indovina che linguaggio ho scelto? :)
Cobol :) :) :)? ** si tuffa in una trincea **


 multithreading).
Per me sarebbe una grande notizia. Scheme lo conosco abbastanza, passare a
Guile credo mi costerebbe poco...
Elisp invece nada, quindi... evvai che finalmente mi scriverò i miei emacs
mode da solo !!! ;-)
Ciao, Mario

 processo interno di sviluppo, e indovina che linguaggio ho scelto? :)
Dacci qualche impressione (maturità e stabilità di linguaggio e librerie
p.e.) e, per curiosità, quale ambiente utilizzate (pythonwin, activestate,
ecc.), naturalmente *se* ne utilizzate uno.
--
----------
Lello Mele
HOMEPAGE:
http://www.lellomele.supereva.it
eMAIL:
v...@libero.it

Cobol :) :) :)? ** si tuffa in una trincea **
:)


ecc.), naturalmente *se* ne utilizzate uno.
Per ora, editor e manuale. :) Io penso a Phyton come un rimpiazzo migliore 
per bsh, che gira pure sotto windows. Cioe', mi interessa come linguaggio di
scripting.


 writes:
CS> Per ora, editor e manuale. :) Io penso a Phyton come un rimpiazzo
CS> migliore per bsh, che gira pure sotto windows.
                 ^^^
Intendevi proprio bsh (beanshell ?) o era bash ?


                 ^^^
bash, bash :)


 writes:
CS> bash, bash :)
Concordo, la 1 non ha gli array, la 2 è più lenta...


Concordo, la 1 non ha gli array, la 2 è più lenta...
Devo dire, in Phyton trovo un po' piu' macchinoso l'invocazione di comandi di sistema,
che in fase di scripting e' prassi comune. Le popen&c e il trattamento degli argomenti 
sono piu' C-style che sh-style, e per lo scripting col secondo modo mi ci trovo meglio.
Pero' magari c'e' qualche estensione utile che non conosco.
