- No multithreading
- Not popular
- Requires graphics interaction
I don't think that's the case; e.g. GNU Smalltalk doesn't need any graphics https://www.gnu.org/software/smalltalk
> - No multithreading
I'd rephrase this as concurrency/parallelism. Multithreading is just one (particularly awful) way of implementing that; arguably Smalltalk would be better suited to an actor model (like Erlang).
and this: https://tonyg.github.io/squeak-actors/
In practice though, processes are usually good enough.