O Smalltalk, apesar de ser uma das precursoras da linguagem Java, não é uma linguagem orientada a objetos.
O Visual Basic foi pioneiramente adotado para tornar as páginas da Internet menos estáticas.
A principal diferença entre o Java e o C++ é que o Java apenas usa objetos, exclusivamente.
Na programação com linguagem OO, quando uma mensagem é enviada a um objeto para chamar um de seus métodos, é o próprio objeto que retorna, como resposta, o valor da computação do método.
O C++ é uma linguagem que não permite orientação a objetos embasada em procedimentos, por não ter características de linguagem imperativa.