Olaf Lischke ist selbständiger Trainer, Berater und Entwickler. Seine ersten Gehversuche unternahm er – wie so viele – mit BASIC. Über zahlreiche, heute teils recht exotisch anmutende Programmiersprachen, fand er schließlich seinen Schwerpunkt in der Microsoft-Welt mit Visual Basic (später VB.NET) und C#.
Ich sprach mit Olaf über die verschiedenen Programmiersprachen, die seinen beruflichen Werdegang begleiten. Der Schwerpunkt unseres Gespräch ist .NET Framework oder wie man heute sagt: .NET
Zur Jahrtausendwende angekündigt, veröffentlichte Microsoft im Jahr 2002 die erste Version dieses “.NET Framework” für Windows; eine Programm- bzw. Laufzeitbibliothek, die Anwendungsentwicklern in Form einer sogenannten Klassenbibliothek zahlreiche nützliche Schnittstellen zur Verfügung stellt. Die Klassenbibliothek kann mit einer Vielzahl von Programmiersprachen genutzt werden, gleichzeitig sind die kompilierten Anwendungen sowohl auf unterschiedlicher Hardware als auch auf unterschiedlichen Betriebssystemen lauffähig. Der besondere Ansatz von .NET ist die Bereitstellung einer abstrakten Laufzeitumgebung, kurz einer VM (“virtual machine”). .NET Anwendungen werden mit einem Compiler in die spezifische Maschinensprache dieser VM übersetzt – der sogenannten “Intermediate Language”. Dieser Ansatz ermöglicht es, dass lediglich die Laufzeitumgebung für unterschiedliche Hardware und Betriebssysteme portiert und nicht jede Applikation für die jeweilige Zielplattform neu kompiliert werden muss. Die Architektur von .NET erinnert nicht zufällig an das ältere JAVA der Firma Sun und dessen JRE (“java runtime environment).
Ich spreche mit Olaf in etwas mehr als drei Stunden über Grundlagen der Anwendungsentwicklung, über Techniken zur Erstellung von graphischen Anwendungen mit Windows Forms, WPF oder MAUI. Wir reden über das Erstellen von refakturierbarem Code, der Trennung von Programmlogik und Repräsentation und der allgegenwärtigen Frage nach dem besten Editor/der besten IDE. Und natürlich über die besondere Qualität und Attraktivität, die die Plattform .NET dem Entwickler bietet.
Das Interview wurde am 09.Mai 2024 in Duisburg aufgezeichnet.
Randnotizen
- about(‘Olaf Lischke’)
- Tourismus im Ruhrgebiet (ruhr-tourismus.de)
- Homecomputer (in der Wikipedia): Sinclair ZX 81, Commodore 128, Commodore 64
- Programmiersprachen (in der Wikipedia): BASIC, FORTRAN 77, C, C++, C#, F#, TypeScript/ECMAScript, Java, Prolog, Visual Basic for Applications (VBA)
- Assembler Crashkurs (fau.de)
- ZX 81 BASIC Programming (eBook (PDF): historybit.it)
- LINQ (WP)
- Kurvendiskussion (Mathematrick, YouTube)
- AutoCAD, Autodesk, AutoLISP (WP)
- The History of .NET by Richard Campbell of .NET Rocks! (YouTube)
- .NET (WP)
- Gro Harlem Brundtland: Brundtland-Bericht (WP)
- Trumpet Winsock (WP)
- Was ist Objektorientierung? (lerneprgrammieren.de)
- Component Object Model, COM (https://learn.microsoft.com/)
- Intels 64-Bit Itanium-Architektur (WP)
- Miguel de Icaza (WP, X): Mono (WP), Xamarin (WP)
- “EU DMA, Open Source and Finance” with Miguel de Icaza (TwitTV/YouTube)
- “Understanding Namespaces and Working with the .NET Class Library” (Video: learn.microsoft.com)
- File.Delete-Methode (learn.microsoft.com)
- Nepals Zeitzone (via PowerShell):
Get-TimeZone -Id ‘Nepal Standard Time’ - Windows Runtime, WinRT (WP)
- Assemblies in .NET (learn.microsoft.com)
- Microsoft Intermediate Language (dotnetframework.de)
- .NET Lifecycle (learn.micorosoft.com)
- “Demystifying Microsoft .NET Long Term Support (LTS) in 2024” (blog.inedo.com)
- What is .NET MAUI? (learn.microsoft.com)
- Tutorial: Create a simple WPF application with C# (learn.microsoft.com)
- Jetbrains Rider IDE (jetbrains.com)
- Jetbrains ReSharper (jetbrains.com)
- Stack und Heap (lerneprgrammieren.com)
- GDI+ (learn.microsoft.com)
- Roslyn compiler (github.com/dotnet)
- Garbage Collection (WP)
- John Resig and Bear Bibeault: “Secrets of the javascript ninja” (manning.com)
- Gutenberg-Museum in Mainz (mainz.de)
- Basta-Konferenz (basta.net)
Kapitel
00:00:00.000 Intro
00:01:37.044 about.(‘Olaf’)
00:07:10.616 Homecomputer
00:26:29.892 Internetworking
00:32:35.199 Objektorientierung
00:55:36.536 Hardwareabstaktion
00:59:33.009 .NET, innere Werte
01:09:56.312 Klassen, Bibliotheken
01:15:34.574 Intermediate language
01:32:54.240 Responsive Design und MAUI
01:46:01.393 Sprachen für .NET
02:08:36.831 Editoren
02:10:29.727 GUI
02:26:19.827 WPF
02:37:26.931 Web Services
02:42:53.562 VSCode
02:51:12.105 Ausblick: Was ist die beste Arbeitsumgebung?
03:00:34.756 New-SchlussWort
Musik