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.