You can write in Smurf.sc:
and then run it with
where amm is the executable of Ammonite.
No, Scala with SBT is not quite as simple, but I think it is pretty good considering that it is optimized for larger projects. Like, projects where you have five or more library dependencies, where you have tests, where your project might itself be used as a library dependency by some other projects and you want to publish it to an artifact repository, and perhaps you build a web service, or use an external database, etc.
Scala is supposed to mean “Scalable Language”. I’m assuming that means scaling up, not down, right?
If you want to use Scala as if it was Python, don’t make the language more complicated, use a specialized tool instead, like Ammonite.
You may hate the application object and the main method, but whatever you choose, on the JVM it will be an object and a main method, and they will be visible on various occasions, so trying to pretend they don’t exist just adds a layer of obfuscation.