BlackJack hat geschrieben:Mit der Argumentation sitzt das Problem *immer* vor dem Bildschirm.
Beim Programmieren: Ja. Wenn eine Sprache Funktionen hast, die du nicht verstehst, dann ist es nicht die Aufgabe der Sprache, damit aufzuhören.
BlackJack hat geschrieben:Das entkräftet in keiner Weise das man in C++ viel leichter unsauberen Code schreiben kann, auch wenn man sich wirklich Mühe gibt das nicht zu tun, als in anderen Programmiersprachen.
Ich habe auch schon mal gelesen, man könne in Python nur sauberen Code schreiben. Ist genau so falsch. Wie sauber dein Code ist, hängt allein von deinem Programmierstil ab. In jeder Sprache.
Um beim Bild zu bleiben: Wer mit COBOL angefangen hat, der wird ganz schön viel Python schreiben.
BlackJack hat geschrieben:Was diese anderen Programmiersprachen besser macht, weil man da ganz einfach nicht so viel zusätzlich im Kopf behalten muss was mit dem eigentlichen Problem welches man lösen will, gar nichts zu tun hat.
Nur, weil du mehr Möglichkeiten hast, heißt das nicht, dass du sie nutzen musst. Du kannst in C++(17) wunderbar prozedural und ohne einen einzigen expliziten Pointer, ohne Casten und ohne Dateitypen runterprogrammieren, wenn dir danach ist. Was
musst du da zusätzlich im Kopf behalten? Selbst die Validität erklärt dir im Zweifelsfall der Compiler, dafür musst du nicht selber denken.
BlackJack hat geschrieben:wenn es einen Teil gibt der Geschwindigkeit braucht, gibt es immer noch C, Fortran, und Assembler.
Fortran habe ich bisher nicht benutzt, aber sein alter Konkurrent COBOL ist ziemlich träge. :K
BlackJack hat geschrieben:Ich würde keinen Kernel in Python schreiben, aber auch nicht in C++.
Warum nicht? Bei C musst du deutlich mehr beachten. Ich dachte, das missfällt dir?
Unter Umständen ist C++ auch schneller, moderne Compiler haben durchaus interessante Optimierungsmechanismen.
BlackJack hat geschrieben:Schlau genug für C++ zu sein ist kein Kompliment. Das sind Leute die stolz darauf sind unnützes Zeug zu können, womit man sich in anderen Sprachen gar nicht erst beschäftigen muss.
Du meinst: Komplexe Strukturen zu begreifen, im Gegensatz zu denen, die von ihnen heillos überfordert sind und, statt genug Lernwillen aufzubringen, lieber in Foren dagegen wettern, wie doof C++ ist, weil es
so viele Möglichkeiten hat?
Mal über BASIC nachgedacht?
BlackJack hat geschrieben:Dann bin ich gerne zu doof
Darf ich das in meine Signatur aufnehmen?
BlackJack hat geschrieben:und zahle auch gerne mit ein bisschen Laufzeit, die in den meisten Fällen eh nicht wirklich wichtig ist, und falls dann doch halt mit C gelöst werden kann.
Du möchtest lieber in der Sternchensprache C schreiben, in der Sich-in-den-Fuß-schießen eigentlich notwendige Voraussetzung für ein lauffähiges Programm ist, und wetterst gleichzeitig gegen C++, das einige dieser Fallstricke umgeht oder ganz entfernt, weil es "zu gefährlich" ist? Das ist mir gerade zu kompliziert.
BlackJack hat geschrieben:Warum schrecken Dich Organisationen ab? Hinter C++ stehen sogar mehrere Organisationen.
Hinter C++ steht vor allem ein ISO-Komitee.
BlackJack hat geschrieben:Es reicht halt nicht wenn eine Sprache gut ist (dann würden alle Lisp programmieren
)
Das würde ich übrigens durchaus befürworten. Ein bisschen mehr Standardbibliotheken könnten diesem Ökosystem nicht schaden, Quasistandards (zum Beispiel ASDF/UIOP) sind immer ein wenig misstrauisch zu betrachten.
BlackJack hat geschrieben:ie Leute müssen da auch irgendwelche Vorbilder sehen und darauf vertrauen das die Sprache gepflegt wird.
"Ändert dauernd sein API" ist nun nicht unbedingt eine gute Voraussetzung, um damit zu programmieren.
BlackJack hat geschrieben:Doch Google selbst benutzt Go
Wo?
BlackJack hat geschrieben:C++17 ist doch noch Zukunft.
Alle namhaften Compiler unterstützen den aktuellen Technical Report bereits seit längerer Zeit.
BlackJack hat geschrieben:Wurden da alte Sachen rausgeworfen?
Ja, zum Beispiel Trigraphen (schade eigentlich) und
auto_ptr.
BlackJack hat geschrieben:Ist der Code mit dem man da draussen in der Wildnis klarkommen muss schon auf idiomatisches C++17 umgeschrieben?
Mein C++17-Compiler kann C++98-Code kompilieren, wenn ich ihn nicht explizit darauf hinweise, dass er das nicht tun soll. In diesen C++98-Code Funktionen aus C++17 einzufügen wird keinen halbwegs brauchbaren Compiler daran hindern, ein lauffähiges Programm zu erzeugen.
Bei - zum Beispiel - Python 2 und 3 sieht das schon anders aus, nicht?
BlackJack hat geschrieben:Der Preis für die angeblich optimale Ressourcennutzung ist mir halt zu hoch. Vor allem werden da Ressourcen optimal genutzt, von denen in der Regel genug da sind.
"Ich hab' ja 32 GB RAM, da kann mein Webbrowser ruhig 16 benutzen" und andere Ärgernisse der modernen Softwareindustrie...
Ich finde das rücksichtslos und Software, die so verschwenderisch mit Ressourcen umgeht, hat zumindest auf meinem Rechner keine große Zukunft.
BlackJack hat geschrieben:Ich stecke lieber mehr RAM in den Rechner als das ich mir Gedanken mache die ich mir nicht machen muss wenn sich das nur durch einen kleinen Faktor in Speicherverbrauch und Rechenleistung niederschlägt.
Das ist übrigens einer der Gründe für den schleichenden Tod Javas: Diese völlige Ignoranz gegenüber der Ressourcenbelegung.
BlackJack hat geschrieben:Ich als Programmierer und meine Zeit bei der Programmierung und Fehlersuche sind Ressourcen und die werden von C++ definitiv nicht optimal genutzt.
Dann bist du nicht ausreichend im Umgang mit der Debugger-Toolchain geschult, wofür die Sprache aber herzlich wenig kann.
BlackJack hat geschrieben:Mir ist in den allermeisten Fällen Python schnell genug. Punktuell an den Stellen wo es das nicht ist, greife ich zu Cython oder der Einbindung einer C-Bibliothek.
Viel praktischer als C++-
BlackJack hat geschrieben:Mir ist jetzt nicht klar wie Du auf „unnötig komplexer Assembler“ kommst.
Assemblersprache ist eine Teilmenge jeder mir bekannten Hochsprache. "Da ist ja eine andere Sprache mit drin, deswegen ist die Sprache scheiße" ist insofern ein eher unzureichendes Argument. Du musst die unterliegenden Funktionen ja nicht nutzen.
BlackJack hat geschrieben:dann kann man mit Rust vielleicht tatsächlich etwas machen was man mit Standard-C++ nicht machen kann: Kernel programmieren.
Wieso sollte man das nicht können?
BlackJack hat geschrieben:Du kennst Dich anscheinend mit Java nicht so gut aus.
Wieso? Was war an meiner Aussage nicht zutreffend?
BlackJack hat geschrieben:Und natürlich ist zusammenkleben Programmieren.
Nö. Dafür musste nicht programmieren können. Können die meisten auch nicht, die so was machen. Sonst würden sie es nicht machen.
Ich schreibe mein Zeug eigentlich ganz gern mal selber. Dann weiß ich wenigstens, wo was steht.
BlackJack hat geschrieben:Du bist halt stolz darauf das Du die Komplexität gemeistert hast und bist nun angepisst, dass das nicht nötig ist, weil es bessere Sprachen gibt.
Ich benutze ja keineswegs nur C++.