Nachdem ich als Forth-Programmierer jahrelang hören musste, ich
sollte doch lieber in einer "beliebten" Sprache wie C++ programmieren
(das habe ich sogar ein Jahr lang als Job tatsächlich gemacht, aber
C++ natürlich trotzdem nicht gemocht), ist es doch nett, zu hören,
dass C++ inzwischen auch im Mainstream seine Popularität verloren
hat, und dass meine Kritik damals jetzt auch allgemein akzeptiert ist
- C++ ist zu komplex und nicht agil genug.
Tja, und was das mit hardwarenah betrifft: Ich programmiere gerne in
Forth, weil das sehr hardwarenah ist, und im Gegensatz zu C/C++ auch
sehr agil. Klar, in Forth kann man sich genauso in den Fuß schießen
wie mit C/C++, aber dafür dauert das Compilieren von größeren
Projekten nur Sekunden und keine Tage, und es hat einen Interpreter,
mit dem man interaktiv mal 'was ausprobieren kann (was aber nicht
heißt, dass es eine langsame Sprache ist, die paar wenigen richtig
gut optimierenden Compiler kommen in der Performance an C heran), und
man kann den Compiler selber erweitern - weil die eingebauten
Features einer Sprache nie wirklich exakt für den Einsatzzweck
passen.
Der Nachteil bei Forth und OOP ist dann natürlich, dass es - wie
früher bei Common Lisp - natürlich zig verschiedene Implementierungen
gibt, von denen sich kein durchgesetzt hat, und dass da noch ein
Metaobject Protocol fehlt (was bei CLOS das Problem "gelöst" hat).
Und der andere Nachteil von Forth ist, dass es so völlig anders ist
als (fast) alle anderen Sprachen, und deshalb weitgehend unbekannt
und mögliche Einsteiger erst mal abschreckt. Aber die "alles muss
aussehen wie C"-Zeit ist ja inzwischen vorbei.