Newsgroup: it.comp.java
Titolo: LINGUAGGIO MIGLIORE?

 >grazie in anticipo.









Ciao

che  



 wrote in message
382c28a3....@news.libero.it...


fase calante...
A questa conclusione come ci sei arrivato?
Ciao,  
 P.    === Replace "punto" with "." to get my email address.

Il problema è che l'OOP sembrava risolvere tutti i problemi della
programmazione intesi come progettazione e strutturazione del software,
ma se questo è vero per grandi progetti per piccoli progetti l'OOP
potrebbe portare un OverHead non pienamente giustificato. Lo sabglio che
la maggior parte di Noi fa (me compreso) è quello di considerare un
paradigma di programmazione migliore e quindi esustivo rispetto agli
altri ma il problema non è che il paradigma è migliore ma che noi
sappiamo usare meglio dei linguagi rispetto ad altri. Quindi come tutte
le cose quando sono nuove sembrano essere la panacea dei mali poi in
modo più ponderato se ne apprezza i vantaggi ma anche gli svantaggi.
Quindi ora l'OOP (secondo me) è nella sua fase di maturità in cui se ne
apprezzano gli enormi vantaggi per la progettazione del software ma si
sanno anche le limitazioni e cioé un linguaggio come Java ha una
Tipizzazione forte e quindi dei Cast obbligatori ed espliciti, ma se
questo ci preserva da errori di tipi rende anche il linguaggio più
rigido per altri tipi di programmazione... :-)
Bhé ti saluto, il discorso è lungo, magari continuiamo via mail private
onde evitare Thread spaventosi
Ciao
Roberto
Piero Cavina ha scritto:


 fase calante...
Buono a sapersi, cosi' mi cerco un altro lavoro in tempo ;-)
--
God is Real, unless delcared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

No perché? Vai bene così :-)
Cristiano Sadun ha scritto:


Comunque mi sono scocciato di questo Thread come al solito siete tutti
grandi programmatori nell' Olimpo dei DEI ed io povero ed infimo
programmatore non arriverò mai al vostro livello..... :-| 
Saluti a tutti
Vostro umile servitore
Roberto
...............................

 Veramente mi sembra che SmallTalk ci fosse prima di Java.
Infatti ho detto facciamo tutto in Samlltalk no che Java è nato prima di
Smalltalk











 wrote in message
news:382D392F...@tiscalinet.it...


Scusatemi: ma se OOP e' in calo, vuol dire che c'e' gia' qualche cosa al suo
posto e vorrei sapere che cos'e'!
Ciao
Andrea
Cristiano Sadun ha scritto:


 Roberto
Caro Roberto,
non e' questione di essere al "livello degli altri", la questione puo'
essere risolta molto piu' semplicemente: prova a leggere un libro di
"Ingegneria del Software" (io ti consiglio: Software Engeneering with
Java) e capirai perche' la programmazione OO non e' solo il presente ma
anche il futuro e perche' Java e' un buon linguaggio, a differenza del
Visual Basic.
Dopo di che' puoi continuare ad usare, se vuoi, VB o Pascal o C o Basic o
Small Talk, quello che vuoi, se i tuoi progetti sono medio-piccoli ma
affrontare un progetto grande senza adeguata progettazione e', davvero, un
incubo.
Saluti,
				Omar.
--
Omar Frenquelli
Studente Informatica, Universita' di Bologna
e-mail:		
fren...@cs.unibo.it
url:		
www.cs.unibo.it/~frenquel/
software:	
www.cs.unibo.it/~frenquel/fantacalcio/
--

Mi piace questo tema. 
Premesso che ritengo l'OOP un approccio fondamentale allo sviluppo del
software, e Java la sua miglior base mai vista nel complesso:
1) Ho avuto grosse difficoltà a "entrare in sintonia" con Java, ed ho
potuto farlo solo dopo aver studiato parecchio le API.
Questo fatto mi fa ritenere che per cominciare a diventare
programmatori Java sia necessario un notevole sforzo.
2) Assodato che quelli che si dichiarano "programmatori html" non
saranno forse mai interessati a sviluppare programmi veri, resta il
problema di una gran massa di sviluppatori che non userà mai Java per
le difficoltà nell'apprendimento. 
Questi sviluppatori continueranno a fare la fortuna di VB e simili,
mantendo una massa che nel tempo potrebbe anche far sparire Java a
favore della falsa OOP (vedo nelle librerie che l'80% dei libri di
informatica é edito M$ o legato a suoi prodotti).
3) Una strada potrebbe essere quella di classificare il contenuto
delle API (classi, costanti, variabili e metodi) in tre/quattro
livelli di visibilità da parte degli sviluppatori, fornendo delle
classi di defult che implementino in modo magari rigido e limitato il
comportamento non visibile a quel livello. Quasi inserire nel
linguaggio il problema didattico
Per tentare di spiegarmi faccio un esempio macroscopico: 
il multi-threading é un bel mattoncino per chi comincia, eppure é
quasi inutile per moltissime applicazioni. 
Probabilmente a livello più basso di sviluppatore basterebbe una
classe molto rigida, quindi facile da usare, per gestire qualche
sporadica necessità, giusto una animazione o una operazione di I/O.
Meglio passare il tempo a studiare una tecnica limitata ma subito
utilizzabile che una tecnica bellissima ma che resta confusa.
Fare una classificazione come questa non é uno scherzo e penso
potrebbe venire più dal parere di chi sviluppa che non dai super
bravissimi dei laboratori SUN/IBM. Forse un approccio in stile Linux
sarebbe praticabile.


 ...............................

 Andrea Laforgia        (
andrea_...@bigfoot.com
)

Risponderò al più presto scusate ma ora ho da fare..
Ciao a tutti
Roberto
To be continued.....
Scorpio ha scritto:




Andrea
Io ero vagamente ironico. :) Sinceramente, non credo affatto che l'OOA&D&P sia 
'in calo' - anzi, proprio in questi anni se ne stanno scoprendo le 
potenzialita'. L'affermazione - senza offesa - mi faceva semplicemente 
sorridere. 
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun/

utilizzabile che una tecnica bellissima ma che resta confusa.
Be', momento. Se vuoi scrivere codice MT, devi capire la programmazione MT - a 
meno di quanto detto sopra. Se non vuoi farlo, java (come C++) ti permette 
perfino di evitare il soggetto. Dov'e' il problema? :)


progetto.
Hm. Credo che sia difficile fare un'affermazione generale in tal senso. O 
meglio, dipende da se, quando e quanto paghi la formazione; perche' se conosci 
bene il paradigma, imho esso diventa efficace e ti fa risparmiare 
(letteralmente) anche in progetti piccoli.
Personalmente, ho scoperto l'OO verso la fine degli '80, quando - per pagarmi 
l'universita' :) - facevo progetti di piccole dimensioni per aziende e privati.
All'epoca - in quanto studente - avevo tempo, entusiasmo e voglia da dedicare a 
comprendere e verificare a fondo l'approccio OO (all'epoca si parlava di OOP).
Ora, io sviluppo velocemente, di solito  (vabbe', quando sviluppavo di mestiere 
:), ma passando da C a C++ notai un incremento di produttivita' notevolissimo - 
che si rifletteva sul tempo che dedicavo ai progetti (a parita' di risultati 
economici). 
Cio' che mi convinse non furono ne' libri ne' affermazioni generiche - ma il 
fatto che in poco tempo mi ritrovai a consegnare codice con identica qualita' 
in un terzo del tempo - il tutto con tools come il C++ borland e un C++ 
versione 2.0 che di standard non si aveva nemmeno l'ombra. 
Ovviamente cio' era dovuto al fatto che - tempo e passione a disposizione - mi 
ritrovai a conoscere l'OO dell'epoca in tutti i minuti dettagli - che significa 
potersi avvantaggiare di tutti gli aspettti in gioco.
Quando usci' VB1.0, ovviamente lo provai e ne rimasi piacevolmente colpito per 
alcuni aspetti (era nell'aria... con un amico, stavamo all'epoca pensando di 
costuire un sistema che permettesse di disegnare finestre e controlli e 
produrre il codice C++ relativo, facendo uso di una libreria di windowing che 
avevamo scritto :), ma notai come la mancanza di caratteristiche che ormai 
trovavo fondamentali a medio termine (il typecheck stretto, per esempio) e la 
base procedurale e non OO, non compensavano il vantaggio di tempo ottenuto nel 
disegnare la GUI invece che codificarla.
Questi, ovviamente, sono i $0.10 della mia personale esperienza. :)


 che svilupparsi ulteriormente.
D'accordo.
La programmazione ad oggetti e' il miglior paradigma per una serie di
buoni motivi:
1) Alta coesione delle classi: una classe e' ristretta ad uno specificato
obiettivo ed i metodi della classe intervengono solo in quello obiettivo.
2) Lasco accoppiamento tra le classi: non si utilizzano metodi che
influiscono "parallelamente" su altre classi (se non in rarissimi casi).
3) Information Hiding: possibilita' di nascondere i dettagli di una classe
al livello superiore e possibilita' di progettazione ad alto livello
Ovvero:
Facile progettazione, pochi errori, facile manutenzione, alto riuso. 
Sapevate che in una progetto serio l'80% del tempo viene speso nella
progettazione e solo il 20% nella stesura del codice?
Sapete che correggere un errore costa 1$ nella fase di progettazione ed
aumenta in maniera esponenziale nelle 6 fasi segeuenti del ciclo di vita
del software?
La programmazione OO e' quella che permette di pensare in modo piu'
"naturale" e sopratutto quella che permette (se ben utilizzata) di
abbassare i costi di progettazione, manutenzione e abbassa radicalmente il
pericolo di errori.


del software?
1       $  nella fase dei requisiti
3-6     $  nella progettazione
10      $  nella fase di stesura del codice
15-40   $  nel collaudo di sviluppo
30-70   $  nel collaudo di sistema
40-1000 $  a sistema funzionante
(Roger Pressman, "Principi di ingegneria del software", McGrawHill, pag.192)

perfino di evitare il soggetto. Dov'e' il problema? :)


(letteralmente) anche in progetti piccoli.
Anche questo è vero.
Come al solito la questione si riduce alla qualità dell'esperienza
acquisita nell'uso di un linguaggio.
Conoscere bene un linguaggio significa, nella maggior parte dei casi,
riuscire a sviluppare codice velocemente e con un debugging ridotto
all'osso, ottenendo dei vantaggi anche dal punto di vista economico.
Devo ammettere, a questo proposito, che la lettura del "Foreword" di
"Thinking in Java" è stata quantomeno illuminante ;)
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

 Quale è il linguaggio migliore, ovvero + moderno, + potente, + Sul mio sito c'è un confronto Java-VB, se ti può interessare.
Ciao,
-- 
Massimiliano Bigatti
Java Consulting (Open Consulting)
http://members.xoom.com/bigmax74

 mondo dell'informatica professionale è richiestissimo....
Il problema è che il fatto che nel mondo del lavoro viene richiesto, non
fa di VB un buon linguaggio. 
Gente che viene da esperienze quali Commodore 64, GwBasic, QuickBasic 2,
4.5, Visual Basic, C, C++, Pascal, Clipper (come me, ad esempio) e
finalmente approda a Java non può far altro che apprezzarlo come un
ottimo linguaggio.
E francamente, dopo aver programmato per anni in basic, in una serie di
dialetti diversi, uno è anche un po' stufo. E sopratutto ne rileva i
limiti intrinseci. 
Java è un progetto ex-novo (per alcuni versi), mentre, nello stesso
tempo, riassume quanto c'è di buono nei linguaggi esistenti (layout
manager, OOP, eventi, ed altro).
Una persona esperta in programmazione sente Visual Basic (come del resto
altri prodotti "esotici", quali PowerBuilder, Foxpro o Visual Object)
come troppo limitati e non lineari e come raffronto apprezza la
linearità e la pulizia di Java.
PS: raffronto Java-VB sul mio sito.


40-1000 $  a sistema funzionante
Lo sapevo che Bill Gates era ricco !!!...
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

P.S.: si vede molto che sono un principiante?  :-)
:)


 mondo dell'informatica professionale è richiestissimo....
Visual Basic abbassa il livello di ingresso nel mondo della programmazione
ad un livello accettabile per i più pivelli. Butti dei controlli in una
form, scrivi quattro righe di codice e oplà qualcosa funziona.
Quiesto approccio è tragico in un progetto di grosse dimensioni: ti dicono
che il codice cliente non è più di sei cifre ma di otto con le prime due
posizioni alfabetiche, quanti file devi modificare? Quando sei sicuro di
averli toccati tutti?
La creazione di strutture di oggetti solide e sensate in Visual Basic è un
compito improbo e alla fine il gioco non vale la candela perché la fatica di
farlo aumenta i tempi di sviluppo. Ci si rassegna sempre, quindi, a
costruire l'ennesimo mostro cambiando numero di cellulare appena consegnato
il progetto per far perdere le proprie tracce.
Il C++ è stato un altro incubo, un Frankestein di linguaggi con dentro un
linguaggio agile e sporco, come il C e costrutti di una complicazione tale
che nessuno ha perso il proprio tempo a studiarli tutti. Ricordo di avere
detto in una riunione "vogliamo finire il progetto o vogliamo farlo in
C++?". Il C ANSI è molto più produttivo come linguaggio e, se i
programmatori hanno esperienza, non è neanche un grande incubo usarlo.
Java ha una sintassi stretta, errori di compilazione che ti salvano da
errori di run time particolarmente ostici da trovare e un'impostazione
object oriented senza compromessi. Oltre a questo ha una libreria di classi
di supporto eccellente.
Visual Basic ti dà una grande velocità in fase di avvio di un progetto (ma
solo perché fai vedere un mucchio di interfaccia senza niente dietro) e ti
strozza inesorabilmente quando cominci a superare la quindicina di sorgenti.
Credimi, ho fatto un proetto (Dio mi perdoni) con 220 class files e ne so
qualcosa!

 qualcosa!
Alle volte il numero di righe o di classi o di sorgenti non dà la
dimensione reali della complessità del progetto, ho fatto anche io
progetti di queste dimensioni e Progetto in VB di più di 15 sorgenti ma
ti assicuro che il programma gira benissimo, sicuramente più veloce di
Java, poi il type checking di Java è sicuramente a garanzia di programmi
corretti sintatticamente ma u bravo programmatore sà come testare ogni
programma in ogni linguaggio, allora chi programma in Assembly che cosa
è uno scemo?

programmatori hanno esperienza, non è neanche un grande incubo usarlo.
Io non credo che sia cosi'.
Conosco molto bene il C e penso che gestire un progetto in questo
linguaggio (in piu' persone) sia piu' problematico che non adottando
il C++.
In generale, ritengo che utilizzare un linguaggio orientato agli
oggetti agevoli nel portare avanti un progetto, piu' di uno
procedurale.
E poi considera che tutti i piu' grossi applicativi sono scritti in
C++, ci sara' un motivo ! ;)
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

C++, ci sara' un motivo ! ;)
Sono d'accordo con te - ma non sull'implicazione dell'ultima frase. Molti 
grossi applicativi sono scritti in COBOL, se e' per questo.. ;-)


grossi applicativi sono scritti in COBOL, se e' per questo.. ;-)
D'accordo, ma il COBOL serve per un ambito specifico, che e' la
gestione dei database e, per esperienza personale, posso affermare che
si continua ad utilizzare  questo linguaggio solo perche' e' troppo
complicato riscrivere migliaia di linee di codice in un nuovo
linguaggio ;).
Contiamo, poi, il numero di applicativi scritti in COBOL, rispetto a
quelli scritti in C++ ;).
--
Andrea Laforgia        (
andrea_...@bigfoot.com
)

 quelli scritti in C++ ;).
Appunto. :( In LOC, ho la sensazione che COBOL vinca di gran lunga (anche
perche', dal '54.. :). Pero' mi hai incuriosito - vedo se riesco a trovare
qualcosa di piu' sostanzioso.

 °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

 si ;)


 vedono) è un'altra storia.


 Grazie!

 --


 Ciao


 E allora vivi in un' altra era aggiornati amico mio VB è una piattaforma


 E allora vivi in un' altra era aggiornati amico mio VB è una piattaforma
esatto... vivo in un'altra era. Ma non nel passato.
Fortunatamente i tempi stanno cambiando, e la gente improvvisata avrà sempre meno
spazio. Comunque, non accetto il consiglio di aggiornarmi, perchè io studio



C'è forse dell'ironia nelle tue parole?
I progetti di cui sono responsabile comunque di solito funzionano, i programmatori che
lavorano per me cercano di applicare questi concetti in ogni riga di codice e cercano
soprattutto di pensare di più e scrivere di meno, uno dei concetti cardine dell'OO. Più
design e meno codice, soprattutto improvvisato come quello che cerchi di propinarci tu
come unica via.
Ancora non riesco a capire quale sia il motivo di questo thread: hai sostenuto delle cose
insostenibili ed ora cerchi di allargare i tuoi limiti personali a tutti i partecipanti.
Cui Prodest?
--



ma mettermi in discussione su che? Fammi il piacere, fammi.



Sei tu che hai iniziato con questo tono, quindi vedi di non offenderti e stai buonino al
tuo posto.
Ciao


 sviluppare su una Piattaforma Microsoft ha i suoi vantaggi....
Quando avevo 11 anni, mio padre mi comprò uno stupendo sfavillante 8086 per
oltre 2.000.000 di lire, e devo aggiungere che dando un'occhiata ai listini
dell'epoca gli fecero un bello sconto... dopo un mese aggiunse un manuale
della Jackson per il GWBasic, e per 3-4 anni ho programmato su quella
piattaforma... tra gli 11 ed i 14 anni... poi si cresce... più grandicello
per motivi di vile denaro sono tornato ad avere a che fare con il VB... il
più bel libro che abbia letto sull'argomento è Hardcore VB 5, di Bruce
McKinsley, e Ti assicuro che i miei soldi sono stati ben spesi; ora
McKinsley, un signor sviluppatore su quella piattaforma di cui parli, ha
scritto un bellissimo articolo sul VB, che Ti potresti andare a leggere su
Devx; se lo fai, ricorda che Io concordo con lui dalla prima all'ultima
riga, nessuna esclusa, e che quando anch'Io ne avrò le possibilità
intellettuali e le conoscienze necessarie, farò la stessa identica scelta...
nonostante tutto il codice, le classi ed i controlli che già ho sviluppato
su quella piattaforma, alla fine almeno fino ad ora non ne vale veramente la
pena, se Ti poni certi obiettivi.
Se vuoi lavorare a pezze e tappa buchi, se Ti interessano pochi soldi,
sporchi, subito e maledetti, poche speranze che diventino molti, o sei hai
fiducia in una nuova versione con costruttori, vere interfaccie, tipi
unsigned, operatori di conversione all'antica, protected, e quindi
ereditarietà in una qualche forma effettiva, smells di polimorfismo e un
altro bel po' di cose e che il tutto lo facciano compatibile con l'esistente
più di quanto vb5 lo sia con vb6 o almeno tanto, allora Vb è il linguaggio
che fa per Te.
Ale

 Devx; se lo fai, ricorda che Io concordo con lui dalla prima 
Puoi darmi il riferimento preciso ?
Ciao,
-- 
Massimiliano Bigatti
Java Consultant (Open Consulting)
http://members.xoom.com/bigmax74