The pioneering 2014 paper on SqueakJS, which detailed the implementation of Squeak/Smalltalk in pure JavaScript, has been awarded the Most Notable Paper award by the ACM SIGPLAN Dynamic Language Symposium (DLS). This recognition highlights the lasting impact of the work by Vanessa Freudenberg, Dan Ingalls, Tim Felgentreff, Tobias Pape, and Robert Hirschfeld in bringing dynamic language systems to browser-based environments.
Historical Impact and Educational Reach
SqueakJS demonstrated that browsers and their JavaScript VMs could support highly dynamic and interactive Smalltalk environments. The implementation has proven particularly valuable in educational contexts, where restrictions on installing native software often limited access to important programming tools like Etoys and early versions of Scratch. By running entirely in web browsers, SqueakJS eliminated these barriers while maintaining backward compatibility with existing Smalltalk applications.
Technical Achievement and Performance Considerations
The project took an innovative approach by implementing a bit-compatible version of Squeak/Smalltalk atop JavaScript. While this layered approach has sparked some debate within the community, with performance benchmarks showing it running 100-200 times slower than the native C interpreter, the implementation's simplicity and browser compatibility have proven valuable for specific use cases.
Running a Squeak image unmodified in the browser by simply porting the VM is neat, as a curiosity. Kinda like booting Linux in the browser.
Performance Benchmarks:
- Chrome: 2-3 orders of magnitude slower than native
- Other browsers: 1-2 orders of magnitude slower than native Squeak Interpreter
- Implementation: Pure JavaScript
- Key Feature: Browser-native implementation requiring no plugins
Legacy and Modern Relevance
Today, SqueakJS continues to serve an important role in preserving computing history and enabling web-based access to Smalltalk environments. While some developers express concern about the performance trade-offs of layering dynamic languages, the project's success in making Smalltalk accessible through browsers has influenced similar efforts in other language implementations.
The award recognition comes at an interesting time in computing history, where the tension between performance and accessibility continues to shape development choices. While modern hardware capabilities have made such implementations viable, the ongoing discussion about efficient system design versus compatibility and accessibility remains relevant to today's software development landscape.
Source Citations: SqueakJS: A Modern and Practical Smalltalk That Runs in Any Browser