Hallo,
ich mache mir etwas Sorgen dass die primäre Programmiersprache Haskell ein ernsthaftes Problem darstellen könnte bei der Akzeptanz durch Entwickler.
Ich selbst habe bisher in Programmiersprachen wie C#, Python, C++, Solidity, JavaScript, Java, PHP und Rust programmiert und ich muss sagen, da Haskell als funktionale Sprache und keine C artige Sprache so anders ist, fällt mir das erlernen von Haskell schwer. Man kann praktisch auf keine Vorerfahrung mit den anderen Programmiersprachen zurückgreifen und muss vieles neu lernen. Und das erzeugt eine große Hemmung. Und bei vielen eine konsequente Ablehnung.
Und das ist leider nicht nur mein Eindruck. Man hört von Programmierern ständig eine Ablehnung gegen als akademisch empfundene funktionale Sprachen wie Haskell. Ich glaube auch daran das Haskell sicherlich eine gute Sprache ist, die solidere und sicherere Programme erzeugt als viele andere Sprachen. Damit passt es zu der Philosophie von Cardano. Das Problem ist, die Geschichte der Programmiersprachen hat einige Beispiele, wie sich solide und sicherere Programmiersprachen nicht durchgesetzt haben gegenüber qualitativ schwächere Programmiersprachen wie C. Haskell gibt es seit 1990 und in der Wirtschaft wird es nur in wenigen Nischen genutzt.
Ein anderes Beispiel ist die Programmiersprache Ada. Es ist 1980 erschienen und wird von manchen gerne mit Rust vergleichen weil es sehr stark auf stabilen und sicheren Code ausgelegt ist. Deswegen wird es bis heute häufig im militärischen Bereich genutzt. Obwohl die Wirtschaft mit seinen massenhaften C/C++ Programmen Jahrzehnte mit schweren Fehlern und Sicherheitslücken kämpfte, kam niemand auf die Idee Ada einzusetzen.
Die Geschichte zeigt dass die prinzipiell besseren Programmiersprachen sich nicht durchgesetzt haben. Sprachen wie C und C++ waren am Anfang einfacher zu erlernen. Als die Komplexität von Anwendungen wuchs und C++ Anwendungen immer schwieriger zu handhaben wurden, war bereits eine kritische Schwelle überschritten. C++ war so stark in der Wirtschaft verbreitet dass es für die meisten Unternehmen und Entwickler kein zurück mehr gab. Man machte mit C++ weiter. Und heute ist C++ stark verbreitet obwohl es nicht unbedingt als einfach zu erlernende Programmiersprache gilt. Aber Leute die sich sowieso schon an C artige Programmiersprachen gewöhnt haben, fällt es wohl leichter C++ zu lernen statt Haskell oder Ada.
Generell fürchte ich dass Cardano als die bessere und sicherere Blockchain das selbe Schicksaal wie Haskell und Ada erleiden könnte. Ethereum kommt mit einfacheren Konzepten und einfacheren Programmiersprachen. Und obwohl immer wieder Millionen geklaut werden oder durch Fehler verloren gehen machen alle mit Ethereum weiter und lassen sich davon nicht abschrecken.
Es erinnert an den Erfolg von C und C++. Obwohl diese Sprachen so viele Schwächen haben und die Compiler teilweise nicht eindeutig definiertes Verhalten zeigen, haben sich diese Sprachen durchgesetzt.
Aktuell entwickelt sich Rust gut. Mit Rust kann man auch sehr sichere und stabile Programme entwickeln. Dafür ist die Lernkurve recht hoch. Aktuell läuft es gut. Aber falls es Rust nicht gelingt C++ langfristig abzulösen, wäre es nur ein weiteres Beispiel dafür, wie sich eine bessere Sprache nicht durchsetzt, weil der Vorteil der Verbreitung von C++ und anderen etablierten Sprachen einfach zu dominant ist.
Man kann das Prinzip auch auf die biologische Evolution übertragen. Nehmen wir zwei Arten von Lebewesen. Lebewesen A ist langsamer und plant sein Vorgehen immer sehr genau und ist intelligenter und sorgfältiger in allem was es tut.
Lebewesen B überlegt nicht so lange und handelt schneller, auch mit unausgereiften Ideen.
Was glaubt ihr welches Lebewesen langfristig die höhere Überlebenschancen hat und sich erfolgreicher vermehren kann? Es ist B.
Die Evolution macht immer Kompromisse. Das menschliche Gehirn könnte noch größer und leistungsfähiger sein. Dann würde das Gehirn aber viel mehr Energie verbrauchen und wer nicht schnell handeln kann, weil er lange überlegt, wird eher aufgefressen.
Für den Erfolg einer Sache ist es also sehr entscheidend dass man schneller agiert als andere. Dieser Vorteil kann so stark sein, dass selbst bessere Konzepte später sich nicht durchsetzen können, sobald die ersten sich ausreichend stark etabliert haben.
Ich kann nicht sagen ob für Cardano der Zug bereits abgefahren ist. Ich glaube und hoffe dass es nicht so ist. Aber ich sehe definitiv die Gefahr dass es passieren kann.
Jetzt wo es endlich Smart Contract für Cardano gibt, finde ich ist der Anreiz für Ethereum Entwickler eher gering sich in Cardano einzuarbeiten, weil im Cardano Ökosystem einfach fast nichts los ist. Was natürlich kein Wunder ist weil man eben so spät dran ist. Was nützen einem geringere Transaktionskosten und eine bessere Blockchain wenn meine potenziellen Kunden im Ethereum Ökosystem unterwegs sind.
Auch sind inzwischen Plattformen wie Opensea extrem wichtig geworden. NFTs die dort nicht gelistet werden, haben ein großen Nachteil. Wenn solche Plattformen Cardano nicht integrieren wird es noch viel schwieriger an den bestehenden Markt anzuknüpfen.
Das konkrete Problem mit der Akzeptanz von Haskell könnte man damit lösen dass man zeitnah Unterstützung für Solidity bietet, wie es eigentlich schon mal angekündigt wurde. Ich weiß nicht wie da der Stand der Dinge ist. Auch eine Unterstützung von Rust wäre interessant.