Retrocomputing
Es gibt eine große Zahl von Freunden alter Computer und Spielekonsolen, die zum Teil sogar in Vereinen organisiert sind. Legendäre Computer wie Apple II, Commodore VC-20, C64 und Amiga oder Sinclairs ZX-80 und ZX-81, aber auch längst nicht mehr produzierte Spielekonsolen finden sich nicht nur in Museen, sondern werden von Fans auch heute noch gehegt, gepflegt und gehandelt. Viele Fans alter Computersysteme begründen ihre Leidenschaft damit, dass die alten Systeme noch transparent waren und man ihre Funktionsweise detailliert nachvollziehen konnte. Moderne Systeme besitzen eine weitaus höhere Komplexität und Integrationsdichte und degradieren den Besitzer zum reinen Nutzer, während die alten Systeme noch eher die Hackermentalität der Anwender herausforderten.
Retrocomputing bezeichnet aber nicht nur die Beschäftigung mit der Original-Hardware und -Software, sondern auch die softwaremäßige Emulation von Vintage-Computern auf modernen Rechnern. Ziel ist es dabei auch, alte Programme und Daten weiterhin verwenden zu können und ein besseres Verständnis für Technik und Abläufe zu entwickeln.
Neben der Beschäftigung mit historischen Rechnern als Hobby fällt unter das Retrocomputing aber auch der professionelle Einsatz veralteter IT-Systeme, beispielsweise hinsichtlich des Zugriffs und der Übertragung veralteter Backupsysteme auf moderne Lösungen, oder der fortgesetzte Betrieb von sogenannten Legacy-Anwendungen auf neuen Rechnersystemen. Hierunter versteht man Programme, die ursprünglich für Betriebssysteme bzw. Computer-Hardware entwickelt wurden, die heute nicht mehr zur Verfügung stehen. Diese Anwendungen werden möglicherweise nur selten benötigt oder sind so komplex, dass eine Neuprogrammierung aus Kostengründen nicht sinnvoll ist. Stattdessen emulieren Unternehmen die benötigte veraltete Laufzeitumgebung in virtuellen Maschinen, wobei zum Teil neue Treiber und Schnittstellen zu modernen Peripheriegeräten geschaffen werden müssen.
Ein spezieller Bereich des Retrocomputings, auch wenn er nicht immer explizit dazu gezählt wird, findet sich im Rahmen der Softwareentwicklung. Hier geht es darum, sicherzustellen, dass eine neu programmierte oder aktualisierte Anwendung auch auf älteren Maschinen und Betriebssystemen wie gewünscht funktioniert. Den Entwicklern stehen dazu in der Regel nicht beliebige Kombinationen aus alter Hardware und Software zum Test zur Verfügung. Aufgabe des Retrocomputings ist es hier, entsprechende Testmethoden vorzuhalten. Ein ähnlicher Anwendungsfall findet sich auch bei der Entwicklung von Websites und Webservices, die ebenfalls mit einer Vielzahl noch in Nutzung befindlicher, aber nicht mehr käuflich zu erwerbender Systeme kompatibel sein soll.