Self is a fast, somewhat obscure experimental object oriented computer programming language that was designed by SUN Microsystems.

Syntactically it is very similar to Smalltalk but is a prototype based language, rather than being class based as Smalltalk and most other object oriented languages.

Being a very high level language (a little higher than Smalltalk), it presented great challenges to make it run quickly. Due to some heroic dynamic recompilation techniques they pretty much succeeded - the language ran at about 1/2 the speed of optimised C; and quite a bit faster than Smalltalk!

Its main legacy is that it is a forerunner of interpreter techniques used in making Java run quickly (Hotspot) and led to a project called Dynamo by HP which is an "interpreter" that can run an instruction set faster than the CPU it runs on!

Additionally, Transmeta's Crusoe processor uses essentially the same technology to dynamically translate 80x86 machine code into VLIW machine code resulting in drastically reduced power consumption.