Microsoft stellt sichere Programmiersprache SDL vor
-
Wer hat das geschrieben, du nicht, oder? Für einen Aprilscherz zu unlustig, bis auf den letzten Satz natürlich, der klingt nach Klopapierwerbung.
-
Bashar schrieb:
Wer hat das geschrieben, du nicht, oder? Für einen Aprilscherz zu unlustig, bis auf den letzten Satz natürlich, der klingt nach Klopapierwerbung.
Hmm, liest sich wirklich wie ein Scherz. Darum ging es mir aber gar nicht.
Ich habe mich ziemlich über die Antwort von Microsoft zu deren Blog-Post aufgeregt, weil sie genau das Gegenteil von "Security" vermittelt: Irgendeinen Brei aus "kann ein bisschen C" und "Templates und RAII sind mir zu schwer". Dieses weitverbreitete C/C++, wie man es nennen könnte. Oder schlechtes C mit Klassen.
Den Ärger habe ich mit Schreiben rausgelassen.
Falls ich jemanden belästigt habe, soll er sich bei MS beschweren.
-
WTF? Wollen die den Namen von Simple Directmedia Layer nehmen ? Das wird aber für Verwirrung sorgen ...
-
Du schreibst echt niedlich, dafür dass du verärgert bist. Nach zwei, drei Zeilen lesen, dachte da wollte mit jemand, dass All-heilmittel verkaufen. Und dieser Code, dann wüsste niemand mehr, was du ausdrücken wolltest.
-
TyRoXx schrieb:
..
Warte mal.. das war kein schlechter Scherz?
@Google: Hä? Das ist doch überhaupt keine Sprache. Jetzt bin ich verwirrt. Wo ist dein Problem? oO
-
TyRoXx schrieb:
Bashar schrieb:
Wer hat das geschrieben, du nicht, oder? Für einen Aprilscherz zu unlustig, bis auf den letzten Satz natürlich, der klingt nach Klopapierwerbung.
Hmm, liest sich wirklich wie ein Scherz. Darum ging es mir aber gar nicht.
OK, jetzt versteh ich. Da war ich wohl etwas zu vernagelt. Vielleicht weil der Text oberflächlich professionell wirkt und in der ersten Hälfte, wenn einem SDL nichts sagt, man wirklich glauben könnte, er sei eine ernstgemeinte Ankündigung. Am Ende hatte ich zwar das Gefühl, eine Satire gelesen zu haben, aber überhaupt nicht verstanden, was genau eigentlich kritisiert wird. Schließlich ist SDL ja überhaupt keine Sprache. Willst du damit ausdrücken, dass SDL Probleme in einer Sprache, d.h. Sprachform von C++, lösen will, die es eigentlich nicht mehr gibt oder geben sollte?
-
Nein, er kritisiert höchstwarscheinlich das SDL-Team, von dem auch der Code in seinem Beitrag stammt. Lies doch mal den letzten Kommentar.
-
Bashar schrieb:
Schließlich ist SDL ja überhaupt keine Sprache. Willst du damit ausdrücken, dass SDL Probleme in einer Sprache, d.h. Sprachform von C++, lösen will, die es eigentlich nicht mehr gibt oder geben sollte?
Es ging mir hauptsächlich um den Kommentar, in dem jemand von Microsoft schlechten Code empfiehlt. Vor allem, weil es in dem Post darum geht, dass potentiell unsicherer Code von Visual C++ 11 als Fehler angezeigt werden kann.
Da so ein schlechter Stil unter Programmierern weit verbreitet ist und den wesentlichen Merkmalen von C++ widerspricht, habe ich diese Teilmenge von C++ mal als Programmiersprache namens SDL dargestellt.
Diese
/sdl
-Option ist so lächerlich wie selbstverständlich. Deswegen ist sie auch nicht der Rede Wert und dient nur als Inspiration und Namensgeber.
Einige der Warnungen ergeben schon Sinn wie C4146 "A unary minus operator was applied to an unsigned type, resulting in an unsigned result".
-
Ethon schrieb:
Nein, er kritisiert höchstwarscheinlich das SDL-Team, von dem auch der Code in seinem Beitrag stammt. Lies doch mal den letzten Kommentar.
Dann hat TyRoXx das SDL Team nicht verstanden, da wird ein Fall Null-Auto-Zuweisung nach Freigabe angeben. Der Entwickler muss kein NULL setzen, dass soll die Umgebung für ihm machen, damit solchen dumme Macros, wie das SDL gesehen hat, unnötig werden.
-
TyRoXx schrieb:
Es ging mir hauptsächlich um den Kommentar, in dem jemand von Microsoft schlechten Code empfiehlt. Vor allem, weil es in dem Post darum geht, dass potentiell unsicherer Code von Visual C++ 11 als Fehler angezeigt werden kann.
Dann lies nochmal worum es geht.
double delete ist ein Problem in vielen Codes. CHECKED_DELETE Macros sind eine gaengige Loesung fuer das Problem (nicht eine gute, aber eine gaengige).Nachtrag: das SDL Team sagt nicht, dass man diese Macros verwenden soll, noch dass diese Teil der SDL Implementierung im VC++ sind, sondern dass dies eine aktuelle Praxis ist. Das ist ein sehr relevanter Unterschied!
Diese
/sdl
-Option ist so lächerlich wie selbstverständlich. Deswegen ist sie auch nicht der Rede Wert und dient nur als Inspiration und Namensgeber.
Einige der Warnungen ergeben schon Sinn wie C4146 "A unary minus operator was applied to an unsigned type, resulting in an unsigned result".Genauso wie -Weffc++ beim gcc.
Warnungen sind prinzipiell nie verkehrt.Du hast einfach nur nicht verstanden worum es geht.
SDL ist keine Loesung fuer alle unsere Probleme, aber es warnt bei ein paar tricky Sachen. zB sind die unsafe Function Warnings im VC++ schon sehr nett. Ich finde es praktisch wenn mein Compiler mich vor potentiellen Fehlern warnt. Ich kann ja immernoch die Warnung abschalten wenn ich sie fuer nicht sinnvoll erachte.
Aber Code wird nicht nur von guten Programmierern entwickelt sondern auch von Schlechten. Und die brauchen jede Hilfe die sie bekommen koennen.
-
Also -Weffc++ habe ich noch nie verwendet. Was tut das nochmal?
-
314159265358979 schrieb:
Also -Weffc++ habe ich noch nie verwendet. Was tut das nochmal?
Doku lesen. Ist ja echt nicht schwer, oder?
Es schaltet Warnungen aus Effective C++ ein. Die sind tw auch doof - aber es ist nett sie zu haben wenn man sie denn nutzen will.
-
Schwer nicht, aber Arbeit. Danke unso.
-
314159265358979 schrieb:
Also -Weffc++ habe ich noch nie verwendet. Was tut das nochmal?
Die Idee fand ich gut, weil ich auch das Buch (Effective C++) immer gern empfehle. Aber im Buch stehen halt Daumenregeln drin, die nicht immer passen. Und wenn die nicht passen, nervt so eine Warnung. Mir wurde da mal was angemeckert, weil ich einer bestimmten Klassen keinen virtuellen Destruktor spendierte. Der war aber in meinem Fall auch unnötig. Man muss ja nicht immer "polymorph löschen" können, gerade bei so Dingen wie Iterator-Klassen oder Funktionsobjekten, wo es mal praktisch sein kann, sie per public inheritance zusammenzusetzen à la CRTP oder so...
Da fällt mir ein, ich wollte immer noch ein paar andere "static code analyzer" ausprobiert haben.
-
krümelkacker schrieb:
Aber im Buch stehen halt Daumenregeln drin, die nicht immer passen.
Faustregeln.
-
volkard schrieb:
krümelkacker schrieb:
Aber im Buch stehen halt Daumenregeln drin, die nicht immer passen.
Faustregeln.
Volkard wird mit -Wduden compiliert.
-
Bashar schrieb:
volkard schrieb:
krümelkacker schrieb:
Aber im Buch stehen halt Daumenregeln drin, die nicht immer passen.
Faustregeln.
Volkard wird mit -Wduden compiliert.
eher -Wlexikon
Wobei er in diesem Fall versagte, Daumenregel ist legitim.
Sorry@volkard
-
TyRoXx schrieb:
Ein Post auf blogs.msdn.com bietet erstmals Einblicke in die jüngste Programmiersprache aus dem Hause Microsoft. Die Sprache verbindet die Verbosität von C++ mit der Aktualität von C und bietet einzigartige Sicherheitsfunktionen. Erscheinen wird diese Revolution mit Visual Studio 11 unter dem Namen Secure Development Language, kurz SDL.
Der Name ist wohl Programm zum Krieg gegen die Simple DirectMedia Layer.
Denn wenn man SDL in google eingibt, dann ist diese das Erste, was auftaucht.Da die SDL mit Version 2.0 bald unter einer zlib artigen Lizenz stehen wird, und somit für kommerziell agierende Firmen deswegen plötzlich interessant wird und deswegen zur Konkurrenz von DirectX werden kann, will man der SDL wohl den Boden unter den Füßen wegziehen, in dem man eine stark vermarktete Programmiersprache mit dem gleichen Namen auf den Markt wirft, so daß die Lib bei der Googlesuche nur noch untergehen kann.
Die Methoden von MS sind echt verabscheuenswürdig.
-
Klar...
MfG SideWinder
-
Habe ich auch gedacht als ich SDL gelesen habe. Am Ende gibt es noch eine Option in den Einstellungen "Mit SDL kompilieren." Das kann man leich verwechseln mit "SDL linken".