
99.9% der Softwarefehler werden von Programmierer verursacht. Testen und Code Reviews helfen zwar, sind aber nicht immer genug. Viel schöner wäre es, wenn ich als Programmierer eine falsche Verwendung meines Codes von vornherein Abfangen könnte. Mit “Design by Contract” kriegen wir Softwareingenieure ein Werkzeug für genau diesen Zweck in die Hände. Programmcode wird durch “Design by Contract” aber nicht nur korrekter, sondern auch lesbarer und somit wartbarer. Und nicht zuletzt wird mit diesem Werkzeug Code auch robuster gegenüber Regressionsfehler. Einige Programmiersprachen kennen das Konzept bereits als natürliche Spracheigenschaft1, aber auch wenn dies nicht der Fall ist, lässt sich die Unterstützung für “Contracts” leicht einbauen.

author: Dominik

author: Dominik

author: Dominik

Die neuen Standards haben die Programmiersprache C++ merklich modernisiert und teilweise ganz neue Programmierparadigmen in die Welt von C++ eingebracht. Die “grossen” Änderungen wie Variadic Templates, auto
, Move-Semantik, Lambda-Ausdrücke und weitere haben für viel Diskussionsstoff gesorgt und sind dementsprechend weit herum bekannt. Nebst den Sprachfeatures hat auch die Standard-Bibliothek eine merkliche Erweiterung erfahren und viele Konzepte aus Bibliotheken wie boost
wurden so Standardisiert. Nebst diesen sehr spürbaren (und teilweise auch umstrittenen) Features gibt es eine ganze Menge an kleinen-aber-feinen Spracherweiterungen die oft weniger bekannt sind oder übersehen werden.