Newsgroup: it.comp.lang.c++
Titolo: OT (per curiosita, no flame :) )

secondo voi, visto che qui viene spesso citato come linguagigo , come 
mai alla maggior parte dei programmatori C++ che sento piace Python 
mentre non piace java ? infondo java è un derivato del C++ (venuto male 
secondo me ).... python  è qualcosa di veramente diverso ( e mi piace 
molto ) .
Lato mio non amo tutto il meccanismo dei listener in java (gui e jms) 
che trovo scomodo ...e trovo orribilante la parte di IO .... ed in + nn 
lo amo proprio :)
ciao :)
Pier

pier...@alice.it
 ha scritto:

Sinceramente non capisco perchè accomuni Java ad un paradigma (pattern o 
come vuoi chiamarlo) abbastanza tipico dei GUI toolkit, come è 
l'observer, usato ANCHE, e bene, da parte delle librerie standard di Java...
ciao

 molto ) .
Perche' chi programma in C++ per scelta non ama essere imbrigliato.
Java e suo cugino C# sono in buona sostanza versioni mutilate del C++,
alle quali sono stati tolti costrutti utili per evitare ai
programmatori di farsi del male. Questo puo' andar bene, come dicevo
non molto tempo fa, per applicazioni che svolgono la stragrande
maggioranza della loro attivita' chiamando funzioni delle pressoche'
sterminate librerie di questi linguaggi.
Non appena il codice bisogna scriverselo i limiti si fanno sentire
eccome, a cominciare dall'assenza dei template. Non so quelli di Java,
ma coi generici di C# e' tutto uno scontrarsi con le loro limitazioni,
col risultato che la quantita' di codice da scrivere cresce.
Tra l'altro, pur con tutte le loro limitazioni, non e' che Java e C#
non abbiano le loro limitazioni; due su tutte (almeno per C#): la
gestione di risorse diverse dalla memoria e la ridefinizione
dell'operatore di uguaglianza.
Python e' un linguaggio molto diverso dal C++, persino di piu' di
quanto non sembri a prima vista, che pero' condivide la filosofia di
non imbrigliare il programmatore. Per di piu' ha una libreria standard
di dimensioni sostanzialmente paragonabile a quelle di Java e C#.
Ciao,
Nicola

 dell'operatore di uguaglianza.
Non l'ho capita. Me la spieghi meglio?
Ciao e grazie,
Giulio
-- 
OnAir:
http://www.giuliopetrucci.it
http://www.fujikomonamour.com

 Non l'ho capita. Me la spieghi meglio?
Intendevo dire che anche Java e C# hanno le loro trappole. Per
l'operatore di uguaglianza ovvero la ridefinizione del metodo equals
credo che l'articolo fondamentale resti ancora questo:
http://www.angelikalanger.com/Articles/JavaSolutions/SecretsOfEquals/Equals.html
Considera che il corrispondente in C++ e' qualcosa come:
class A : public B {
  int a;
  int b;
  bool operator=(A const & other) const {
    return static_cast<B const &>(*this) == other &&
        a == other.a && b == other.b;
}
Per quel che riguarda la gestione delle risorse la mia esperienza e'
in C#; puoi dare un'occhiata a questo: 
http://msdn.microsoft.com/en-us/library/system.idisposable.aspx
Mentre qui il corrispondente e' mettere una delete nel distruttore,
oppure usare uno smart pointer.
Ciao,
Nicola

 in C#; puoi dare un'occhiata a questo: 
http://msdn.microsoft.com/en-us/library/system.idisposable.aspx
Ok (bis).


 molto ) .
Ti posso solo riportare la mia esperienza (gusti personali):
Ho usato C e C++ per almeno dieci anni professionalmente, fino a due anni
fa. Per l'esigenza di rendere una applicazione scriptabile (orrendo
vocabolo) ho guardato python e l'ho usato in questo senso con soddisfazione.
Pian piano il pitone ha preso il sopravvento e da semplice linguaggio di
script è diventato oggi il mio linguaggio principale e uso C (non C++) solo
per alcuni moduli.
Java l'ho guardato un pò anni fa e utilizzato per alcuni progettini: l'unica
cosa che mi sembrava interessante è stata la portabilità abbastanza semplice
su vari sistemi, mentre come linguaggio in sé non mi è mai piaciuto, forse
perché non ho mai colto bene i vantaggi che ipoteticamente offre rispetto a
C++. Quindi il mio giudizio su Java è fortemente personale e scarsamente
tecnico visto che non l'ho mai approfondito.
Ora con python ho portabilità, un linguaggio che mi piace molto e mi
permette di fare quello che mi serve con molta maggiore rapidità che non in
C++ (infatti su questo ng bazzico poco:-) visto che ormai il C++ non lo uso
quasi più). Non vedo la necessità di avvicinarmi a Java, forse sbaglio. Ah,
i miei sistemi operativi sono Windows, Linux e Mac principalmente, anche
qualche cosa d'altro ma irrilevante.
Ciao.

 piace java ?
Ci ho pensato a lungo, e malgrado tutto non so che dire.
So perché mi piace Python, ma non so perché mi fa ribrezzo Java. Magari 
è solo per miei pregiudizi, oppure è il mio sesto senso papero che me 
lo fa evitare. Mi verrebbe da dire che lo trovo "prolisso" per le cose 
semplici, ma mi rendo conto che è una "non risposta".
Anche il C# non mi entusiasma, ma è talmente comodo farci applicativi 
con finestre con Visual Studio, che me lo sono fatto piacere.
-- 
Articolo 33 della Costituzione italiana: L'arte e la scienza sono 
libere e libero ne è l'insegnamento

 con finestre con Visual Studio, che me lo sono fatto piacere.
Sottoscrivo al 100%.