Newsgroup: it.comp.programmare
Titolo: Programmazione OOP

Salve amici del NG.
Sto cercando di imapare a programmare con un linguaggio che sfrutta la
programmazione OOP.
Sapete dirmi se in rete trovo qualcosa in italiano su tale argomento, meglio
se un documento o pdf che posso scaricare e leggere con calma.
Grazie.


prego
--
.A
UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
Read my blog at: 
http://www.ugidotnet.org/4.blog

spucc wrote:

Non c'e` altra abbondanza che testi (anche in italiano) sui numerosissimi
linguaggi che "sfruttano la programmazione OO" (la P in OOP sta per
"Programmazione", quindi "programmazione OOP" e` un po' ridondante;-).
Il linguaggio OOP oggi piu` popolare e` probabilmente Java.  "java
italiano" ti offre 239,000 possibilita`; una ventina sono in
particolare elencati al sito:
http://directory.google.com/Top/World/Italiano/Computer/Programmazione/Java/?tc=1
con una righetta riassuntiva su cosa ti offra ciascun sito.
Sali di un gradino, a:
http://directory.google.com/Top/World/Italiano/Computer/Programmazione/
e trovi anche i link per Perl (usabile per OO, ma non in modo semplice)
e Python (assai piu` adatto), oltre a una quarantina di siti generali
(per lo piu` non OO).  Dal link sul C, oltre al C stesso (non OO) trovi
anche un link per C++ (OO, molto ricco e complicato) e C# (Microsoft,
piu` che altro, comunque vagamente simile a Java e pur sempre OO).
Personalmente, oltre a Java (strettamente per la sua popolarita`) o
Python (per la sua semplicita`, potenza, e facilita` di collaborazione
con codice esistente in qualsiasi altro linguaggio, incluso sia C,
sia C++, sia Java), suggerirei come possibile alternativa anche Ruby,
http://ada2.unipv.it/ruby/index.rb?cmd=view;name=top
 -- potenza del
tutto paragonabile a Python, semplicita` quasi, piu` "puristicamente
OO".  Mentre Python, accanto all'OO, offre alternative di tipo
procedurale e funzionale (e quindi e` multi-paradigma, come C++), Ruby,
come Java, e` mono-paradigma -- soltanto OO, senza alternative.  Inoltre
Python, come C++, supporta l'eredita` multipla, mentre Ruby, come Java,
si limita all'eredita` singola [con certe estensioni -- interfacce
in Java, mixin in Ruby].  L'uso esclusivo dell'OO, e l'eredita` singola,
possono forse facilitare l'uso di Ruby, rispetto a Python, se l'unico
obbiettivo e` "imparare l'OO".
Sia Python sia Ruby sono a tipizzazione forte dinamica; chi invece
preferisca la tipizzazione statica potrebbe considerare anche Eiffel,
http://www.programmazione.it/index.php?entity=earticle&idArticle=141&idArea=19
linguaggio _quasi_ puramente OO (supporta anche il generic programming,
come C++ e tutti i linguaggi a tipizzazione dinamica, ma ormai sembra
che li aggiungano anche a Java, quindi un "OO senza generic" non e`
decisamente piu` di moda), con tipizzazione forte statica, eredita`
multipla, overloading.  Come Java, Ruby e Python, e a differenza del
solo C++, Eiffel supporta e si impernia sulla garbage collection, che,
benche` non "intrinsecamente" necessaria all'OO, e` di sicuro comodissima.
Ignoro qui, purtroppo e a malincuore, Smalltalk, il piu` classico e
ancora valido dei linguaggi OO (tipizzazione forte dinamica, sintassi
peculiare ma interessante, TUTTO si impernia su "messaggi spediti ad
oggetti" comprese cose come IF e WHILE che negli altri linguaggi,
anche OO, sono invece concetti del tutto separati, garbage collection),
perche`, ahime`, non conosco alcun corso in linea su Smalltalk in
italiano.  Ruby ha preso molti concetti da Smalltalk (non la sintassi,
e non l'universalita` del "messaggio" -- anche in Ruby, come in tutti
gli altri linguaggi qui esaminati salvo Smalltalk, ad esempio, "if"
e` una "istruzione", concetto del tutto diverso da "messaggio" -- solo
in Smalltalk questi concetti si unificano), quindi presumibilmente
puo` offrire QUASI tutti i vantaggi didattici che Smalltalk potrebbe
presentare.  Peccato, pero`.  Per la stessa ragione ignoro Dylan,
altro linguaggio peculiare e interessantissimo (con i suoi multimetodi,
le potenti macro, la tipizzazione che puo` essere sia statica sia
dinamica e qualsiasi livello intermedio: i concetti sono praticamente
gli stessi del Common Lisp, ma con sintassi piu` "normale"...).
Alex

 particolare elencati al sito:
[SNIP]
forse ti sei dimenticato di menzionare un linguaggio che si mangia (o
mangera') a colazione tutti quelli che hai
citato --------------------------------> C#
Lemon_Jelly

Lemon_Jelly wrote:

E forse no, se *LEGGI* il mio post cui stai *RISPONDENDO*...:
"""
anche un link per C++ (OO, molto ricco e complicato) e C# (Microsoft,
piu` che altro, comunque vagamente simile a Java e pur sempre OO).
"""
[Il "piu` che altro" si riferisce a Mono (che pero` non e` ancora
abbastanza maturo per suggerirlo a un principiante, IMHO); il
"vagamente" e` un po' debole, la somiglianza a livello di *linguaggio*
e` tutt'altro che "vaga", semmai differiscono assai le *librerie*].
E` veramente meraviglioso come Mr Gelatina al Limone possa
rispondere senza neppure darsi la briga di leggere quello cui
risponde, nevvero?  Da` un'ottima idea della fondatezza delle
opinioni che esprime...:-).
Alex

 opinioni che esprime...:-).
merda come sei acido..
calmati Mr Simpatia..
Lemon_Jelly