In visual basic 6 si possono creare oggetti (vedi pillole in rilievo) ma non è propriamente un linguaggio OOP dal momento che non offre alcune delle caratteristiche fondamentali delle classi come l'ereditarietà e il polimorfismo, non è altresì supportato l'overloading diciamo si possa definire un linguaggio basato sugli oggetti.
In vb.net queste limitazioni spariscono vb.net e in generale tutti i linguaggi .net incoraggiano l'oop. Vb.net ha tutte le caratteristiche di un linguaggio OOP infatti possiede tutto quello che serve anche se ha una piccola pecca l'ereditarietà singola.
La curva di apprendimento di vb.net è secondo me più ripida ma per uno che non viene da nessuna precedente esperienza, per uno che conosceva bene visual basic non è una passeggiata io dopo un'anno (non per lavoro) non sono ancora ai livelli di vb6, per chi veine da c++ java forse è addirittura + facile che non vb6