Letzte Woche habe ich versucht, eine Antwort auf die Frage „Programmieren, was ist das eigentlich?“ zu geben. In diesem Blog-Post zeige ich, wie man mit programmieren anfängt und in welche Richtung sich das entwickeln könnte.
Wenn du diesen Artikel liest, hast du Zugang zu einem Computer (PC, Mac, Linux, Raspberry Pi, Smartphone, Tablet) und eine Verbindung ins Internet. Vielleicht hast du sogar Zugang zu einem Webhosting hier bei Novatrend.
Viele Programmier-Karrieren starten mit den ganz normalen Herausforderungen des Lebens. Du gehst zur Schule, zur Arbeit, sprichst mit anderen Personen, denkst nach oder langweilst dich vielleicht. Dann hast du eine Idee!
Hier ein paar einfache Beispiele, die du vermutlich aus eigener Erfahrung kennst:
- Wenn etwas passiert, möchtest du benachrichtigt werden (Bedingte Anweisungen und Verzweigungen – if-then). Das ermöglicht schnelle Reaktionen.
- Du möchtest wiederkehrende Tätigkeiten automatisieren, zu denen du vielleicht keine Lust hast (Schleifen – while).
- Du kannst oder willst dir Dinge nicht merken, also speicherst du sie (Persistenz – Aufgaben, Namen, Zahlen, Ereignisse) und denkst dir ein System aus, um die Daten wieder zu finden. Du musst dann nichts mehr auswendig lernen, ausser deinem System ;).
- Dir fallen wiederkehrende Verhaltensmuster in deiner Umgebung auf. Du versuchst allgemeine Reaktionen darauf zu entwickeln und Lösungen zu verallgemeinern (Entwurfsmuster – design patterns)
- Die „Erscheinung deiner Software“ (Startbildschirm Telefon, Hintergrund in einer Videokonferenz, deine Website, deine Profilseite auf einer Plattform, dein Game Charakter) soll anders aussehen, irgendwie individuell. Du würdest auch gern so eine „coole“ App in einen AppStore bringen (Custom Code). Du bist auf der Suche nach deiner Identität.
- Du stellst auf Social Media Plattformen und in deinem Freundeskreis fest, dass „Die Größe des Netzwerkes Auswirkungen auf den Nutzen der Netzwerkteilnehmer hat.“ (Netzwerkeffekt).
All diese Herausforderungen, und viele andere mehr, können ein Anlass zum Programmieren sein. In deinem Kopf laufen die ganze Zeit Bilder ab – bewusst und unbewusst. Spiele mit diesen Bilder und sieh dir selbst dabei zu.
Die Fragen, die du dabei für dich beantworten musst, ist „Was will ich erreichen?“ und „Wieviel Zeit und Budget kann ich dafür aufwenden?„. Deshalb ist es meines Erachtens auch nicht möglich, einen allgemeinen Anfang zu beschreiben. Du merkst das schon – das ist wie verliebt sein 🙂
Um aber trotzdem ein paar Tipps zu geben, hier eine Liste möglicher Startpunkte.
Webprogrammierung mit HTML/CSS/JavaScript
Die Sprachen des Web sind leicht zugänglich und vor allem kostenlos. Mit HTML wird die Seite strukturiert, CSS macht sie optisch ansprechend und JavaScript ist eine Programmiersprache. Am Anfang benötigst nur einen Browser, einen Editor und das Dateisystem deines Gerätes. Wenn du die Website der Öffentlichkeit präsentieren willst, benötigst du einen allgemein erreichbaren Ort, an dem du deine Website speicherst.
Anlaufstellen sind:
- https://www.w3schools.com (English)
- https://wiki.selfhtml.org (Deutsch)
Anwendungs-Programmierung (Apps) für Apple iOS/Google Android
Es gibt momentan zwei relevante Betriebssysteme bei Smartphones. Anders als bei der eher allgemeinen Webprogrammierung, stecken hinter beiden Smartphone Betriebssystemen grosse Firmen, die ein Interesse daran haben, dass DU Software für diese Plattformen entwickelst, damit die Systeme attraktiver werden. Die Apple iOS Plattform und Google Android Plattform versuchen es dir so einfach wie möglich zu machen, Apps zu programmieren. Beide Firmen betreiben App-Stores, in denen du deine Apps auch verkaufen kannst.
Apple
Apple versucht für alle eigenen Betriebssysteme die Programmiersprache Swift einzusetzen.
Swift ist eine Programmiersprache von Apple Inc. für iOS, iPadOS, macOS, tvOS, watchOS, Linux und Windows. Es handelt sich dabei um eine multiparadigmatische Sprache, die Ideen von Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, D und anderen Programmiersprachen aufgreift.
https://de.wikipedia.org/wiki/Swift_(Programmiersprache)
Um mit Swift zu programmieren, benötigst du ein iPhone und einen aktuellen Apple Computer. Auf dem Apple Computer benötigst du die Entwicklungsumgebung Xcode. Um deine App im Apple Store anbieten zu können, musst dich kostenpflichtig registrieren.
- Was ist Swift UI?https://developer.apple.com/videos/play/wwdc2020/10119/
- Xcode https://developer.apple.com/xcode/
- https://developer.apple.com
Android
Android ist auf den ersten Blick offener als Apples iOS. Teile von Android sind Open Source Software und es gibt alternative App-Stores wie F-Droid. Wer aber im Google Play Store gelistet werden möchte, muss sich ebenfalls kostenpflichtig registrieren. Die Apps werden in der Programmiersprache Java und Kotlin entwickelt, wobei Kotlin die von Google bevorzugte Sprache ist. Die Apps werden mit der Entwicklungsumgebung Android Studio erstellt.
Anwendungs-Programmierung für Microsoft Windows
Wenn du für das Windows Betriebssystem Anwendungen entwickeln willst, so nutzt du hauptsächlich die Programmiersprache C-Sharp und als Entwicklungsumgebung Visual Studio. Bei Microsoft befindest du dich in einem „mehr oder weniger“ geschlossenen und letztlich ebenfalls kostenpflichtigem Software-Ökosystem mit karrierefördernden Zertifikationsmöglichkeiten.
Programmierung und Spass am Basteln
Das Projekt Raspberry Pi wurde von der gleichnamigen Foundation ins Leben gerufen um Kindern wieder Spass an produktivem Basteln näherzubringen statt reine Spielekonsumenten zu sein.
Das Motiv hinter der Entwicklung eines preisgünstigen Rechners war die sinkende Anzahl an Informatikstudenten an der Universität Cambridge sowie die jedes Jahr geringeren Programmierkenntnisse der Studienanfänger. Für einen der Gründe hielt man, dass Computer heute in der Regel teuer und komplex sind und Eltern ihren Kindern deswegen häufig verbieten, mit dem Familien-PC zu experimentieren. Man wollte daher Jugendlichen einen günstigen Computer zum Experimentieren und Erlernen des Programmierens an die Hand geben. Dabei hoffte man, dass sie wie in der Zeit der Heimcomputer (wie etwa des Apple II, Atari XL, TRS-80, Commodore 64, Sinclair ZX80, BBC Micro) die Computergrundlagen und -programmierung spielerisch erlernen würden.
https://de.wikipedia.org/wiki/Raspberry_Pi#Idee
Ein Raspberry Pi der 4. Generation ist ein preisgünstiger, leistungsfähiger Computer (ab 30 Euro), der mit so ziemlich allem, was man sich vorstellen mag, kombiniert werden kann. Gewissermassen die universelle Maschine, die ich im ersten Blog Post über das Programmieren beschrieben habe.
Das Betriebsystem Raspberry Pi OS ist eine Linux Distribution und basiert auf dem Debian Projekt. Andere Linux-Distributionen können installiert werden. Es kann jede Programmiersprache verwendet werden, die unter Linux läuft. Es lässt sich sogar ein kostenloser Minecraft Server auf einem RasberryPi installieren.
Fazit
Webprogrammierung, am besten in Kombination mit einem Raspberry Pi, ist heute sicher die beste Art um Programmierung zu beginnen und auszuprobieren. Die einzelnen Komponenten bestehen aus freier Software und ermöglichen einen sehr kreativen Umgang mit der Technik.
Geschlossene Systeme wie von Apple, Google und Microsoft sind später gut für eine „Programmier-Karriere“, anfangs aber schwer zu durchschauen, da dort immer geschäftliche Interessen im Vordergrund stehen.
tl;dr: Erstelle eine Website und spiele mit einem Raspberry Pi. Dann ergibt sich „programmieren“ fast von allein 🙂
Schreibe einen Kommentar