C++ modern und C++ früher

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Xeon
Beiträge: 122
Registriert: So Dez 17, 2017 4:10 pm

C++ modern und C++ früher

Beitrag von Xeon » Mi Jun 09, 2021 1:12 pm

Hallo zusammen

Mit beschäftigt folgende Frage: Was ist der Unterschied zwischen C++ modern und wie man C++ früher programmiert hat? Ist es ein andere Programmiert-Stil? Oder ist C++ modern eine bessere Programmiermethode?


Liebe Grüße
Von Xeon

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8728
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C++ modern und C++ früher

Beitrag von Xin » Mi Jun 09, 2021 3:17 pm

Da ich aktuell eine Hand etwas lädiert habe, versuche ich das mal möglichst kurz:

C++ ist als Sprache entstanden, in der man viele Dinge ausdrücken kann. Das haben die Leute dann auch gemacht. Entsprechend hat jeder programmiert, was er für richtig hielt. Was bedeutet, dass sich jeder in den Code einlesen musste. Viele Probleme wiederholen sich jedoch.
Man braucht immer wieder Listen und Daten-Container und wenn die alle gleich funktionieren, kann man Algorithmen schreiben, die Probleme lösen, wenn man ihnen einen Container gibt.

Es hat sich gezeigt, dass es eine Sammlung von interessanten Algorithmen gibt, wie Beispielsweise accumulate, transform oder sort, die sich immer wieder praktisch zeigen, wenn man mit Containern arbeitet.

Modern C++ legt nun mehr Focus auf die Standard-Container und Standard-Algorithmen. Die lernt man und dann wenn bei einem Jobwechsel die Firma auch diese Standard-Programmierung verwendet, weiß man schnell wo man dran ist, anstatt erstmal deren Library zu lernen und alles zu vergessen, was man zuvor gelernt hat.

Einige der Denkweisen kommen aus der funktionalen Programmierung, die man sich hier auch in C++ reinholt. An der Stelle handelt es sich dann auch irgendwo um eine andere Denkweise.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

jomaber
Beiträge: 10
Registriert: Do Nov 26, 2020 10:47 am

Re: C++ modern und C++ früher

Beitrag von jomaber » Mo Jun 14, 2021 10:10 pm

Ich habe weder von Stroustrup noch von Meyers jedes Buch gelesen, sondern immer wieder mal reingelesen. Wenn ich das halbwegs richtig einschätze, dann gibt es folgende Tentenzen,
Betonung der STL (wie von Xin oben gesagt)
Vermeidung von fehleranfälligen Konstrukten (Zeiger sind oft nicht nötig bzw können durch entsprechende Konstrukte wie Smart Pointer und Verwandte ersetzt werden)
Benutzung von auto type deduction
Benutzung der Boost-Libraries

Die Anlehnung/Verwandtschaft mit C gerät sicher mehr in den Hintergrund durch Templates/Metaprogrammierung/funktionale Programmierung ...

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8728
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C++ modern und C++ früher

Beitrag von Xin » Mi Jun 16, 2021 12:51 pm

Mit Boost wäre ich da vorsichtiger, Boost hat Vorteile und auch Nachteile... manches ist aber Kinderstube für zukünftige Standards.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten