Mal ganz unabhängig von den Problemen mit der Parallelität ist es auch einfach so sehr oft eine gute Idee, seine Objekte und Datenstrukturen unveränderlich zu halten. Wie sich dies im Zusammenhang mit Collections bei einer Liste bewerkstelligen lässt, ist wohl auch weitestgehend bekannt. Aber wie steht es um die anderen Datenstrukturen, etwa einer Menge, einer Map, einem Array oder einer Queue?
Dieser Vortrag beschäftigt sich mit abstrakten Datentypen und implementierenden, rein funktionalen, „persistenten“ Datenstrukturen. Dabei wird nicht nur gezeigt, wie sich deren Performance von ihren veränderbaren Verwandten unterscheiden, sondern insbesondere auch gezeigt, wie man sich der Objektorientierung bedienen kann, um jene möglichst effizient zu gestalten.
Michael Wiedeking ist Gründer der MATHEMA Software GmbH. Er ist Java-Programmierer der ersten Stunde, schreibt regelmäßig Artikel und spricht auf Konferenzen. Am liebsten aber “sammelt” er Programmiersprachen und beschäftigt sich mit ihrem Design und ihrer Implementierung – neuerdings mit seiner eigenen: Aalgola.