Newsgroup: it.comp.lang.delphi
Titolo: VB<->OOP??

Salve a tutti.
Mi sono ritrovato un corso con citato:
"TECNICO ELETTRONICO con competenze in PROGRAMMAZIONE AD OGGETTI ORIENTATI”
· Acquisizione delle basi del linguaggio Visual Basic
· Tecniche ed applicazioni per la programmazione ad oggetti con Visual Basic
mmm, Ma VB è OOP? è corretta al 100% una tale dicitura?
Ciao
Matteo

 ha scritto nel messaggio
news:adqluj$1f4j5$1...@ID-123015.news.dfncis.de...

Oggetti orientati per dove ? Nord -Est ?
Hehehehe
VB Object Oriented (anche se dot net............... mahhhhhhhhhh) ---> Molto
comico.
Ciao

Non avedo l'ereditarieta e il poliformismo, vb non è OOP.
Bye
AS

vb6 rispetto a vb5 ha in piu poche cose e molti bug.
vb.net
 come tutti i linguaggi .net sara OOP.
Bye
AS

> mmm, Ma VB è OOP? è corretta al 100% una tale dicitura?
 VB.Net è completamente OOP.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 VB.Net è completamente OOP.
Io non mi azzerderei a dire una cosa del genere: quali sono secondo te
i requisiti per cui un linguaggio possa essere definito
_completamente_ OO?
--
Rhymes (rhy...@NOSPAMmyself.com)
http://www26.brinkster.com/rhymes
" ride or die "

 _completamente_ OO?
Teorizzazioni sulla OOP a parte, 
VB.NET
 č certamente un linguaggio 
object oriented. Togliamo magari la parola "completamente" e mettiamola 
accanto al nome C++ o C#.
-- 
Best Regards,
Antonio Cangiano
Webmaster di 
www.visualcsharp.it
Fondatore di free.it.comp.lang.csharp
free.it.comp.lang.vbnet e free.it.comp.lang.aspnet
--

 _completamente_ OO?
Non esistono linguaggi "completamente" OO o "non completamente" OO.
Esistono linguaggi OO e linguaggi non-OO (o al piu' object-based).
Object-oriented indica la presenza di
incapsulamento/ereditarieta'/polimorfismo.
Il vecchio VB non possedeva ne' l'ereditarieta', ne' il polimorfismo, per
cui non e' un linguaggio OO.
L'incapsulamento e' sufficiente a rendere un linguaggio object-based.
Il 
VB.NET
, su cui non ho ancora (per fortuna ?) avuto modo di smanettare,
dovrebbe essere object-oriented, colmando, quindi, le mancanze del suo
predecessore.
Ma c'e' anche da dire che, stando alle voci che circolano, 
VB.NET
 non e' VB
;)
--------------------------------
Inviato via 
http://usenet.libero.it

accanto al nome C++ o C#.
Mmm


;)
? beh è stato parecchio rivoluzionato da quello che mi hanno detto


 Dissento. Ogni linguaggio implementa l'OOP in vari modi.
Questo e' diverso da quanto hai affermato e non contrasta con quanto ho
scritto.
E' chiaro che ogni linguaggio implementa l'OOP in vari modi, ma cio' non
vuol dire che sia piu' o meno OO di un altro. Un linguaggio OO puo'
implementare la OOP in modo diverso da un altro, ma non puo' essere + o - OO
rispetto a un altro, perche' la definizione di Object-Oriented e' precisa.
Se, poi, per te ha senso affermare che un torinese e' piu' italiano di un
milanese o un barese piu' pugliese di un tarantino...


un conto è l'IMPLEMENTAZIONE, ovvero, il COME.
Ma i requisiti, ovvero, il COSA sono fissi:
Ereditaerità
polimorfismo
incaspulamento
Se li hai, bene, altmenti non 6 OOP: punto.
Bye
A.


Giusto, anche se è da sottolineare che linguaggi come Java,
Delphi, C#, C++ e altri pertmettono di realizzare software
utilizzando im modo limitato la OOP.
Tutti questi linguaggi posseggono ad esempio dei tipi di dato
primitivi come Int, Real o Char che per motivi di prestazioni
(più che giustificati) non necessitano di una Rappresentazione
a oggetto (pur possedendola nel caso al programmatore si
rendesse necassaria). In fondo la OOP è si importante ma
una sua rigida implementazione (tutto dovrebbe essere solo
ed esclusivamente oggetti) non è ancora sufficientemente
performante e soprattutto necessaria (come si dice: La virtù
stà nel mezzo).
Che io sappia (ma sicuramente mi sbaglio) l'unico linguaggio
completamente OOP è lo Smaltalk.

 completamente OOP è lo Smaltalk.
Aridalle col "completamente" OOP ;)
Java, C++ e Delphi non hanno lo stesso approccio di Smalltalk ma non per
questo sono + o - object oriented di altri.


 questo sono + o - object oriented di altri.
Senza voler polemizzare ti spiego cosa intendo:
Faccio riferimento a Java di cui conosco meglio le basi della teoria.
Premesso che molto di quello che dirò non è farina del mio sacco
ma è tratto dal corso di Fondamenti di Informatica III che ho
frequentato alla facoltà di Ingegneria Informatica dell'università
di Padova il cui docente era (e penso sia ancora) l'addetto alla
formazione di Sun Microsystem Italia che tra l'altro era presente
ha personalmente presentato Java in Italia ai docenti delle varie
università quando è stato introdotto.
Java ha un implementazione nativa, non a oggetti, dei cosidetti
tipi primitivi (int, float, char, ...) ed anche un'implementazione
a oggetti di questi (Int, Float, Char - nota la prima lettera
maiuscola).
Ora quando scrivendo del codice ho necessità di utilizzare
ad esempio un contatore lo dichiaro di tipo intero
int contatore;
e lo utilizzo nel modo tradizionale (contatore++ e altro che ben
conosci).
Per rispettare la programmazione OOP in modo stretto dovrei
utilizzare l'oggetto Int e non il tipo primitivo:
Int contatore=new Int();
Ed utilizzarlo chiamando le varie proprietà e i metodi di esso
(Value, Add, ...).
Si deduce da quì che Java e (non molto a dir vero) permissivo
nel infrangere le regole della programmazione a oggetti, dove
in teoria tutto deve essere oggetto.
Nell'esempio specifico Smaltalk non ha implementazioni NON
A OGGETTI di nessun tipo e ti "costringe" a seguire la OOP
in modo streto senza nessuna possibilità di aggirarla.
Ora Java (ma anche C++) fanno questo per motivi prestazionali,
perchè la rappresentazione in memoria di un un oggetto è più
onerosa di un semplice intero (ad esempio).
Senza continuare la discussione puramente filisofica, spero
sarai d'accordo che parlando di pura teoria delle OOP ci
sono linguaggi più permissivi e altri meno. Per me un linguaggio
è "completamente" (forse non è la parola adatta) OOP quando
mi costringe a seguire solo il Paradigma a Oggetti senza darmi
la possibilità di sgarrare (anche se ammetto che preferisco i
linguiaggi più flessibili, Delphi fra tutti).
  Ciao

 mi costringe a seguire solo il Paradigma a Oggetti senza darmi
Scusami se te lo dico, ma evidentemente hai le idee confuse su cosa sia il
"paradigma ad oggetti". Il C++ e' un linguaggio multiparadigma, consente di
seguire la strada tradizionale procedurale o di abbracciare la filosofia ad
oggetti ed e' un linguaggio che segue STRETTAMENTE i principi della
programmazione orientata agli oggetti.
E questo, pur non avendo l'approccio SmallTalk nella gestione dei dati.


 milanese o un barese piu' pugliese di un tarantino...
esiste il razzismo anche nella programmazione?


Uh ?
