Einblicke in die Software Entwicklung

Software Entwicklung ist ein spannendes Thema. Es gibt viele Fascetten, unterschiedliche Programmiersprachen und viele unterschiedliche Plattformen. Die unterschiedlichen Möglichkeiten kann ein einzelner Entwickler gar nicht alle beherrschen. Trotz der scheinbar unendlichen Vielfalt gibt es einen gemeinsamen Nenner. Alle Programmiersprachen unterstützen bestimmte Konzepte, auch wenn jeweils die konkrete Ausprägung anders aussehen kann. Versteht man sie jedoch in einer Sprache, ist es leicht, das Wissen auf andere zu übertragen. Mit unserer Serie »Einblicke in die Software Entwicklung« möchten wir diese grundlegenden Konzepte beleuchten.

Einblicke in die Software Entwicklung

Hier ein Überblick über unsere Artikelserie. Die einzelnen Beiträge sind nicht zwingend aufeinander aufgebaut. Sinnvoll ist es trotzdem in chronologischer Reihenfolge vorzugehen.

Als Sprache kommt bei uns Javascript zum Einsatz. Hintergrund ist, dass keine spezielle Entwicklungsumgebung oder Ähnliches benötigt wird. Jeder, der dies liest, kann wahrscheinlich auf einen Webbrowser und einen Texteditor zugreifen. Diese Komponenten werden mit jedem modernen Betriebssystem mitgeliefert.

Hier die Beiträge im Überblick:

Wir freuen uns auch über Anregungen, jegliches Feedback und Vorschläge. Zudem stehen wir jederzeit für Fragen zur Verfügung. Los geht es heute mit der Grundidee der Software Entwicklung.

Grundlagen der Software Entwicklung

Da wird regelmäßig über Programmierung und Software Entwicklung geredet, geschrieben, gezeigt, wie man Programmierer wird oder wozu Software gut ist. In diesem Artikel möchten wir zusätzlich die Grundlagen der Software Entwicklung erläutern.

Die Grundidee der Software Entwicklung war es nicht Spiele zu entwickeln, jedem Bürger ein Smartphone in der Tasche zu ermöglichen oder Ähnliches. Im Gegenteil, zu Beginn sollten Computer mathematische Berechnungen erleichtern. Der Name »Computer« bedeutet übersetzt sogar »Rechner«.

Anfänge der Software Entwicklung

In den Anfängen der Software Entwicklung gab es verschiedene Ansätze zur Programmierung. In den frühen Jahren wurde sogar auf physischer Ebene programmiert, mit Lochkarten! Die waren bis um 1980 herum weit verbreitet. Viele heute aktive Entwickler , haben diesen Abschnitt miterlebt.

Die klassischen Programmiersprachen wie wir sie heute kennen, entstanden erst relativ spät. Ihre Verbreitung hat das Aus der Lochkarte besiegelt und die Grundlage für heutige Programmierer gelegt. In der Tat gibt es viele Sprachen noch heute. Bekanntes Beispiel ist die Sprache C. Sie wird heute noch eingesetzt. Auch Weiterentwicklungen und Erweiterungen wie Objective-C oder C++ erfreuen sich großer Beliebtheit.

Das Konzept Software Entwicklung

Software besteht letztendlich aus einer Reihe von Tests und Aktionen, damals wie heute. Es gibt unterschiedliche Konzepte und Herangehensweisen bei der Strukturierung von Quellcode und komplexen Softwareprojekten. Gutes Beispiel sind objektorientierte Programmiersprachen. Auch die Planung von Software und die Herangehensweise an Projekte sind mittlerweile anders. Die agile Software Entwicklung findet immer mehr Zuspruch und steckt quasi noch in den Anfängen. Zum Schluss läuft es technisch allerdings darauf hinaus, dass Maschinencode produziert wird. Entweder bereitet ein Compiler diesen vor, oder ein Interpreter für eine Skriptsprache wie PHP ist für den Maschinencode da. Dieser wird in der CPU Schritt für Schritt abgearbeitet. Für das Verständnis dieser Zusammenhänge ist ein Exkurs in die Welt der Assembler Programmierung hilfreich und spannend. Wichtig ist an dieser Stelle zu verstehen, dass im Grunde Maschinencode abgearbeitet wird.

Ziel der Programmierung

Bei der Programmierung geht es fast immer um die Verarbeitung, Aufbereitung, Sammlung oder Darstellung von Daten. Heruntergebrochen auf den Kern tut jede Software genau dies. Egal ob Spiel, E-Mail-Programm, Smartphone-App oder Online-Shop. Überall werden Daten gesammelt, aufbereitet und dargestellt. Da unsere Welt sehr komplex ist und es viele Daten gibt, in sehr unterschiedlichen Formen, gibt es verschiedene Programmiersprachen und Plattformen.

Genau das ist Software Entwicklung, Verarbeitung und Aufbereitung von vorliegenden Daten. Das klingt einfach, ist es im Kern auch. Die Realität ist allerdings komplizierter, da es sehr viele Möglichkeiten gibt Software zu erschaffen. Zudem gibt es auch sehr viele Datenquellen, diverse Formate, unterschiedliche Wege der Darstellung und unterschiedliche Geschmäcker. Die Kunst besteht darin, die Anforderungen umzusetzen und zielgerichtete Software zu entwickeln. Die »eierlegende Wollmilchsau« ist in der Praxis weniger gefragt als spezialisierte Softwaremodule.

Fascetten der Software Entwicklung

Die Programmierung hat unterschiedliche Fascetten, schon bedingt durch die unterschiedlichen Bereiche in denen Software eingesetzt wird. Da gibt es bspw. hardwarenahe Entwicklung. Viel Elektronik in unserem Leben ist durch Technik dominiert. Gutes Beispiel sind Autos. Der klassische KFZ-Mechaniker ist heute deutlich weniger gefragt als ein Mechatroniker, der sich auch mit dem IT-Teil auskennt. Hintergrund ist die eingesetzte Elektronik und die Steuergeräte, ohne die Autos nicht mehr auskommen. Die müssen jedoch programmiert werden! Ein Markt für fähige Programmierer, denn diese Software in Autos muss effizient und fehlerfrei funktionieren.

Ein großer Markt ist die Entwicklung für mobile Entgeräte. Dort werden ständig Experten für diverse Bereiche gesucht. Das geht von mobilen Lösungen mittels HTML, CSS und Javascript bis hin zur Entwicklung von Anwendungen für iOS und Android. Hier werden gleichzeitig auch Spielentwickler gesucht. An die werden besondere Anforderungen gestellt, da unter anderem die Entwicklung von 3D Software nicht trivial ist. Speziell die notwendigen mathematischen Berechnungen sind nicht ohne.

Ebenfalls stark gefragt sind Webentwickler. Der Markt ist auch hier groß, da Webentwickler viele verschiedene Bereiche abdecken. Man kann Online Shops entwickeln, normale Firmenauftritte, mobile Applikationen (Stichwort Software-as-a-Service), mobile Webseiten und vieles mehr. In diesem Bereich bieten sich viele Berufschancen, auch für Quereinsteiger.

Es gibt noch mehr Fachgebiete, auf denen Software Entwickler sich spezialisieren können. Zum einen kann man sich auf Plattformen spezialisieren, sich mit jedem Aspekt einer Programmiersprache als Experte profilieren oder sich auf bestimmte Technologien stürzen. Die Möglichkeiten sind deutlich größer als die zur Verfügung stehende Zeit.

Fazit

Die Software Entwicklung ist ein spannendes Thema. Wer ein Grundinteresse hat, kann sich mittlerweile eine ganze Reihe verschiedener Spezialisierungen aussuchen. Die Software-Welt ist immer komplexer geworden, bringt jedoch regelmäßig auch neue Entwicklungen hervor, in denen man voll aufgehen kann. Und trotz der großen Vielfalt, hat sich an der Theorie im Kern seit der Einführung der ersten 80386 Prozessoren nur wenig geändert. Alles wurde schneller und leistungsfähiger, aber die Technologie ist in Teilen noch kompatibel. Nach dem Theorie Teil geht es im nächsten Artikel dann um ein erstes Beispielprogramm – Hallo Welt.

Kommentare (3)

Leave a Comment to Programmieren Lernen › Einblicke in die Software Entwicklung: Variablen verwenden Cancel reply

Your email address will not be published.