@Steve Dekorte Having made software for dumb people a good part of my career, i can easily tell that the Self system would baffle a majority of end users who are beginning programmers. Only a person with the concept of class hierarchies strongly embedded in their skull could possibly use it. That it allows override of a method for a single instance of a variable vs. for the class is such a huge "gotcha" he has to mention it in the first tutorial. That you have to warn users from the get-go about a giant pit of bafflement that awaits you is not a good sign. It isn't a question of personal taste, it is a question of ease of learning and use, and to require pre-requisite knowledge as this system does, would make it an instant fail. There are plenty of smart people who do can handle abstraction, and those people naturally gravitate to LISP, FORTH, Haskell, etc., but when you hand over a large code base written in this system to someone else other than the author, what happens then? What are the chances that the new maintainer can modify and extend that system? This is the big issue companies face every day, when software lasts 20+ years yet people move around every few years, so multiple generations of hand-offs have to execute smoothly, like a relay race. The relay race is the sport that is being run in our industry, and if i was given a large Self product to maintain (like the editor itself) I wouldn't have a clue as to how to discover how it works.