JM° (sag "Jaymo") ist eine Skriptsprache von Michael Nitsche.

Die Sprache entstand aus Unzufriedenheit mit den derzeit für Shell-Scripting angebotenen Sprachen. Im Winter 2017/2018 erfolgten die ersten Notizen, Ostern 2018 dann die erste Implementierung. Im September/Oktober 2019 hat sich die Sprache stark weiter entwickelt und ist nun unter der GPLv3 OpenSource und auf GitLab gehostet.

Woher der Name?

J = Java
M = Michael / Maria
° = ist in JM° eine Referenz auf das umgebende Objekt (wie "this" in Java)

Warum eine neue Sprache?

Ich programmiere mittlerweile seit über 30 jahren und habe schon viele Sprachen gesehen und verwendet. Auf der Suche nach einer für mich stimmigen Sprache wurde ich allerdings bis heute nicht fündig. Deshalb habe ich nun meine eigene Sprache für die täglichen kleinen Skriptwerkzeuge entwickelt.

Was ist das Konzept von JM°?

JM° arbeitet komplett nach dem Prinzip:
"Nimm ein object ... mach etwas damit ..."

So gibt es in JM° nur Objekte, Funktionen, Events, Variablen und Konstanten. Fertig!
Genau genommen gibt es in JM° somit nur ein einziges Schlüsselwort, nämlich den Doppelpunkt. Trotzdem läßt sich die Sprache wie einfaches Basic programmieren.

Hallo Welt!

Wie sieht nun das kleinste Programm zur Ausgabe von "Hallo Welt!" aus?

"Hallo Welt!".print

Hier wird ein atomares String-Objekt erzeugt und die Funktion "print" aufgerufen.

Wofür ist JM° geeignet?

Für allerlei kleine Skripte und als Ersatz von Bash oder Perl. Es lassen sich damit aber auch größere Programme inkl. GUI schreiben. Es gibt auch bereits Bibliotheken zu Datenbanken, PDF-Formulare, Sprachausgabe, neuronale Netze, ...
So eröffnet sich eine Vielzahl an Möglichkeiten.

Warum Java?

Java ist vielleicht nicht die beste und performanteste Sprache als Basis, aber aktuell bin ich hier am fittesten. Zudem ist Java derzeit die meistverwendetste Sprache.
Vielleicht gibt es irgendwann eine Portierung auf Vala oder C.

Lizenz

JM° ist unter der GPLv3 freigegeben.