Newsgroup: it.faq
Titolo: [FAQ] it.comp.java v0.9e


Date:
1997/12/04
Newsgroups:
it.comp.java
Non particolarmente. Anzi, imho, se sei abituato al C e' peggio; viceversa, se conosci bene C++, fai *molto* in fretta.
[T5.3] Java e C++
Subject:
Java e C++
From:
Andrea Baruzzo
Date:
1999/04/08
Newsgroups:
it.comp.lang.c++
Salve a tutto il NG.
Vorrei proporre una discussione che confronti java e C++.
C'è qualcuno di voi che, oltre ad avere esperienza in C++, ha sviluppato anche in java e può comunicarmi le sue impressioni usando i due linguaggi.
Mi interesserebbe sapere dove a vostro giudizio sono i pregi e idifetti delle due soluzioni. Spero di non essere OT (almeno il 50% deldiscorso è inerente al NG: si parla comunque di C++, anche se come metro diconfronto viene proposto poi un altro linguaggio).
Spero di non infastidirenessuno.Grazie a quanti vorranno rispondermi. Se l'argomento non lo riterrete diutilità per discuterne sul NG potete mandarmi le vostre impressioni in formaprivata via mail.
Ciao a tutti
Andrea
Subject:
Re: Java e C++
From:
Marco Sarti
Date:
1999/04/09
Newsgroups:
it.comp.lang.c++
A mio parere java ha i seguenti vantaggi:
- la portabilità del codice compilato (ovviamente)
- maggiori soluzioni object oriented rispetto al C++. Appare unlinguaggio più "moderno" da questo punto di vista
- Notevole supporto per applicazioni orientate alle reti
Gli svantaggi invece sono:
- Mancanza dei puntatori. Qualcuno gioisce per questo, ma i puntatori (e l'aritmetica dei puntatori) restano una grande potenza del C/C++- Quando c'è bisogno di applicare soluzioni native bisogna tornare dapapà C/C++ :-)
[a questo proposito cfr. R1.17, -cris]
Java non ti offre nel linguaggio la possibilità di creare codice non portabile, mentre nel C++ questa può essere una scelta.
Questo è quello che mi viene in mente...
Subject:
Re: Java e C++
From:
Cristiano Sadun
Date:
1999/04/09
Newsgroups:
it.comp.lang.c++
Be', ho sviluppato parecchio in entrambi i linguaggi, e dato che di mestiere faccio il designer di sw sono quelli che uso comunemente a meno di vincoli esterni. Sulle differenze tra Java a C++ un paio d'anni fa ci scrissi sopra una articolo da 15 pagine, e Java aveva un terzo della potenza che ha adesso :), quindi in breve si puo' dire molto poco. :)
Comunque, Java nasce come una semplificazione di C++ *e* un potenziamento dello stesso: i vantaggi in brevissimo, a livello di linguaggio, capacita' espressive, ambienti e librerie (wow :)
- maggiore portabilita'. E' possibilissimo scrivere codice portabile in C++, almeno finche' non c'e' di mezzo una GUI, ma e' *molto piu' difficile*.
- supporto nativo al multithreading. C++ si deve appoggiare al s/o.
- supporto nativo al networking. Per C++, come sopra.
- migliore supporto al design OO, con la definizione specifica di interfacce e classi di implementazioni. C++ ha solo classi astratte come elementi di modellazione.
- garbage collection. In C++ i memory leaks sono all'ordine del giorno, in java quasi non esistono.
- non c'e' l'ereditarieta' multipla. Qui si va a gusti, ma la mia esperienza e' che l'e.m. complica le cose piu' di quanto non le aiuti. Non entro in dettagli altrimenti faccio un trattato :^)
- gestione esplicita dei package. C++ ha i namespace - ma chiunque abbia provato a lavorare con librerie diverse e vincoli di contratto sa quanto possono valere.. :)
- loading dinamico delle classi - il programma non e' quasi-monolitico come in C++.
- una libreria standard da paura, gratis.- una curva di apprendimento un pochino meno ripida. Per usarlo efficacemente ovviamente, tanto quanto C++, bisogna conoscere l'OO - altrimenti si resta praticoni a vita. ;-)
- supporto obbligatorio alle eccezioni. In C++ sono opzionali (e pochi programmatori le usano, dato che sono state aggiunte da relativamente poco), e i risultati sulla qualita' del codice si vedono.
- tempi piu' veloci per lo sviluppo e una generale miglior qualita' del codice prodotto anche da programmatori non.. sopraffini (nella mia esperienza, una ratio 3/5gg a favore di java per sw di complessita' media).
C++, d'altro canto:
- e' strutturalmente piu' performante. Alcune caratteristiche di java (gc, architettura a VM, etc) lo rendono piu' lento.
- e' stato recentemente standardizzato
- non ha un un'unica radice per le gerarchie di oggetti. Io personalmente non lo vedo come vantaggio, ma c'e' chi lo fa.
- non favorisce il downcast dinamico, che in Java e' una prassi
- ha i template, che a volte sono decisamente comodi
- ha STL, che e' potente e versatile - e soprtattuto ha un sacco di algoritmi ben fatti gia' pronti
- consente di accedere direttamente al s/o - che a volte e' indispensabile
- non e' facile da reverse-engineering-izzare (lo so e' orrido :) mentre java e' tutto sommato facilmente decompilabile.
- di java si sono avute almeno 15 versioni in tre anni. Il linguaggio, anche se imho maturo, e' ancora giovane.
Varie ed eventuali:
- java obbliga (piu' o meno) ad una strutturazione dei moduli "una classe-un file" (o poche classi *molto* correlate), C++ mantenendo la struttura header/codice a volte e' un incubo da ricompilare.
- c++ "vive" (anche se in forme e quasi-standard diversi) commercialmente dai primi anni 80, java da meta' 90. Questo significa che e' piu' "accettato" anche in ambiti conservatori.. ottenere un contratto nominando C++, in molti ambiti, e' ancora piu' facile che non nominando java.
Ovviamente ci sarebbe un libro di cose da scrivere.. comunque e' un inizio.
[A tutto questo è seguita un'interessante (imho) discussione sul design object oriented e sulle features di Java e C++, che e' troppo lunga da riportare qui. Se volete leggere l'intero thread, usate 
www.dejanews.com
 cercando negli articoli di Aprile 1999 di it.comp.lang.c++ (vari subject), -cris]
[T5.4] Soluzioni di reportistica per Java
Subject:
Soluzioni di reportistica per Java (WAS: 'Java e DB2')
From:
Bruno Bossola
Date:
1999/11/08
Newsgroups:
it.comp.java
Ciao a tutti,
in un altro thread e' uscito fuori il problema "reportistica per java": siccome a mio parere e' un tema che va messo in evidenza, ecco l'analisi (vecchia ormai di un mese) svolta dal mio gruppo sui prodotti di report (non sono in nessun ordine!) disponibili attualmente e che siamo riusciti a trovare e valutare velocemente.
Nome: JReport Professional
Builder visuale: Si
Costo: 995$
Licensing: 100 Desktop
URL: 
http://www.jinfonet.com/designer.htm
Commento: molto buono, licenza troppo cara, specialmente server-side 
Nome: Enterprise Report Writer
Builder visuale: Si
Costo: 395$
Licensing: 100 Desktop
URL: 
http://www.enterprisesoft.com/Products/ReportWriter.html
Commento: molto buono, licenza troppo cara, specialmente server-side 
Nome: InetSoft Style Report
Builder visuale: No
Costo: 495$
Licensing: Runtime free
URL: 
http://www.inetsoftcorp.com/report/index.html
Commento: ottimo, licenza poco costosa, potente API, manca pero' di GUI (presente solo per preparazione report colonnari). Da usare solo con programmatori
Nome: JJPRint
Builder visuale: No
Costo: ?
Licensing: ?
URL: 
http://www.finansys.com/jjprint_en.html
Commento: boh, sembra uno scherzo; libreria di API ultra-semplificata 
Nome: Parallel Crystal
Builder visuale: Si (usa Crystal Report)
Costo: ?
Licensing: ?
URL: 
http://www.mobileapps.com/products.htm
Commento: Non 100% Java, funziona inoltre solo con Server NT
Nome: BeanSteet Paper
Builder visuale: No
Costo: ?
Licensing: ?
URL: 
http://www.beanstreet.com/paper/paper.html
Commento: buono solo per semplici report colonnari
Nome: Crystal-Clear
Builder visuale: Si (usa crystal report)
Costo: ?
Licensing: ?
URL: 
http://www.inetsoftware.de/English/produkte/crystalclear/
Commento: sembra ottimo, utilizza i report di CRY 6 e 7, disponibile solo in beta, prevista uscita Q1-2000
Nome: PrintLet
Builder visuale: Si (almeno sembra)
Costo: 300%
Licensing: ?
URL: 
http://www.palmsoftware.com/
Commento: nessun commento su questo... sarebbe da rivedere
Nome: Jclass
Builder visuale: No (usa template XML)
Costo: 300%
Licensing: ?
URL: whups! manca!
Commento: orientato ai programmatori, sembra buono
Comunque, FYI, noi usiamo Crystal-clear. Molto comodo, permette la generazione dei report con Crystal Report 6 (strumento collaudato, diciamo :-)) e funziona a 2/3 livelli con app.server dedicato e modulino da scaricare sul client. Anche ERW e JReport secondo me sono ottimi, peccato per i costi :-(
Se avete dei programmatori (e tempo) a disposizione vi consiglio comunque InetSoft Style Report, sembra veramente ok!
Poi c'e' sempre la vecchia soluzione "artigianale" HTML, da considerare con attenzione in molti casi.
Postate sul NG altri pareri/soluzioni, e anche commenti aggiuntivi rispetto ai nostri (molto unilaterali), please!
Ciao,
Bruno.
NOTA IMPORTANTE
Questa versione e' ancora largamente incompleta -  ne faccio il post per avere un po' di feedback e trovare contributi e ...contribuenti!
NOTA
(in qualche modo importante):
nel periodo Giugno/Settembre 1998 (causa miei impegni di lavoro et similia) *non* sono state fatte modifche/aggiunte.

