Wieso gibt es keine gute Programmiersprache?



  • ...und eine weitere Seele gerettet



  • turbo autist schrieb:

    Jetzt mal ohne Witz, Computer Science existiert schon mehrere Dekaden und die Leute haben es noch immer nicht hinbekommen, eine gute Programmiersprache zu schreiben?

    Doch haben sie, lustigerweise sehr früh am Anfang. Aber die Computer waren noch zu schwach und man musste sich erst mal mit C und Konsorten herumschlagen. Nach und nach wurden dann aber langsam die alten Konzepte auch in modernere Sprachen übernommen.

    Leider sind die Leute heute so in ihrem Klammerwald gefangen, dass sie die perfekte Syntax nicht erkennen, weil sie zu viele Klammern sehen.



  • und worin besteht nun genau der durchgreifende syntaktische Vorteil von "klammerfreien" Sprachen?

    Gut, man kann sich mit Python hin und wieder eine vergnügliche Debugging-Sitzung bereiten, falls man beim Editieren in der Hektik unbemerkt eine Tab-Einrückung gelöscht hat und damit versehentlich den Programmablauf verändert, aber sonst?



  • hmm.. mein Satz mit dem Klammerwald war etwas wirr und unsinnig...

    Ich wollte darauf anspielen, dass viele Außenstehende ein Problem mit der Lisp/Scheme-Syntax haben aber nicht mit Java oder C++.



  • gute Programmiersprachen gibt es. Perfekte nicht.
    Wie denn auch? Dafür müsste man eine Sprache veröffentlichen, warten was die Community nach Monaten und Jahren dazu für Feedback gibt, dann alles verwerfen und die Sprache neu aufsetzen.
    Dann, wenn wieder ein neues Feature nötig ist, dieses so einbauen, dass es möglichst gut ins Gesamtbild passt, Abwärtskompatibilität ist egal.
    Und so weiter.

    Ich persönlich finde mit guten Sprachen mein Auslangen, eine Programmiersprache ist ein Werkzeug, und jedes Werkzeug hat seine Vor und Nachteile und Einsatzbereiche. Dass trotzdem so emotional drüber diskutiert wird liegt wohl in den Genen der Informatiker 🤡



  • hfghfg schrieb:

    gute Programmiersprachen gibt es. Perfekte nicht.

    Aber manche sind nah dran an der Perfektion, zum Beispiel LISP, Smalltalk, Prolog.



  • Das hängt dann wohl von der persönlichen Definition von "Perfekt" ab.



  • "perfekt" heißt ja "vollendet" - was fehlt denn in LISP, Smalltalk oder Prolog?



  • Der Speed von C++14!



  • ich meine an Sprach-Features wie Syntaxelementen



  • Da gibts tatsächlich nichts zu mäkeln.



  • Trotzdem sind diese 3 Programmiersprachen alles andere als "Allrounder", d.h. z.B. für Kernel-, Treiber- oder Grafikprogrammierung doch eher nicht geeignet...
    Es sind eher Lehrsprachen bzw. für bestimmte Themenfelder (wie KI) zu gebrauchen.



  • Aha. Dann zähle mal die Kernel+Treiber auf, die in Java oder C++ geschrieben sind.
    Bei C++ dann natürlich nur die, die kein Fake-C sind.



  • Magenta ist zu einem Teil in C++ geschrieben.



  • Was ist Magenta?



  • Wutz schrieb:

    Aha. Dann zähle mal die Kernel+Treiber auf, die in Java oder C++ geschrieben sind.
    Bei C++ dann natürlich nur die, die kein Fake-C sind.

    Es gibt zwei Gründe, warum die meisten Kernel in C geschrieben sind:

    1. Sie sind in einer Zeit entstanden, als es C++ nicht gab oder C++ noch nicht standardisiert war.

    2. Deren Programmierer kein OOP verstehen oder verstehen wollen (da gibt es genug prominente Coder, wie Linus Torwalds oder John Carmack. Wobei John C. irgendwann doch noch OOP gelernt hat und dann begeistert C++ einsetzte. Linus ist dagegen ein seniler Mann, der nicht fähig ist aus seiner C-Kiste auszubrechen).

    Aber um deine Frage zu beantworten: BeOS ist komplett in C++ programmiert. Dessen Opensource-Nachfolger Haiku-OS kannst du dir auch den Code anschauen. Und BeOS galt damals als das schnellste OS mit GUI.

    So viel dazu, das es kein ernsthaftes OS gibt, das in C++ implementiert ist.



  • Magenta ist der Kernel des Betriebssystems Fuchsia. Der Kernel ist in C und in C++ geschrieben und das Userland afaik weitgehend in C++.



  • Das die Kernel und Userland (Tools) in C sind, ist doch alles historisch und nicht damit zu begründen, das C++ nicht das richtige Werkzeug wäre. Es ist ja auch verständlich, das man etwas, das viele Mannjahre Entwicklung gekostet hat, nicht einfach so neu implementiert. Wenn der alte bisherige Code in C funktioniert, kann man ihn so belassen.
    Wir haben hier auch produktiven Cobol-Code (sehr viel Cobol-Code!) laufen. Den kann man einfach nicht in einer modernen Sprache neu implementieren, es wäre wirtschaftlicher Wahnsinn. Der Cobol-Code wird auch gepflegt und erweitert. Aber alles drum herum, was neu entwickelt wird, wird nicht in Cobol begonnen.

    Ein gutes Beispiel ist der GCC: der GCC wird seit einiger Zeit in C++ implementiert. Weil bis auf ein paar alte Männer, die ihre eingerostete Denkweise nicht ablegen können oder wollen, haben jüngere Entwickler kapiert, das man mit C++ ein mächtigeres Werkzeug hat. John Carmack hat damals auch gesagt, das C das geilste ist. Als er dann C++ verstanden hat, hat er seit dem seine Engines (ab Doom 3) in C++ programmiert. Der Mann hat sich weiter entwickelt. 👍

    https://heise.de/-1668224



  • tldr;



  • Mein Senf schrieb:

    tldr;

    Bezogen auf den ganzen Thread.


Anmelden zum Antworten