|
|
|
|
|
by lukego
2545 days ago
|
|
Author here with a little update from experience. Generally I am quite happy with this approach, but I am not wild about the cost/benefit of writing tools in Smalltalk. I've spent a lot of energy on treading water and trying to keep things working while the environment is being rewritten underneath my feet. I have also found that Smalltalk works best when data is imported into the Smalltalk heap, and represented by a dedicated model classes, and also represented by dedicated view objects (Bloc.) That's a damned lot of classes to write and the whole image can grind to a halt if I reasonably want to inspect millions of objects. This makes me miss simpler and more scalable data structures like R data frames. Going forward I plan to take a more perl-inspired "there's more than one way to do it" approach and complement the Smalltalk code with e.g. R, Lua, etc. I expect to spend more time writing code generators (a la SWIG) rather than hand-crafting everything in Pharo. |
|
I also think your focus on making performance more predictable and reducing the mental burden on devolopers who want to write reliably fast code is exactly the right one; even a version of luajit that's half as fast on average but more predictable could be more useful in practice to most people.
Having said that, to keep some already precarious and fringe technology alive by adding as core part of the toolchain an app written in an even more fringe and decidedly more fiddly[*]/unstable language like Pharo, and one which has basically zero community overlap with luajit users seems... bold.
As does moving forward by adding R/codegen targetting pharo to the mix.