JM°, say "Jaymo", is a scripting language developed by Michael Nitsche.

The language results from dissatisfaction with the currently available languages for shell scripting. The first notes were made in winter 2017/2018 and the first implementation in Easter 2018. In September / October 2019, the language developed significantly and is now hosted under the GPLv3 on GitLab.

How did the name originate?

J = Java
M = Michael / Maria
° = is in JM° a reference to the surrounding object (like "this" in Java)

Why another scripting language?

I have been programming for over 30 years and I've seen and used many languages. However, I was still unable to find a language that fits to me. That's why I have now developed my own language for small daily scripting tools.

What is the concept behind JM°?

Above all, JM° has this principle:
"Take an object ... do something with it ..."

So in JM° there are only objects, functions, events, variables and constants. That's it.
Strictly speaking, there is only one single keyword in JM°, the colon. Nevertheless, the language can be programmed like simple basic.

Hello World!

What is the smallest program with output of "Hello World!"?

"Hello World!".print

Here an atomic string object is created and the function "print" called.

What is it suitable for?

For all sorts of small scripts and as a replacement for Bash or Perl. It can also be used to write larger programs including GUI. There are already libraries available for databases, PDF, voice output, neural networks, ...
This opens up a lot of possibilities.

Why Java?

Java may not be the best base for a scripting language. However, I'm currently in the fittest and through the first experiments, the language has developed from it.
For the future maybe there's a port to Vala or C.


JM° is released under the terms of GPLv3.