3 ms·
Io was a hot topic around 2005-2006, but interest has faded. My impression is that the excitement was due to Io's extreme reflection capabilities and runtime dy
by wrp 15y ago
Io was a hot topic around 2005-2006, but interest has faded. My impression is that the excitement was due to Io's extreme reflection capabilities and runtime dynamism. These are interesting design features and Io is probably one of the best languages for exploring them, but I'm listing it here as a case of protoype-based object-oriented design.
Prototype OOP really was a challenge for this list. Although several prorotype-based languages have been developed, I think only Io and JavaScript have made it into production use. (Unless you count the crippled and long-dead NewtonScript.)
So why not JavaScript? Well, ugh, JavaScript is a mess, not just the language, but also the production environments, the documentation, and the user community. In addition to prototypes, JavaScript incorporates the functional paradigm plus a lot of random warts. Developing JavaScript apps for release is a nightmare because of platform differences. Documentation is little help, because even advanced books on JS take the approach that class-based OOP is what you really want, so they focus on how to hammer JS into something that looks like Java. They are many excellent 3rd party libraries, but they either treat JS as a functional language or force it into the class-based mould. So, I'd answer that you can write good prototype-based code in JavaScript, but you really need to be proficient before going in.
- johnm 15y agoYeah, Io never got to a (nice/good enough) v1.0 that people could do more than just play around with it. Secondarily, its radical dynamism makes it slow in those shootout benchmarks.