Not necessarily. There is a nice, file-based Smalltalk dialect called SOM (Simple Object Machine) by the people from Denmark who also developed JS V8. There are implementations based on C/C++, JVM and Truffle, see http://som-st.github.io/ for more information. I currently implement yet another version based on LuaJIT, see https://github.com/rochus-keller/som/#a-som-to-lua-transpile.... You can use your favorite editor etc. and don't depend on all-including virtual image like e.g. Smalltalk-80. In contrast to e.g. GNU Smalltalk (which is also file-based) SOM is completely independent of the Bluebook interpreter and doesn't inherit its disadvantages. I had a close look at both and also implemented a Smalltalk-80 VM (see https://github.com/rochus-keller/Smalltalk). When it comes to performance optimization it's much easier with SOM than with a Bluebook based machine.