Ansicht umschalten
Avatar von die kleine Himbeere
  • die kleine Himbeere

mehr als 1000 Beiträge seit 25.10.2012

Exoten-Systeme?

Klingt ja alles gut und schön, bis einem die Prävalenz von OCaml in dem ganzen System auffällt.

Und das kann man ja bestenfalls als Exotensprache bezeichnen.

Erfahrungsgemäß schafft man es bei der Nutzung solcher Systeme sich nie komplett, sich gegen die darin verwendete Programmiersprache abzugrenzen selbst wenn man "nur ein Benutzer" des Systems sein will.

Früher oder später muss man dann irgendwelche Kleinigkeiten anpassen, später vielleicht auch umfangreicheres, und dann muss man sich mit der dahinter stehenden Programmiersprache aus einander setzen.

Das ist vertretbar wenn es sich um eine populäre Sprache handelt, aber OCaml kann man wohl kaum so bezeichnen.

Ab und zu begegnet einem die Sprache zwar in einer sehr kleinen Anzahl an nützlichen Anwendungen, wie etwa "unison" oder "frama-c". Aber selbst in Haskell - ebenfalls nicht gerade ein Massenphänomen in der Entwickler-Gunst - kann ich aus dem Stehgreif mehr Anwendungen aufzählen die es benutzen, als bei OCaml.

Jedenfalls, meine Befürchtung ist, dass MirageOS letztlich daran krankt von einer Exotensprache abhängig zu sein mit der sich heute niemand mehr aus einander setzen will. Oder zumindest nicht mehr sehr viele, denn sonst gäbe es mehr Anwendungen die es verwenden.

Das beste an OCaml ist dass es einen vernĂĽnftigen Compiler dafĂĽr gibt der einigermaĂźen brauchbaren Maschinencode dafĂĽr generieren kann.

Aber die Sprache selbst ist irgendwie weder Fleisch noch Fisch: Greift zwar viele funktionale Konzepte auf, ist aber nicht funktional. Noch dazu mischt es das mit Objektorientierung, was auch nur bedingt mit dem funktionalen Ansatz kompatibel ist. Zumindest so wie OCaml es umsetzt.

Am lächerlichsten fand ich, dass man in Ocaml zwar Variablen nicht verändern kann (was auch dem funktionalen Konzept entspricht), doch sehr wohl den Inhalt von Arrays.

Ich sah daher viel Code, der sich das Leben einfach machte indem er einfach Werte in 1-elementigen Arrays anstatt in Variablen ablegte, da die Array-Elemente mutable waren.

Natürlich hätte man Code auch anders schreiben *können*, aber OCaml verleitet Entwickler offensichtlich zu solchen Tricks die man einfach nur schäbig nennen kann auch wenn sie in OCaml völlig legal sind.

Alles in allem ist OCaml keine schlechte Sprache, aber ihre Bedeutung liegt eher in ihrem Alter wie sie Ideengeber fĂĽr viele andere Sprachen war die danach folgten.

Und meiner Meinung nach tut man besser daran jene neueren Sprachen zu verwenden (etwa Scala oder Kotlin), anstatt sich mit dem betagten OCaml weiter herum zu mĂĽhen.

So ähnlich wie ja auch BASIC keine schlechte Sprache ist, nur dass es inzwischen viel bessere gibt und man besser diese verwenden sollte.

Bewerten
- +
Ansicht umschalten