Читать книгу 10xDNA – Das Mindset der Zukunft - Frank Thelen - Страница 36
Alles open source
ОглавлениеWährend der 1980/90er Jahre war Microsoft der dominierende Anbieter von Betriebssystemen und Software. Microsoft hatte einen großen »Lock-in« für seine Plattform geschaffen. Die meisten PCs liefen mit MS-DOS oder Windows, also lohnte es sich für externe Entwickler, ihre Software für diese Systeme zu entwickeln. Und umgekehrt war es für Käufer am attraktivsten, sich einen MS-DOS- oder Windows-Rechner zu kaufen, weil es hierfür die größte Auswahl an Anwendersoftware gab. Durch große Investitionen in Entwicklungsumgebungen und Trainings hielt Microsoft das Schwungrad »Die meiste Software ↔ Die meisten kompatiblen PCs« am Laufen. Das Aufkommen des Internets und die Verlagerung der Nutzer hin zu browserbasierten Anwendungen brach dieses System auf. Mit den neuen Smartphone-Betriebssystemen entstand ein neuer Wettbewerb um die besten Apps und mit ihm die besten Entwicklertools.
Entwicklungsumgebungen oder Systemumgebungen sind Plattformen, auf denen Entwickler mit einem Set an Prozessen und Werkzeugen neue Software oder neue Softwareversionen entwi- ckeln. Dazu nutzen sie Programme, die als integrierte Entwicklungsum- gebung (IDE) bezeichnet werden.
Das Tempo des Wandels war noch nie so schnell. Und dennoch wird es nie mehr so langsam sein.
Justin Trudeau, 2018 — kanadischer Premierminister
Wir befinden uns in der Zeit der Plattform-Ökosysteme. Alle großen digitalen Unternehmen – Apple, Google, Amazon, Microsoft – bieten Plattformen und versuchen, sich dort mit einem Angebot an Diensten zu differenzieren. Sie haben verstanden, dass sie die Kreativität und die Ideen externer Entwickler für sich gewinnen müssen, um immer neue Dienste anbieten zu können. Aus diesem Grund stecken sie viele Ressourcen in attraktive Entwicklerumgebungen. Sie bieten Entwicklern immer mächtigere Werkzeuge an, damit sie neue Dienste auf ihren Plattformen entwickeln. Die Palette verfügbarer Entwicklertools ist mittlerweile sehr breit. Sie reicht von Tools zur Unterstützung bei der App-Entwicklung (Apple Xcode/Swift, Android Studio oder Microsofts Visual Studio) hin zu Werkzeugen für Bilderkennung, Spracherkennung oder Videoanalysen mithilfe künstlicher Intelligenz. Es gibt spezielle Tools zur Entwicklung von Virtual- oder Augmented-Reality-Anwendungen. Neuerdings haben Amazon und Co. sogar Entwicklerumgebungen für Roboterprogrammierung und Quantencomputer im Portfolio.
Mit dem Aufkommen des Cloud Computing bildete sich noch eine weitere Methode der Zusammenarbeit unter Softwareentwicklern. In sogenannten Repositories speicherten Entwicklerteams ihre Softwaremodule. Alle im Team hatten Zugriff auf schon fertige Bausteine der Kollegen und konnten sie in anderen Projekten ihren Zwecken anpassen. Wieso sollte man beispielsweise ein Modul für »Passwort zurücksetzen« immer wieder neu schreiben, wenn man es aus einem alten Projekt wiederverwenden konnte? Die effizienten Repositories etablierten sich. Heute gibt es große Online-Datenbanken wie Github mit fertigen Softwarebausteinen. Entwickler teilen Module, die sie für konkrete Probleme geschrieben haben. Andere können diese Module für ihre Projekte weiterentwickeln. Das Rad muss nicht immer wieder neu erfunden werden – es wird ständig verbessert. Analog zu Kurzweil’s Law gilt: Immer mehr Software-Entwickler mit immer mehr Rechenpower haben Zugriff auf immer bessere Entwicklerumgebungen.
Repositories sind zentrale Ablageorte für Software. Sie dienen bei der Versionsverwaltung unter anderem dazu, nachzuvollziehen, wer wann etwas geändert hat. Bei Zugriff werden die entsprechenden Dateien aus dem Repository ausgecheckt und nach Bearbeitung wieder eingecheckt.