[Vm-dev] RE: To FFI or not to FFI

Eliot Miranda eliot.miranda at gmail.com
Tue Oct 5 03:47:16 UTC 2010


On Mon, Oct 4, 2010 at 1:04 PM, Colin Putney <colin at wiresong.com> wrote:

>
> On Mon, Oct 4, 2010 at 11:56 AM, Andreas Raab <andreas.raab at gmx.de> wrote:
>
> > In practice, there is a *huge* advantage for porting if all you need is a
> C
> > compiler and a bit of knowledge about the underlying OS support.
>
> This brings up a question that I've been wondering about for a while.
> How useful is Slang these days?
>
> I can totally see how it would have been faster to get the new VM up
> and running in Apple Smalltalk in the first place, but I'm wondering
> if these days it's more trouble than it's worth. Most dynamic
> languages (eg, Ruby, Python, Perl, Javascript) are implemented in
> straight, idiomatic C and benefit a lot from the fact that many, many
> people already have the skills needed to work with the language and
> toolchain.
>
> In contrast, the Squeak VM is written in a language that almost nobody
> knows, using tools that almost nobody understands. Outside of the
> current maintainers it's a very short list, and many of the people on
> it aren't active in the community anymore. "Implemented in its self"
> is kind of neat, but as a practical matter, Slang is not Smalltalk,
> and a developer skilled in both C and Smalltalk still has a lot to
> learn before he can contribute to the VM.
>
> So here's a question to the folks that are actively hacking on the VM:
> is Slang still beneficial in your day-to-day work? Do you write and
> debug using the simulator? Is it worth the high barriers to entry for
> the uninitiated?
>

Slang sucks. Developing in Smalltalk is great.  I like using Slang to being
continually hit over the head by an ungiving guru; plenty of pain but no
enlightenment.  The problem is you write Smalltalk that works, push it out
and when it doesn't work due to some internal Slang issue you're in a lot of
pain.  Do you try and fix Slang, do you mangle your Smalltalk to function
within its limitations (and forget to comment why, e.g. ::

loadNewPlugin: pluginString
| plugin plugins simulatorClasses |
transcript cr; show: 'Looking for module ', pluginString.
"but *why*??"
(#('FloatArrayPlugin' 'Matrix2x3Plugin') includes: pluginString) ifTrue:
[transcript show: ' ... defeated'. ^nil].

Seriously, if anyone knows why these two are disabled *please* let me know.

Yes I write and debug using the simulator.  Yes it is worth the high
barriers.  But Slang is still a massive, fragile hack.

HTH
Eliot




> Colin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20101004/8a1c45e1/attachment.htm


More information about the Vm-dev mailing list