JavaScript e Io, duas linguagens, um conceito OO.

Aprender Io me ajudou a entender melhor o JavaScript. Io é uma linguagem de programação com a qual muitas pessoas não estão familiarizadas. Tanto Io quanto JavaScript são programação baseada em protótipo, que é um estilo orientado a objetos onde não há classes. A ideia é que você tenha um objeto base do qual você clona. A partir do objeto clonado, você insere métodos da superfície. Abaixo, vou mostrar dois exemplos de OO em Io e JavaScript

Aqui está uma implementação muito básica de OO em JavaScript

var Animal = function() {
this.name = function() {
return 'Jack';
}

return this;
}

var Dog = function() {

this.bark = function() {
return 'BARK';
}

return this;
}

// Dog extends animal
Dog.prototype = new Animal();

// Creating an instance of Dog.
var dog = new Dog();
dog
.bark(); // 'BARK'
dog
.name(); // 'Jack'

Aqui está o mesmo código em Io

Animal := Object clone
Animal name := "Jack"

Dog := Animal clone
Dog bark := "Bark"

Dog bark // "Bark"
Dog name // "Jack"

Definitivamente, recomendo dar uma olhada no Io e tentar. http://iolanguage.org

Confira também o livro Sete Línguas em Sete Semanas. Acho que aprender vários idiomas pode realmente ter um impacto em como você programa e pode realmente torná-lo um programador melhor em seu idioma principal.