One of the gifts we got from Kotlin 1.3.70 was the ability to effortlessly run a kscript (Kotlin script) from the command line. All you need to do is add the suffix .main.kts.

Seriously, this is all you need to do:

brew install kotlin

echo '#!/usr/bin/env kotlin' > hello-world.main.kts

chmod +x hello.main.kts
./hello.main.kts

# 💥

With this 0 friction setup, there’s little reason for me to ever write a bash script again. I get to write my script in Kotlin — a modern & beautiful language. But slap on Github Copilot and I think we’ve unlocked the holy grail of quick scripting.

To prove my point, I recorded a video live coding a script tackling a moderately involved task. Here’s what I wanted to do:

The entire thing took less than 4½ minutes. This is including me figuring out how to get autocomplete working in my IDE, restarting it etc.

Sure I could try to wield a one-line command and do the same thing for this use case but it’s so much nicer in Kotlin.

If you’re intrigued, feel free to checkout my github repo of kscripts. I try to tackle a variety of common use cases in there

P.S: The text snippet I use in there kscript;; basically gives me a starter hello world template. Not cheating, I promise.