On 3/25/2010 10:30 AM, Igor Stasenko wrote:
Then i really wonder, why people find an Alien so attractive?
There are two different reasons, one is philosophical, one is practical. The practical issue is callbacks. When you need them you just need them :-)
The philosophical point is about how a system like Squeak should integrate into the external environment. My opinion is that the VM should provide a safe cross-platform abstraction layer. As a consequence, I am in favor of plugins that provide abstractions, have a well-defined interface, and are safe however you use them. The only real sin I've ever committed in this regard was OpenGL because the interface is so big and the handling of extensions tricky otherwise.
Gilad's opinion (and I hope I'm not misrepresenting him here since this an extrapolation from discussions with Eliot) as far as I understand it is that the VM should be basically invisible - just the execution machinery and for the rest you go straight to the OS and do everything there.
That's a perfectly valid position, and Alien makes that point quite explicitly with moving even the marshalling into the image. I.e., what Alien really provides is just an absolutely minimalistic thunk for callout and callback; everything else is up to you. I can appreciate that approach; it's just not my view on how a system like Squeak should function.
I think what excites people who understand this is the philosophical difference. Having access to everything at your fingertips is powerful, no doubt about it.
Plus, most people have no clue what they're talking about when it comes to plugins vs. FFI vs. Alien and just repeat what someone else said. Sad, but true.
Cheers, - Andreas