Forum: /dev/null Neuer C-Standard


von Jan (Gast)


Lesenswert?

Hallo alle,

ich habe kürzlich gesagt bekommen, dass im nächsten C-Standard, welcher 
noch dieses Jahr rauskommen soll, die If-Bedingungen abgeschafft werden 
soll.

Es soll dann ausschließlich nur noch Switch-Case zur Verfügung stehen, 
aus sicherheitskritischen Aspekten. Vermutlich werden zuviele 
Programmierfehler mit einem klassischen If-Else gemacht.

Was haltet ihr davon? Dann muss ich ja sämtliche Programme umschreiben?

Jan

: Verschoben durch User
von Stefan F. (Gast)


Lesenswert?

Der Scherz war zu flach, versuche es nochmal.

von Drückeberger (Gast)


Lesenswert?

Das hatte ich auch gelesen. Aber was ich noch blöder finde ist das 
automatische twittern aller Makros.

von Kaj (Gast)


Lesenswert?

Jan schrieb:
> Es soll dann ausschließlich nur noch Switch-Case zur Verfügung stehen

Ist zwar C++ und nicht C, aber was solls ;)

C++ Core Guidelines: To switch or not to switch, that is the Question
https://www.heise.de/developer/artikel/C-Core-Guidelines-To-switch-or-not-to-switch-that-is-the-Question-3985896.html

von Wilhelm M. (wimalopaan)


Lesenswert?

Und in C++20 werden rohe Zeiger [deprecated], damit sie in C++23 
abgeschafft werden können ;-)

von Stefan F. (Gast)


Lesenswert?

Man hätte auch C++ abkündigen können, weil es links und rechts von 
anderen "besseren" Programmiersprachen überholt wurde.

Mal ehrlich, ich programmiere auch ab und zu noch ein bisschen in C++. 
Aber diese Programmiersprache ist doch längst über ihren Zenit hinaus 
gealtert. Man sollte sie so lassen, wie sie ist und seine Zeit in 
Nützlichere Entwicklungen stecken.

Ich stelle mir vor, wie in diesem Gremium lauter alte Opas (wie ich) 
kauern, die schnell noch ihr persönliches Gimmick einbauen wollen, bevor 
Ihre Augen versagen und damit ein anderer Beruf fällig wird.

Komischerweise ist C++ stärker gealtert, als ihr Vater C. Sollen sie 
doch C verbessern, davon könnten mehr Leute profitieren.

von Peter D. (peda)


Lesenswert?

Jan schrieb:
> die If-Bedingungen abgeschafft werden
> soll.

Ich mag das auch nicht. Ich benutze dafür oft ?:

von S. Landolt (Gast)


Lesenswert?

1
Palmström programmiert vor zwölf Experten
2
die berühmten "Formeln ohne 'if'",
3
     deren Möglichkeiten zu erhärten.
4
5
Jeder sieht bewundernd Trick und Kniff
6
und erkennt sofort den Nutzen, denn:
7
     Zwölf Experten einig (!) - ohne 'falls' und 'wenn'.

KLEN

von Daniel A. (daniel-a)


Lesenswert?

Peter D. schrieb:
> Jan schrieb:
>> die If-Bedingungen abgeschafft werden
>> soll.
>
> Ich mag das auch nicht. Ich benutze dafür oft ?:

Alles anfänger hier... Erfahrene verwenden:
1
(bedingung)&&(falls_wahr(),1)||(falls_falsch(),0);

Und bei gcc kann man für den conditionell ausgeführten code zur 
vereinfachung noch dashier verwenden:
https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html

In C++ gehen vermutlich auch lambdas dafür.

von Alex G. (dragongamer)


Lesenswert?

Wilhelm M. schrieb:
> Und in C++20 werden rohe Zeiger [deprecated], damit sie in C++23
> abgeschafft werden können ;-)
In PC Anwendungen (also wo Effizienz nicht absolut höchstes Gebot ist) 
wäre das alles andere als Schlecht. Die sind praktiwch die Hauptursache 
für unerkannte bufferoverflows und ähnliche Angriffsvektoren.
Nicht umsonst handhaben Rust und GO das anders.

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Stefan U. schrieb:
> Man hätte auch C++ abkündigen können, weil es links und rechts von
> anderen "besseren" Programmiersprachen überholt wurde.

Oh, welche (ausgereiften!) Sprachen bieten denn eine derart mächtige 
Unterstützung von Meta Programmierung und Abstraktion bei extrem höher 
Performance, direkter Kontrolle über die Speicher Nutzung, und Eignung 
für eingebettete Systeme?

von Nop (Gast)


Lesenswert?

Dafür sollen künftig in C endlich die if-Schleifen standardisiert 
werden.

von poN (Gast)


Lesenswert?

Nop schrieb:
> if-Schleifen

was ist denn das?

von Ralf S. (Gast)


Lesenswert?

poN schrieb:
> was ist denn das?

Ein Fehler, gegen den auch kein Wiederstand mehr hilft ;)

von Wilhelm M. (wimalopaan)


Lesenswert?

Das ist PR010418, mit dem der C11/C++17-Standard an den Sprachgebrauch 
einiger Unverbesserlicher angepasst wird.

von Einer K. (Gast)


Lesenswert?

Ralf S. schrieb:
> Ein Fehler, gegen den auch kein Wiederstand mehr hilft ;)

Auf der Straße des geringsten Widerstandes, versagen die stärksten 
Bremsen.

von Programmiersprachentheaterintendant (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Stefan U. schrieb:
>> Man hätte auch C++ abkündigen können, weil es links und rechts von
>> anderen "besseren" Programmiersprachen überholt wurde.
>
> Oh, welche (ausgereiften!) Sprachen bieten denn eine derart mächtige
> Unterstützung von Meta Programmierung und Abstraktion
Lisp
> bei extrem höher Performance,
Maximal funktional, nix ist ausgeklammert.
> direkter Kontrolle über die Speicher Nutzung,
Nimmt allen Speicher, auch den swap
> und Eignung
> für eingebettete Systeme?
http://www.ulisp.com/

von Stefan F. (Gast)


Lesenswert?

Die "mächtige Unterstützung von" irgendwas ist gerade aus der Mode 
gekommen. Heute sind Programmier-Werkzeuge gefragt, die alles von ganz 
alleine machen und jeden denkbaren Programmierfehler ausschließen. Je 
weniger der blöde Programmierer tippen muss bzw. kann, umso weniger 
macht er kaputt. Je weniger komplex die Sprache ist, umso korrekter die 
Programme. In Zukunft brauchen die Manager nur noch ihre Mindmaps und 
Powerpoints durch die KI wolfen und heraus kommt das fertige Produkt.

Hätten einige jedenfalls gerne so. Guckt eich doch nur mal an, was für 
ein Bullshit regelmäßig bei Heise beworben wird.

von Nop (Gast)


Lesenswert?

Stefan U. schrieb:
> Je weniger komplex die Sprache ist, umso korrekter die
> Programme. In Zukunft brauchen die Manager nur noch ihre Mindmaps und
> Powerpoints durch die KI wolfen und heraus kommt das fertige Produkt.

Höre ich da "Cobol"? :-)

> Hätten einige jedenfalls gerne so. Guckt eich doch nur mal an, was für
> ein Bullshit regelmäßig bei Heise beworben wird.

Früher war mehr Lametta bei Heise.

von Dr. Sommer (Gast)


Lesenswert?

Programmiersprachentheaterintendant schrieb:
> Lisp
Dynamische Typisierung ist auch nicht soo dolle. Es kann halt auch nicht 
alles was C++ kann. Es wird wohl einen Grund geben warum das weiterhin 
verwendet wird, und was genutzt wird sollte auch weiter entwickelt 
werden.

Stefan U. schrieb:
> Die "mächtige Unterstützung von" irgendwas ist gerade aus der Mode
> gekommen.
Soso, deswegen erlebt C++ also seit C++11 eine kleine Renaissance mit 
der besseren Metaprogrammierung.

Stefan U. schrieb:
> Je weniger komplex die Sprache ist, umso korrekter die
> Programme.
Sieht man ja an C, die unendlichen Fummeleien mit strcpy, strlen usw die 
früher oder später zu Buffer Overflows führen sind natürlich 
verschmerzbar, hauptsache man muss nicht std::string schreiben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.