4 ms·
Sounds promising. The trouble is that programming-as-teaching relies on a fairly rich set of runtime language features. The language runtime has to know a bunch
by mikelevins 8y ago
Sounds promising. The trouble is that programming-as-teaching relies on a fairly rich set of runtime language features. The language runtime has to know a bunch of stuff about what's in memory in order to provide the programming-as-teaching features. That makes it hard to add the needed features as bolt-on extensions. You sort of need the whole environment to be designed for that kind of work from the ground up.
So if you're right that programming-as-teaching, and image-based development, is a good solution to the issues you face, then an old-fashioned Smalltalk or Lisp system seems like a good choice. If you want those features, but you don't want Lisp or Smalltalk, then I think your only option is to build a new development environment for your language of choice that has the requisite support.
That's a tall order.
Sometimes I've idly toyed with the idea of writing a Ruby implementation on top of a Common Lisp or Smalltalk runtime, but that would be a huge amount of work with no guarantee that there's any demand for it.
- rpeden 8y agoIsn't MagLev sort of a Ruby implementation on a Smalltalk runtime? I remember reading about it, but never used it. It's up on GitHub, but looks fairly dead: https://maglev.github.io https://maglev.github.io For fun, here's some Smalltalk code from the MagLev codebase that modifies the image's Object class to better support Ruby: https://github.com/MagLev/maglev/blob/master/src/smalltalk/ruby/Object_ruby.gs https://github.com/MagLev/maglev/blob/master/src/smalltalk/r...
- mikelevins 8y agoGood point. I'd forgotten all about it. Sorry to hear it's dormant; I might have to take another look at it anyway.