hiermit seid Ihr alle zum nächsten Treffen der C++ Usergroup Dresden eingeladen.
Datum: 12. Februar 2015
Zeit: 20.00 Uhr
Ort: Studentenclub Wu5
Es wird hoffentlich auch wieder einen Live Stream und Video Aufnahme geben.
Edit: Siehe ustream.tv channel
Edit: Siehe ustream.tv channel
Bitte weitersagen!
Eventbasierte Programme wieder sequentiell formulieren oder Clean Code in asynchronen Programmen
Abstakt:
Für eine moderne Applikation gibt es immer genügend Gründe warten zu müssen. Schon einfachste Anwendungen sind gezwungen zu warten. Sie warten auf Netzwerkevents, warten auf auf eine langsame Datenbank, warten auf Inhalte aus dem Internet, warten auf rechenzeitintensive Tasks. Aber einfach zu warten ist keine Tugend von C++. So muss man sich mit Workarrounds aus weiteren Threads, Signalen, Callbacks und natürlich wieder der Synchronisierung all dessen beschäftigen. Das Ziel erreicht man zunächst damit. Aber zu welchem Preis! Statt den Compiler sich um den Kontrollfluss kümmern zu lassen, muss es nun vom Entwickler explizit programmiert werden. Eigentlich zusammengehörende Teile der Applikation finden sich weit verstreut im Quellcode wieder. Es wird schwer wartbarer Code hinterlassen, in dem eigentliche Applikationslogik und expliziter Kontrollfluss wild gemischt sind. Spaghetticode statt Cleancode läßt grüßen!
C# bietet zur Flucht aus der Callback- und Synchronisierungshölle async/await; JS mit ECMA6 Generatoren. Und was können wir in C++ tun?
Anhand einer kleinen Qt-Beispielanwendung, die Bilder mittels Qt Cloud Services speichert und verwaltet, soll nun demonstriert werden, wie auch event - und signal getriebene Qt-Anwendungen bereits heute auf Basis der coasync4cpp Bibliothek mit Hilfe von async/await/taskify sequentiell programmiert und so stark vereinfacht werden können.
Keine Kommentare:
Kommentar veröffentlichen