markuswerle, German
@markuswerle@nrw.social avatar

In eine Diskussion von der Seite einsteigen, unsachlich argumentieren, C und C++ im selben Wort zusammenfassen, einen Informatikprofessor mit mehreren Ehrentiteln beleidigen und direkt nach der Antwort die Gesprächsteilnehmer blocken.

#Mastodon wird immer mehr zu #X

#cplusplus #rust

FSMaxB,
@FSMaxB@mastodon.cloud avatar

@markuswerle Leute persönlich zu beleidigen ist nicht die beste Art, das ist richtig.

Ob man C und C++ zusammenfassen kann oder nicht hängt aber stark davon ab welchen Aspekt man davon betrachtet.

Wenn es um insgresamt Features, die Fähigkeit Abstraktionen zu bauen, die Produktivität etc. geht, dann sind das zwei komplett verschiedene Sprachen.

Wenn es darum geht ob es bei einem mittelgroßen Projekt in der Praxis möglich ist memory safe zu arbeiten, dann sind beide equivalent.

markuswerle,
@markuswerle@nrw.social avatar

@FSMaxB Bezogen auf deinen letzten Satz glaube ich, dass du wesentliche Entwicklungen von C++ nicht mitbekommen hast und das ist ein Problem der Debatte insgesamt.

Merke: Niemals eine Programmiersprache entwickeln, die abwärtskompatibel ist.

FSMaxB,
@FSMaxB@mastodon.cloud avatar

@markuswerle Ja, mein letzter Stand ist C++20 und den Hauptteil meiner Arbeit habe ich mit C++17 gemacht. C++23 bin ich nicht mehr drin, das ist richtig.

markuswerle,
@markuswerle@nrw.social avatar

@FSMaxB Dann verstehe ich den letzten Satz nicht.

markuswerle,
@markuswerle@nrw.social avatar

@FSMaxB Um es mal konkret werden zu lassen: Eine leicht überprüfbare Coding Guideline wäre.

No raw pointers. Prefer references over pointer. Use std::unique_ptr for ownership and std::shared_ptr elsewhere.

hunger,
@hunger@linuxrocks.online avatar

@markuswerle @FSMaxB Das greift halt leider immer noch zu kurz.

Während man über einen vector iteriert kann man dann immer noch die itaratoren ungültig machen, wenn man z.B. was in den vector pushed.

Du kannst immer noch Referenzen zu lokalen Variablen aus Funktionen zurück geben.

Der C++ Compiler hilft Dir da nicht weiter.

Das das auch anders geht zeigt der Rust Compiler: Der haut Dir beides um die Ohren.

FSMaxB,
@FSMaxB@mastodon.cloud avatar

@markuswerle Es gibt einfach viel zu viele Details, die man beachten muss und fallstricke, die einem im Weg liegen. Wenn man nur einen davon übersieht, dann hat man auf einmal so ein Problem drin. Besonders Übel wird es, wenn man multithreading betreibt.

Und gerade von C wurde sehr viel UB geerbt. Z.B. das Thema mit signed integer overflow.

Man kann sich dann auch kaum noch auf das zu lösende Problem konzentrieren weil man ständig damit beschäftigt ist nicht ausversehen UB zu produzieren.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • mastodon
  • ngwrru68w68
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • megavids
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • provamag3
  • JUstTest
  • All magazines