The Java Virtual Machine is a triumph in engineering and in market saturation, making it the number one choice as a platform on which to put a Smalltalk. Joining the number #1 virtual machine with the number #1 language for getting things done is an easy choice.
Providing a viable Smalltalk implementation for the JVM can help reinvigorate the community by bringing it to the widest possible audience. The Java Virtual Machine is arguably the most used, if not the most popular deployment platform. Many companies won’t let apps run unless on the JVM. Running Smalltalk on the JVM brings Smalltalk a much wider possible audience. Where before we might not have been able to get Smalltalk in the door at all, now we have the possibility because in the end, it runs on the part that many companies consider important: the JVM itself.
Developers working with Java and other JVM languages can have a chance to work with Smalltalk in an environment they are comfortable with AND experience they can get the productivity boost that Smalltalk brings. And our community grows much faster than it would otherwise.
Redline Smalltalk will take full advantage of the JVM:
- The JVM’s Multi-threading and other concurrency support, like non-blocking IO
- The JVM’s Extensive Database support and independence through JDBC
- The JVM’s Variety of deployment options in Web Container, Application Containers and in to the Cloud
Redline Smalltalk will take advantage of:
- The JVM’s vast array of libraries. Its hard to find an area that isn’t covered by a library for the JVM.
- The JVM’s profiling tools
- The JVM’s Management and control extensions
And... the JVM because we get to use any JVM based language. Need speed? Drop down to straight Java for a caffeinated boost. Need some Software Transactional Memory joy? Hook into Clojure's. Leverage the power of polyglot programming to the hilt. And then... package it all up as a jar or a war and no one has to be any the wiser. Or run it on Google App Engine or Heroku. In the end, it's all just JVM bytecode.
Clojure? Scala? Ruby? Python? Groovy? Java? Kotlin? You can play with them all.