Was ist Programmieren eigentlich? Oder auch: Hund der Zerstörung

Boxerhündin Marta im ACCENON Büro

Was ist Programmieren eigentlich? Oder auch: Hund der Zerstörung

Vielleicht haben Sie sich schon mal gefragt, was Softwareentwickler eigentlich machen. Oder wie eine Software wie unsere Zeiterfassung überhaupt funktioniert. Im folgenden Blogeitrag  zeigen wir  Ihnen, was Programmieren eigentlich ist  und was unser Büro Hund Marta damit zu tun hat. 

Gepostet: 04, August 2023

Autor: Isabella Kloska

Kategorie:  IT & Software

Lesezeit: 5 Minuten

Im Zeitalter der Digitalisierung umgeben wir uns immer mehr mit technischen Geräten. Zum Beispiel das Handy, der Personal Computer, der Bordcomputer des Autos, per Wifi oder Bluetooth über eine App steuerbare Haushaltsgeräte und viele mehr begleiten uns im Alltag. Jedes Betriebssystem und jede Software, jede App und jede Website, die Sie besuchen, wurde mithilfe von Programmcode erschaffen.

Wie man diesen schreibt, liest und anpasst, kann in der Ausbildung zum Fachinformatiker*in, in Studiengängen mit unterschiedlichen Schwerpunkten (z.B. Allgemeine Informatik, Wirtschaftsinformatik, Medieninformatik, Medizinische Informatik, …) oder im Selbststudium erlernt werden. Um mit dem technischen Fortschritt mitzuhalten und in unterschiedlichen Projekten mitzuwirken, bilden sich Softwareentwickler*innen kontinuierlich durch Teamwork, Selbststudium und Fortbildungen weiter.

Wie die Struktur von Code aussieht, wird durch die Programmiersprache bestimmt, in der er verfasst wird. Da sie sich für das, was wir machen möchten, gut eignet, bedient sich der Code in diesem Beitrag der „objektorientierten“ Programmiersprache C# (sprich: „See Sharp“). Wir erstellen eine „Konsolenanwendung“, das heißt, unser Ergebnis werden einige Textzeilen sein, die vom Programm ausgegeben werden.

Falls Sie Lust bekommen, mitzuprogrammieren oder ins Programmieren hineinzuschnuppern, laden Sie sich eine kostenfreie Entwicklungsumgebung herunter (für diesen Beitrag verwenden wir Visual Studio), in der Sie eine Konsolenanwendung wie hier vorgestellt erstellen können. Im Internet sind zudem zahlreiche Tutorials, auch für Programmieranfänger, verfügbar.

Wie programmiert man einen Hund:

Wir werden im Folgenden Marta programmieren. Sie ist einer unserer Bürohunde und gehört unserem Geschäftsführer Rainer Wölkerling.

Betrachten wir Marta mal als ein Objekt.
Was ist Marta?
Richtig, ein Hund. Also öffnen wir eine sogenannte Entwicklungsumgebung, in diesem Fall Visual Studio, und erstellen eine Objekt-Klasse „Hund“, die jeden Hund darstellen könnte:

Momentan hat unser Hund noch keine Eigenschaften und keine Aktionen, die er ausführen könnte.
Jeder Hund sollte einen Namen haben. Daher geben wir unserer Klasse „Hund“ nun eine Eigenschaft, in der wir später seinen Namen speichern können. Und wenn wir schon dabei sind, geben wir ihm gleich noch die Eigenschaft „Freude“, die die Menge an Freude angibt, die der Hund gerade empfindet.

Die Eigenschaft „Name“ ist vom Typ „string“ – das bedeutet, es handelt sich um eine Zeichenfolge. Die Eigenschaft „Freude“ messen wir als Zahl. Daher soll sie vom Typ „Integer“, kurz „int“, sein. Wenn ein Hund 0 als Freude-Wert hat, fühlt er sich neutral, 10 wäre schon ziemlich viel Freude. Da Hunde meist freundliche Wesen sind, geben wir jedem Hund initial 6 als Grundwert.

So wird Marta lebendig

Aber wie rufen wir diesen Hund nun ins Leben? Wie erschaffen wir einen bestimmten Hund? Das machen wir mit einem „Konstruktor“:

Wir schreiben das Keyword „public“ davor, damit wir den Konstruktor von anderen Klassen aus aufrufen können. In den Klammern steht „string name“. Dabei handelt es sich um einen sogenannten Parameter für den Konstruktor. So können wir beim Erschaffen eines neuen Hundes direkt festlegen, wie er heißen soll.
Zum Beispiel so:

Dadurch wird der Konstruktor aufgerufen und er erfährt, dass der Name „Marta“ sein soll. Diesen „string“ speichert er in der Eigenschaft „Name“, die wir der Hund-Klasse weiter oben zusammen mit der Freude-Eigenschaft hinzugefügt haben.

Aber wo schreiben wir jetzt diese Zeile hin, in der ein Hund mit Namen „Marta“ erschaffen wird?
Zum Glück hat Visual Studio automatisch eine „Program“ Klasse für uns generiert. Darin befindet sich eine sogenannte „Methode“ mit dem Namen „Main“. Dort können wir nun Marta erschaffen:

Zeit für etwas Action!

Wenn wir jetzt nochmal die Klasse „Hund“ betrachten, der Marta angehört, dann sehen wir, dass sie noch keine Methoden hat. Das bedeutet für sie, dass sie keine Aktionen hat, die sie ausführen kann. Das geht bei einem Energiebündel wie Marta natürlich mal gar nicht! Also geben wir ihr mal ein paar Methoden, die wir dann wiederum von der „Main“-Methode aus aufrufen können.

Die Methode „Console.WriteLine(„Mein Text“)“ bewirkt, dass in einem Konsolen-Fenster eine Zeile mit Text ausgegeben wird, den wir in den runden Klammern definieren. Wie bei dem Hunde-Konstruktor, dem ein Hundename übergeben wird, handelt es sich dabei um einen „Parameter“.

Marta ist ein Boxer und Boxer bellen normalerweise nicht. Marta kann zwar bellen, macht es aber nur sehr selten. Für unser Beispiel geben wir ihr trotzdem die Möglichkeit dazu. Hier haben wir drei Methoden zum Bellen, Schwanzwedeln und Freuen erschaffen, die durch das Wort „public“ auch von unserer Main-Methode aus aufgerufen werden können.

Marta braucht keinen speziellen Grund, um sich zu freuen. Also lassen wir sie das einfach mal machen und lassen uns vor und nach dem „Freuen“ ihren „Freude“-Wert ausgeben:

Aber was ist das? Da muss ein Fehler aufgetreten sein! Wenn wir mit der Maus über das rot markierte Wort fahren, zeigt uns die Entwicklungsumgebung, was das Problem ist: Die Eigenschaft „Freude“ der Klasse Hund ist nicht mit dem „public“ Keyword ausgestattet. Dadurch ist sie automatisch „private“ und kann nur innerhalb der Klasse Hund genutzt werden. Wenn wir also in der Hund-Klasse der Eigenschaft „Freude“ das public Keyword hinzufügen, verschwinden die roten Linien in der Main-Methode. Beim Namen machen wir das gleiche.

Wenn wir nun das Programm über den grünen Button in Visual Studio laufen lasse, erhalten wir als Ergebnis:

Jetzt beginnt die Zerstörung!

Natürlich kann Marta viel mehr, als sich nur zu freuen. Sie kann nicht nur mit Lichtgeschwindigkeit im Büro auf und ab sprinten, sondern ist auch Spezialistin darin, Dinge zu zerstören, wenn niemand aufpasst. Dazu zählen zum Beispiel die Büropflanzen, Vesper, das von einem arglosen Mitarbeiter in einem niedrigen Schreibtischfach gelagert wurde, Druckerpatronen und Ähnliches.

Wir nehmen als Beispiel mal einen Ordner mit Dokumenten. Den erstellen wir erst Mal als Objektart. Er bekommt einen Konstruktor mit einem Parameter „inhalt“, durch den wir beim Erstellen eines neuen Ordners festlegen können, was darin steht:

Jetzt braucht Marta noch eine Aktion, also eine Methode, durch die sie mit einem Ordner interagieren kann. Dazu übergeben wir ein Objekt vom Typ „Ordner“ als Parameter an die neue Methode „Zerstören“, die wir der Hund-Klasse hinzufügen.

Wir erstellen außerdem eine sogennante „if-else-Bedingung“, also quasi eine „wenn-sonst-Bedingung“. Wenn Marta einen Freude-Wert hat, der größer ist als 10, dann wird der Ordner zerstört. Dazu nehmen wir den Ordner, der als Parameter an die Zerstören-Methode übergeben wurde und ändern den Inhalt in eine unleserliche, sinnfreie Zeichenfolge. Ist Martas Freude-Wert 10 oder niedriger, wird sie den Ordner verschonen (und sich vielleicht eine andere flegelhafte Beschäftigung suchen).

Nun fügen wir der Main-Methode in unserer Program-Klasse ein paar Zeilen hinzu, in denen wir einen Ordner erschaffen und Marta ihre „Zerstören“-Aktion ausführen lassen. Das Hunde-Objekt mit Namen „marta“ und der Ordner mit Namen „meinOrdner“ sind sogenannte Variablen. Eine Variable kann man sich zur Veranschaulichung als eine Art Box vorstellen, die einen Wert beinhaltet. Hier liegt in der Box mit Namen „marta“ ein Objekt vom Typ „Hund“ und in der Box mit Namen „meinOrdner“ liegt ein Objekt vom Typ „Ordner“. Die Variable „meinOrdner“ wird an die Methode von Marta übergeben: marta.Zerstören(meinOrdner).

Am Ende lassen wir uns noch den Inhalt des Ordners ausgeben. Mal sehen, was drin steht. Lassen wir das Programm mal laufen:

Martas Freuden-Level war größer als 8 und somit groß genug, um den Ordner zu zerstören! Mission erfolgreich abgeschlossen!

Vom Hund zur Zeiterfassung

Nun bestehen zum Beispiel unsere Zeiterfassung und unser Webportal natürlich nicht aus Marta und anderen Hund-Objekten, die irgendetwas zerstören oder Gassi gehen möchten, sondern vielmehr aus Masken, die Sie als User bedienen können, und aus Logik, die beschreibt, was passiert, wenn Sie einen Button anklicken und die beispielsweise Daten in die Datenbank speichert oder Berichte für Sie erstellt.

Was der meiste Code gemein hat, ist die zugrunde liegende Logik, die unter anderem auf Klassen (Class Hund { }), Methoden (marta.Zerstören(meinOrdner)), Variablen (Hund marta = new Hund(„Marta“)), und Konstrukten wie if-else-Bedingungen (if(Freude > 8) … else …) beruht. Da ist es egal, ob wir mit unserem Hund-Objekt arbeiten oder etwa mit einem Mitarbeiter-Objekt in der Zeiterfassung, das die Daten einer Mitarbeiterin enthält.

Nun ist es vielleicht etwas besser nachvollziehbar, was ein Software-Entwickler ungefähr tut, um eine so coole Software wie unsere Zeiterfassung und unser Webportal zu erschaffen. Und falls doch nicht, haben Sie nun immerhin unseren Bürohund Marta etwas besser kennen gelernt!

Sie wollen keinen Blogbeitrag mehr verpassen?

Whitepaper-Titel - EuGH-Urteil zur Zeiterfassung - Hintergründe, Auswirkungen, Chancen

EuGH-Urteil: Das müssen Sie jetzt wissen – Hintergründe, Auswirkungen & Chancen

Wir haben alle wichtigen Informationen rund um das aktuelle EuGH-Urteil für Sie in einem übersichtlichen Whitepaper gesammelt. Angefangen von den Hintergründen des Urteils, über die Auswirkungen sowie die Vor- und Nachteile einer Zeiterfassungspflicht bis hin zu verschiedenen Arten der Zeiterfassung. Sichern Sie sich jetzt Ihre Zusammenfassung des EuGH-Urteils!

2023-08-04T11:42:56+02:00

Share This Story, Choose Your Platform!

Möchten Sie uns dazu etwas sagen?

11 + acht =

Nach oben