FragArek LIVE

#FragArek Folge 6: Webseitenerstellung, Programmieren lernen allgemein und Kryptomining

Folge 6 von #FragArek „Es gibt keine dummen Fragen!“ – Diesmal mit Webseitenerstellung, Programmieren lernen allgemein und Geld verdienen mit Kryptomining

Die Fragen

Wie erstellt man eigentlich eine echte richtige Webseite? Musst du nur HTML, CSS und JavaScript lernen oder gehört da noch mehr dazu? Kann man auch andere Sprachen wie SQL verwenden?
Sind Programmierbücher die beste Wahl zum Programmieren lernen? Womit kannst du am besten das Programmieren lernen?
Was hat es mit Kryptomining auf sich und kannst du damit schnelles Geld verdienen?
Was soll man machen, wenn man absolut keine Power mehr hat und grad keinen Bock auf das Programmieren lernen hat?

Ich soll deine Frage beantworten? Dann stell deine Frage in den Kommentaren oder per Mail, ich wähle die besten Fragen aus und beantworte diese LIVE in der Show.

Die nächste Folge wird über die Kanäle von lerneProgrammieren.de angekündigt, also das Folgen nicht vergessen!

#FragArek Folge 5

#FragArek Folge 5 – Reiz und Zeit zum Programmieren und Hardwarenahe Programmierung

Folge Nummer 5 von #FragArek war auch diesmal vollgepackt mit interessanten Themen. Was tun, wenn der Reiz am Programmieren vergeht und man einfach dafür keine Zeit mehr findet? Was lernt man im Einsteigerkurs und welche Programmiersprache benötigt man eigentlich, wenn man einen Roboterarm programmieren will?

Die Fragen

Wir leben im 21. Jahrhundert. Diese Zeit wird als Zeitalter der Computer oder Digitalisierung in unsere Geschichtsbücher eingehen. Wer in dieser Zeit lernt, diese Welt mitzugestalten, hat die Chance ein Erbe für alle folgenden Menschen zu hinterlassen. Also wie kann es sein, dass man den Reiz am Programmieren verliert?
Bei der Zeit ist es natürlich nicht so einfach: Was tun, wenn du bereits 40 Stunden arbeitest und dich um deine Kids kümmern musst?
Beim zweiten Thema ging es um den Einsteigerkurs, da ich gefragt wurde, was dort eigentlich alles enthalten ist und was man dort eigentlich lernt. Am besten machst du dir dein eigenes Bild dazu in unserem Testzugang zum Einsteigerkurs. Alle weiteren Infos zum gesamten Einsteigerpaket findest du hier.
Wenn du dir einen Bausatz für einen Roboterarm gekauft hast und nun erstmal Programmieren lernen willst, wirst du dich fragen mit welcher Programmiersprache du damit loslegst. Die Antwort dazu findest du im Video.
Red Dead Redemption 2 ist momentan das Spiel überhaupt. Ist natürlich klar, dass wir Programmierer davon träumen einmal so ein Spiel selbst erstellen zu können, wie man dabei vorgeht, erkläre ich in der Communityrunde.

Frage der Woche

Zum Schluss noch meine Frage der Woche (#FDW):
LIVE CODING: Was soll ich für euch einmal LIVE programmieren?
Ich würde mich freuen, wenn du diese Frage in den Kommentaren beantwortest!

Wenn dir diese Folge auch soviel Spass gemacht hat wie mir, dann teile, like und kommentiere, denn nur so kann ich weitere Folgen produzieren.

Du möchtest deine Frage beantwortet bekommen? Dann stell deine Frage in den Kommentaren oder per Mail, die besten Fragen werden von mir ausgewählt und in der Show gezeigt.

Die nächste Folge wird über die Kanäle von lerneProgrammieren.de angekündigt, also das Folgen nicht vergessen!

Titelbild für #FragArek Folge 4

#FragArek Folge 4 – Schnelles Webseiten erstellen, Lebenslanges Programmieren lernen, RegularExpressions und Stringumwandlung

Die vierte Folge von #FragArek LIVE hatte es mal wieder in sich! Wie erstellt man ganz schnell eine Webseite ohne Vorkenntnisse? Wie lange habe ich gebraucht um das Programmieren zu beherrschen? Außerdem ging es um Regular Expressions und die Umwandlung von Strings in Integer.

Die Fragen

Bei der ersten Frage musste ich erstmal klarstellen was es mit der Geduld und dem Durchhaltevermögen beim Programmieren lernen auf sich hat und wie man vorgeht, wenn man eine Webseite schnell erstellen muss, dazu gibt es noch folgenden Artikel zur Programmierung von Webseiten. Die zweite Frage ging um unseren Testzugang zu lerneProgrammieren.de und war schnell beantwortet: Der Testzugang bleibt auch nach Ablauf des Testzeitraums kostenlos, man geht also kein Risiko ein: Am besten gleich selbst testen!
Wie lange ich gebraucht habe um das Programmieren zu BEHERRSCHEN habe ich dann in der dritten Frage beantwortet.
In der Communityrunde ging es dann um Regular Expressions und die Umwandlung von String zu Integer. Außerdem habe ich beantwortet, ob es möglich ist neben Arbeit und Studium auch noch Programmieren zu lernen.

Frage der Woche

Zum Schluss noch meine Frage der Woche (#FDW):
Welche App würdest du programmieren?
Ich würde mich freuen, wenn du diese Frage in den Kommentaren beantwortest!

Wenn dir diese Folge auch soviel Spass gemacht hat wie mir, dann teile, like und kommentiere, denn nur so kann ich weitere Folgen produzieren.

Du möchtest deine Frage beantwortet bekommen? Dann stell deine Frage in den Kommentaren oder per Mail, die besten Fragen werden von mir ausgewählt und in der Show gezeigt.

Die nächste Folge wird über die Kanäle von lerneProgrammieren.de angekündigt, also das Folgen nicht vergessen!

Titelbild zur Show #FragArek Folge 2

#FragArek Folge 3 – Motivation, Marktreife, JavaScript und die Zukunft von PHP

In der dritten Folge von #FragArek LIVE ging es um die Motivation beim programmieren, wie lange man braucht um seine Software zur Marktreife zu bringen und was man alles mit JavaScript eigentlich so machen kann. Auch diesmal gab es tolle Fragen aus der Community.

Die Fragen

Die erste Antwort ging um die Frage was man machen sollte, wenn man eigentlich lieber zockt als zu programmieren. Hier bin ich mal auf ein paar Themen zur richtigen Motivation eingegangen.
Die zweite Frage handelte sich um die Möglichkeiten, die man hat, wenn man seine Software relativ zügig zur Marktreife bringen will. Wie sehr das mit deinen Vorerfahrungen zusammenhängt habe ich ebenfalls erklärt. Dazu gibt es übrigens folgenden Artikel zum Thema Softwareidee.
Was kann man alles mit JavaScript machen und ist diese Sprache wirklich so mächtig? Neben der Erklärung dazu im Video, findest du noch einen umfangreichen Artikel zu JavaScript in diesem Blog.
Wir sind ausserdem durchgegangen, wie man in JavaScript Daten laden und speichern kann.
Die Communityrunde war auch diesmal ein voller Erfolg: Es ging um die Zukunft von PHP und welche Programmiersprachen eigentlich heutzutage bei Unternehmen beliebt sind. Wir haben auch kurz über das Lernprogramm in unserem Einsteigerkurs gesprochen.

Frage der Woche

Zum Schluss noch meine Frage der Woche (#FDW):
Wenn du morgen programmieren könntest, welche Software würdest du entwickeln?
Ich würde mich freuen, wenn du diese Frage in den Kommentaren beantwortest!

Wenn dir diese Folge auch soviel Spass gemacht hat wie mir, dann teile, like und kommentiere, denn nur so kann ich weitere Folgen produzieren.

Du möchtest deine Frage beantwortet bekommen? Dann stell deine Frage in den Kommentaren oder per Mail, die besten Fragen werden von mir ausgewählt und in der Show gezeigt.

Die nächste Folge wird über die Kanäle von lerneProgrammieren.de angekündigt, also das Folgen nicht vergessen!

Titelbild zur Show #FragArek Folge 2

#FragArek Folge 2 – Einarbeitung, Datensicherung und Ideen schützen

In der zweiten Folge von #FragArek LIVE haben wir eine paar spezielle Fragen beantwortet und ich zeige wie ich Computerprobleme löse.

Die Fragen

Bei der ersten Frage habe ich ein Thema aus der letzten Folge aufgegriffen, da ich mich in der kurzen Zeit nicht in Machine Learning einarbeiten konnte. Ich erkläre, wie ich mich in so ein neues Thema einarbeiten würde.
Danach eine etwas ungewöhnliche Frage: Diesmal ging es um die Programmiersprache, die man benötigt, wenn man Datensicherungen auf externe Geräte machen will.
Die letzte Frage habe ich aus einem Blog-Kommentar mitgenommen: Wenn man einen Programmierauftrag an einen externen Dienstleister geben will, wie kann man seine Idee schützen? Je nach dem wo man grade steht, gibt es da zwei unterschiedliche Antworten zu.
Zum Schluss habe ich noch gezeigt, was ich eigentlich mache, wenn mir jemand einen Computer zur „Reparatur“ gibt.

Frage der Woche

Zum Schluss noch meine Frage der Woche (#FDW):
Warum sollte man heutzutage programmieren lernen?
Ich würde mich freuen, wenn du diese Frage in den Kommentaren beantwortest!

Wenn dir diese Folge auch soviel Spass gemacht hat wie mir, dann teile, like und kommentiere, denn nur so kann ich weitere Folgen produzieren.

Du möchtest deine Frage beantwortet bekommen? Dann stell deine Frage in den Kommentaren oder per Mail, die besten Fragen werden von mir ausgewählt und in der Show gezeigt.

Die nächste Folge wird über die Kanäle von lerneProgrammieren.de angekündigt, also das Folgen nicht vergessen!

Titelbild zur Show Frag Arek Folge 1

Frag Arek Folge 1 – Mathe, Entwicklungsumgebungen und HTML als Programmiersprache

In dieser ersten Folge von #FragArek LIVE sind wir durch ein paar Grundlagen gegangen, die sich auch jeder Programmieranfänger stellt.

Die Fragen

Die erste Frage ging um Mathematik in der Programmierung, also wie viel Mathe muss man drauf haben um Programmieren zu können?
Das nächste Thema war die Entwicklungsumgebung für Apps und Webanwendungen, dort habe ich einige Grundbegriffe erklärt und ein Bild gegeben welche Framework, Werkzeuge und Sprachen man eigentlich benötigt um eine Webapp und eine App zubauen. Dann ging es um die Frage warum HTML eigentlich keine Programmiersprache ist.

Die Community durfte mich im Anschluss auch mit Fragen löchern! Da ich leider noch nicht viel mit Machine Learning gearbeitet habe, konnte ich nur eine kurze Recherche machen um zumindest beantworten zu können, ob das mit C# möglich ist. Dann kam eine dankbare Frage, denn ich durfte erzählen, wie meine ersten Programmieranfänge aussahen und warum es lerneProgrammieren gibt. Die letzte Frage war dann zu meiner Ausbildung als Fachinformatiker im Bereich Anwendungsentwicklung.

Frage der Woche

Zum Schluss noch meine Frage der Woche (#FDW):
Warum möchtest du programmieren lernen und was hält dich davon ab?
Ich würde mich freuen, wenn du diese Frage in den Kommentaren beantwortest!

Wenn dir diese Folge auch soviel Spass gemacht hat wie mir, dann teile, like und kommentiere, denn nur so kann ich weitere Folgen produzieren.

Du möchtest deine Frage beantwortet bekommen? Dann stell deine Frage in den Kommentaren oder per Mail, die besten Fragen werden von mir ausgewählt und in der Show gezeigt.

Die nächste Folge wird über die Kanäle von lerneProgrammieren.de angekündigt, also das Folgen nicht vergessen!

App und Laptop für Programmierung von Apps

Apps programmieren mit Apache Cordova

App und Laptop für Programmierung von Apps

App-Entwicklung in JavaScript mit Apache Cordova

Wenn du schon ein wenig Erfahrung als Programmierer hast, also zumindest schonmal eine Webseite oder ein kleines Programm entwickelt hast, dann bist du sicherlich schonmal an der Idee vorbeigekommen eine App zu programmieren. Bei Apps für Mobilgeräte gibt es das selbe Problem wie auch am Personal Computer, denn es gibt verschiedene Plattformen die verschiedene Programmiersprachen unterstützen. In diesem Artikel erfährst du, wie du dieses Problem mit der Kraft der Webentwicklung und dem Apache Cordova Framework lösen kannst.

Warum ist App Entwicklung immer noch ein Thema?

Nachdem 2007 das iPhone vorgestellt wurde, war das Zeitalter der Apps geboren. Seitdem suchen Programmierer einfache Möglichkeiten um Apps auf alle Plattformen bringen zu können. Leider ist das bis heute noch eine Herausforderung. Aber warum ist das Erstellen von Apps angeblich so aufwendig? Lass uns mal eine kleine Reise machen, dann wird das etwas deutlicher.

Der Computer: Prozessoren, Betriebssysteme, Programmiersprachen

Bevor wir auf die Mobilgeräte wie Smartphones und Tablets gehen, schauen wir uns mal den großen Bruder den Personal Computer an. Egal ob Standrechner oder Laptop, alleine schon hier sehen wir unterschiedliche Prozessoren und Betriebssysteme. Der eine schwört auf Intel, der andere auf AMD. Der eine kann nicht ohne Windows, der andere kauft gerne MacBooks und der nächste arbeitet aus Prinzip nur mit Linux. Und die Softwareentwickler dürfen für diese jeweiligen Situationen Unmengen an Code schreiben. Damals war es noch so: Für jeden Prozessor wurde eigener Code geschrieben. Dann wurden Tools entwickelt die dem Programmierer die Arbeit erleichtern. Mit einem Kompiler kann man Maschinencode für Intel und AMD generieren. Dann kommen die Betriebssysteme dazu, Windows, Mac und diverse Linuxdistributionen. Auch hier gibt es mittlerweile Möglichkeiten Code für die unterschiedlichen Systeme mittels Frameworks zu kompilieren. Java ist wohl das bekannteste Beispiel dafür, aber es gibt auch noch Qt für C++ und sogar .NET ist teilweise in der Lage. Webbasierte Lösungen sind zum Beispiel Node.Js und Electron, welche sehr beliebt sind.

Webentwicklung

Das bekannteste Bindeglied ist allerdings das Internet. Zunächst für den Austausch von Informationen gedacht, werden mittlerweile sogenannte Webapplikationen entwickelt, die über eine URL im Internet erreichbar sind und im Browser einfach ausgeführt werden können. Unabhängig vom Prozessor und Betriebssystem: Wo ein moderner Browser mit Internet läuft, lässt sich auch eine Webapplikation starten. Am Anfang waren diese noch etws träge, da Internetgeschwindigkeit und die Programmausführung im Browser noch nicht so performant war. Mittlerweile kann man fast jede Aufgabe über eine Webapplikation lösen und es gibt Frameworks wie Electron, die es erlauben Webapps in einer Browserartigen Umgebung zu starten ohne, dass die Anwendung nach Browser aussieht und aber auch offline ausgeführt werden kann. Warum diese Fakten so interessant für die Entwicklung von Apps sind erfährst du gleich.

Mobilgeräte: Hersteller, Plattformen, Programmiersprachen

Wechseln wir nun zu den eigentlichen Geräten. Wie beim PC gibt es hier ähnliche Voraussetzungen, allerdings sind diese bis heute etwas strikter. Die Hersteller achten ganz peinlich drauf welche Software in deren AppStores kommen, und schmeißen die Apps raus, die sich nicht an die Regeln halten. Um so ärgerlicher, wenn man genau für die eine Plattform eine App entwickelt hat und diese dann verbannt wird, auch wenn das Risiko dafür gering ist. Für jede Plattform entwickelt man dann also mit einer anderen Programmiersprache ein und dieselbe App. Doppelt und dreifacher Aufwand und noch mehr wenn man dazu auch noch eine Webapp für den Browser anbieten möchte. Dabei gibt es doch auch einen Browser auf den Mobilgeräten? Warum kann man nicht einfach die Webapp auf dem Mobilgerät nutzen?
Wir haben festgestellt, dass wir mit den Browsertechnologien Webapplikationen erstellen können und dass es Frameworks gibt, die das ganze vereinfachen. Die Webapps sehen dann wie echte Desktopanwendungen aus.
Ist doch klar, dass es im App-Bereich ebenfalls solche Frameworks gibt. Frameworks wie Apache Cordova, React Native oder Xamarin versprechen genau das, was auch auf dem Personal Computer schon lange funktioniert. Und mit Apache Cordova haben wir ebenfalls ein Framework welches auf Webtechnologien setzt, wie zum Beispiel Electron und Node.js. Das ist doch mal einen Blick wert.

Die Idee: Baue eine Webapp für dein Mobilgerät

Erstelle eine Webapp, die für dein Smartphone optimiert ist und dann kommt Apache Cordova zum Einsatz. Wenn du noch keine Webapp hast, dann kannst du diese natürlich direkt in Cordova erstellen, aber das ist jetzt nicht so wichtig. Die Idee mit der Webapp bleibt.

Was macht Apache Cordova?

Übersicht zur Funktionalität von Apache Cordova. Von der Webapp bis zur fertigen App.

Grobe Funktionsweise von Apache Cordova

Apache Cordova stellt Rahmenapps für die jeweiligen Plattformen zur Verfügung. Diese Rahmenapps starten dann in einem Webview deine Webapp. Kein Browsergedöns drumherum, sondern echtes Look’n’feel wie in einer App. Auch der obligatorische App-Button kann auf dem HomeScreen hinzugefügt werden und ja, die Apps können in die AppStores hochgeladen werden. Cordova unterstützt alle gängigen Plattformen, also von Android über iOS bis hin zu Windows Phone. Zusätzlich dazu kann man auch die Funktionen der Geräte nutzen, in dem man Plugins oder Browsertechnologien verwendet. So kannst du Funktionen nutzen, die andere Entwickler ebenfalls schonmal benötigt haben, zum Beispiel das hervorragende Local Notification Plugin von appPlant (welches wir in unserem Appkurs verwenden werden).

Bei der Performance muss man hingegen etwas vorsichtig sein, denn hier ist man auf einem Mobilgerät unterwegs, welches nicht die volle Rechenpower eines Notebooks mitbringt. Das gilt aber auch für andere Frameworks. Zu guterletzt ist Apache Cordova ein Open Source Projekt, das bedeutet jeder Entwickler kann dort mitwirken und mitentwickeln. Das gilt auch für die Plugins. Ist dir Apache Cordova zu langsam oder fehlt dir ein Plugin? Dann kannst du Apache Cordova erweitern und musst auf nichts verzichten.

Besonders in der Anfangsphase einer App, wenn man absolut noch keine Ahnung hat, wer die Zielgruppe ist und auf welcher Plattform diese unterwegs ist, lohnt es sich einen Blick auf Apache Cordova zu werfern. Auch Programmieranfänger, die etwas für JavaScript übrig haben, werden hier auf ihre Kosten kommen. Denn der Vorteil, das alles mit nur einer Programmiersprache zu bewerkstelligen, darf einfach nicht übersehen werden. Die Installation bei solchen Frameworks ist etwas knifflig, denn man benötigt dennoch die jeweiligen Development Kits der Hersteller auf seinem Rechner.

4 Schritte zu deiner App mit Apache Cordova
Egal ob du deine App-Idee verwirklichen willst, oder noch gar nicht weißt wie deine eigene App später aussehen soll. Die Einarbeitung in Apache Cordova ist ein Muss für jeder zukünftigen App-Entwickler. Anbei die 4 Schritte, die du durchgehen musst um deine erste eigene App mit Cordova zu programmieren:
  1. Voraussetzungen erfüllen: Du solltest dich etwas mit JavaScript, HTML und CSS auskennen, damit du mit Cordova starten kannst, denn die Grundlage für deine Apps sind Webapplikationen. Frontendentwicklung ist dafür dein Stichwort (den notwendigen Einstieg dazu findest du hier).
  2. Einrichtung: Jetzt benötigst du eine funktionierende Entwicklungsumgebung mit Node.js. Dann kannst du Apache Cordova installieren und mit der Entwicklung starten.
  3. Entwicklung: Für die Entwicklung musst du dich mit Apache Cordova und deren Plugins beschäftigen, die Dokumentation ist dabei dein bester Freund. Kurse & eBooks helfen dir, das notwendige Wissen schneller zu erlangen und mehr Erfahrung zu sammeln. Wenn du erstmal Cordova beherrschst, dann entwickelst du deine Webapp und kannst diese als App testen.
  4. Test & Release: Für das Testen und das Release muss du die jeweiligen Softwarepakete installieren, für die Plattformen für die du deine App anbieten willst. Bei Android ist das zum Beispiel, das Android Studio und das Android SDK. Für das Release selbst musst du dich dann für die jeweiligen AppStores registrieren, hier muss man aufpassen, denn manche App Stores verlangen dafür einmalig (Google Play Store) oder jährlich (Apple App Store) eine Entwicklergebühr.
Diese Schritte auf eigene Faust zu unternehmen ist schon eine Herausforderung, auch wenn man bereits etwas Erfahrung hat. Zu empfehlen ist es sich hier noch externe Informationen dazuzuholen. Wie man die Entwicklungsumgebung für Android einrichtet und dann mit Apache Cordova eine passende App erstellt, lernst du in unserem Kurs zur App-Programmierung mit JavaScript und Apache Cordova. Dort erstellen wir gemeinsam 11 Apps und gehen durch alle Fallstricke, die man bei der Entwicklung von Apps mit Cordova durchlebt. Nach diesem Kurs kannst du deine eigene App programmieren und im App Store veröffentlichen.

Fazit

Das Web wird immer mächtiger und JavaScript beherrscht schon lange die Browser dieser Welt. Nach Serverseitiger Programmierung mit JavaScript ist nun auch die Zeit gekommen, dass man auch Apps mit JavaScript erstellen kann. Wenn man die eigene App veröffentlichen will, dann sollte man bereit sein etwas Zeit und Geld zu investieren. Zeit in die Einarbeitung und Geld für passende Geräte sowie die Entwicklergebühr in den Stores. Da nimmt man gerne jede hilfreiche Abkürzung mit. Hast du bereits mit Cordova eine App erstellt? Ich würde mich freuen diese zu sehen und möchte hier drüber schreiben (schick mir dann mal eine E-Mail an support@lerneprogrammieren.de). Wenn du eine App programmieren willst und dich nicht auf eine Plattform beschränken möchtest, dann schau dir mal unseren Kurs zur App Programmierung mit JavaScript und Apache Cordova an. Viel Erfolg!

Einfach erklärt: Wie startet man mit dem Programmieren lernen?

Wenn du diesen Artikel gerade liest, nutzt du gerade ein Computerprogramm. Oft bekommen ich die Frage: Wie fängt man das Programmieren lernen an? Wie man startet, lernst du in diesem Artikel.

Einen Computer programmieren

Alle Computerteile, die man anfassen kann (und manchmal treten und werfen könnte), nennt man Hardware. Auf deinem Computer laufen Programme, die du benutzt. Du benutzt zum Beispiel grade einen Browser oder eine App. Diese Programme sind im Computer gespeichert und nennen sich deshalb Software. Software, weil man diese nicht anfassen kann. Auch wenn uns manchmal die Software dazu verleitet, die Hardware zu verfluchen. Du möchtest programmieren lernen, dass bedeutet du möchtest lernen, wie man Software entwickelt. Was programmieren eigentlich ist behandeln wir in einem anderen Artikel.

Was kann man programmieren?

Um programmieren lernen zu können, ist es gut zu wissen, was man später eigentlich programmieren möchte. Aus dem Grund sollten wir einmal durchgehen, was man alles programmieren kann. Apps sind Computerprogramme für mobile Geräte. Eigentlich ist der Begriff App nur eine Abkürzung für Application, also Anwendung. Das besondere Merkmal bei Apps ist, dass man diese über einen AppStore installieren oder kaufen kann und diese dann auf deinem Mobilgerät zur Verfügung stehen. Webseiten und Webanwendungen sind Programme, die über einen modernen Browser ausgeführt werden können. Browser haben mittlerweile soviel Funktionalität, dass darüber ganze Programme über das Internet bereitgestellt werden können. Videospiele sind seit der Erfindung der Computer beliebt. Wo man früher noch Pixel hin und herschubste, gibt es heute realistische Grafikaction. Aber auch Minispiele, die von Anfängern programmiert werden können, sind bis heute beliebt. Desktopanwendungen sind Programme, die man z.B. auf einem Notebook ausführt. Das sind meist Werkzeuge mit einer Oberfläche, die du zum täglichen Arbeiten brauchst. Aber auch Kommandozeilenprogramme und Skripte gehören dazu und besonders Programmierer nutzen diese intensiv. Serverprogramme werden oft als das Backend von Webseiten genannt. Immer wenn deine Programme Daten aus dem Internet benötigen, muss dein Programm mit einem Server Informationen austauschen. Ein weiterer Bereich ist die Hardwareprogrammierung, z.B mit einem Raspberry Pi. Mit diesem Minicomputer kann man Dinge wie Motoren, Lämpchen und Schalter anschließen und programmieren. Interessant ist, dass man je nach dem was man damit programmieren will, alles mit einer Programmiersprache programmieren kann. Welche Sprache ich dafür verwende, erfährst du am Ende des Artikels.

Das erste was man lernt

Egal was man davon eigentlich programmieren will, muss man mindestens ein Werkzeug beherrschen. Und das ist die Programmiersprache.
Die heutigen Programmiersprachen arbeiten alle nach einem ähnlichen Schema und haben gleiche Grundelemente. Wenn du diese Grundelemente erlernt und genug Erfahrung damit gesammelt hast, dann kannst du relativ einfach auf eine andere Programmiersprache umsteigen. Welche Programmiersprache man als erstes beim lernen wählt, ist grundsätzlich egal. Jeder Programmierer hat da so seine Leiblingserstprogrammiersprache und wird sie dir vorschlagen. Was du bei der Wahl der Programmiersprache beachten solltest, erfährst du in einem separaten Artikel, denn hier geht es direkt weiter.

Was man noch lernen sollte

Das erste was jeder Programmieranfänger meistens lernt, ist dass er eine Programmiersprache erlernen muss. Dabei ist die Programmiersprache nur ein Werkzeug. Das Problem dabei ist folgendes: Man bringt dir bei, einen Hammer zu benutzen und verlangt dann von dir, dass du mit dem Wissen nun ein eigenes Haus bauen kannst. Würdest du nicht schaffen, oder? Genau deswegen scheitern viele am Anfang. Da fehlen nämlich noch ein paar Dinge, die man noch wissen sollte, bevor man ein Haus bauen kann. Mit dem Werkzeug Programmiersprache alleine kann man noch keine Programme entwerfen. Man muss schon zusätzlich lernen welche Denk- und Planungsarbeit man dabei zutun hat. Oder einfach gesagt: Man muss lernen, wie man Probleme und Aufgaben logisch löst. Hört sich kompliziert an? Das ist es manchmal auch: Um so wichtiger ist es diese Fähigkeit zu erlernen. Was würdest du tun, wenn dein Programm einen Fehlercode 42 schmeißt und nicht das tut was du willst? Das wird dir beim Programmieren täglich passieren. Ausserdem wirst du fast täglich Aufgaben lösen wie: Erstelle eine Funktion, die bestimmte Daten annimmt und in das Standardformat konvertiert, damit deine App bestimmte Informationen anzeigen kann. Das bekommt man nur hin, wenn man denkt wie ein Programmierer.

Die Erfahrung zählt

Man lernt also ein paar Werkzeuge kennen, die Art und Weise, wie man Denken muss und fertig ist der Programmierer. Auch wenn das ganze so einfach klingt: Das ganze Wissen welches man sich aneignet, will auch immer zum passenden Zeitpunkt verwenden werden und das lernt man nur durch das Sammeln von Erfahrung. Kleine Problem lösen, fremden Programmcode lesen und immer größer werdende Projekte ausprobieren. Wie lange so etwas dauern kann, habe ich in einem anderen Artikel bereits erzählt. Nicht umsonst gibt es den Spruch: Programmieren lernen ist einfach – Programmierung zu beherrschen ist die Herausforderung.

Das Lehrmaterial

Um so wichtiger ist das Lehrmaterial welches du zum lernen verwenden solltest. Je nachdem was du für ein Lerntyp bist, bietet es sich an mit Büchern, Videos oder einem Lehrer zu lernen. Hier bestimmt natürlich der Geldbeutel letztendlich was du für Lehrmaterial verwendest. Von kostenlosen Angeboten für Kinder bis hin zu Livekursen die mehrere tausend Euro kosten können gibt es unzählige Möglichkeiten Programmieren zu lernen. Wichtig ist, dass dir die Theorie so verständlich wie nur möglich vermittelt wird und du viel Praxis erlernen kannst. Ideal ist eine Mischung aus allem, denn so kommst du am schnellsten voran. Dann kannst du selbst entscheiden ob du dir ein Thema im Video kurz anschaust, danach die passende Aufgabe löst und bei Bedarf im Buch nachschlägst. Und wenn alle Stricke reißen, ist dein Lehrer nur eine Nachricht weit entfernt. Hast du zum Schluss die Möglichkeit in Beispielprogramme reinzuschauen und darfst diese für eigene Zwecke anpassen und verteilen, kannst du in kurzer Zeit viel Erfahrung sammeln und kommst deinem Ziel noch schneller näher.

Fazit und Abkürzung

Damit du nun nicht lange suchen musst, schlage ich vor, du testest einfach den Einsteigerkurs von lerneprogrammieren.de. Dort lernst du Programmieren, so wie ich es gerne damals gelernt hätte und zwar mit der Sprache JavaScript. Das ist auch die Sprache von der ich vorhin gesprochen hatte. Hat dir dieser Artikel gefallen, dann teile ihn mit deinen Freuden, wenn du Fragen oder Anmerkungen hast, dann kommentiere einfach oder schreibe mir eine E-Mail.
Und jetzt bist du dran, lerne Programmieren!

Einfach erklärt: Welche Programmiersprache zum Anfang wählen?

Heute geht es um die Frage die sich jeder Programmieranfänger stellt: Mit welcher Programmiersprache fängt man eigentlich an? Was das ganze mit Autofahren zutun hat und warum die Sprache letztendlich völlig egal ist erfährst du jetzt.
Eines der ersten Dinge, die du als Programmieranfänger hörst, ist dass man eine Programmiersprache beherrschen muss, wenn man Programmieren will. Und schon bist du auf der Recherche nach Programmiersprachen. Welche gibt es? Was ist die beste? Was kann ich damit erstellen? Wie kann ich die lernen? Was du erfährst sind 1000 Meinungen von Programmierern und jeder findet eine andere Programmiersprache idealer zum lernen. Zeit, dass du lernst das ganze zu verstehen um es etwas objektiver bewerten zu können.

Was ist eine Programmiersprache?

Lass uns erstmal anschauen was eine Programmiersprache eigentlich ist und wie diese eigentlich entstanden sind. Eine Programmiersprache ist ein Werkzeug um einem Computer Befehle geben zu können. Wenn man mehrere Befehle hintereinander ablaufen lässt, ist das ein Programm. Das Programm wird dabei in Maschinensprache übersetzt. Diese Maschinensprache besteht im Prinzip aus vielen Rechenoperationen die nacheinenander ausgeführt werden. Als die Computer noch so groß wie Häuser waren, also als es noch keine Personal Computer gab, wurden Computer über einfache Schalter und Lochkarten bedient. Also im Prinzip kann ein Computer nichts anderes als nur binär addieren. Dies macht er aber so schnell und effizient, dass auf dieser Grundlage unsere gesamte heutige Computertechnologie basiert. Für eine einfache Addition musste man zuerst die Zahlen in binäre Zahlen umwandeln dann mehrere Schalter bedienen. Dann hat man eine binäre Zahl erhalten, welche man dann in eine für uns lesbare Zahl umrechnen konnte. Wenn dich das Thema interessiert kommentiere unten mal mit „Computer“, denn tiefer ins Detail soll es heute hier nicht gehen. Da die Bedienung dieser Schalter so kompliziert war und immer komplexer wurde, wurden die Rechenmaschinen immer weiter entwickelt bis diese tatsächlich nützlich wurden. Dabei ist eine Maschinensprache entstanden, welche verschiedene Rechenoperationen nacheinander ausführen konnte. Da aber das immer noch vielen zu kompliziert war und die Erstellung der Maschinensprache sehr aufwendig war, wurden Programmiersprachen entwickelt, die besser vom Menschen verstanden werden können. So spricht man heute von verschiedenen Generationen von Programmiersprachen. Die Entwicklungen gehen von Assembler über Basic und C++ bis hin zu JavaScript, auf Wikipedia werden über 350 Programmiersprachen gelistet. Bist heute werden Programmiersprachen weiterentwickelt. Übertrieben gesagt ist eine Programmiersprache ein Werkzeug um viele Rechenoperationen mit Schaltern durchzuführen.

Mit welchem Auto lernt man am besten Auto fahren?

Der Begriff Werkzeug passt allerdings sehr gut, beschränkt man sich auf die modernen heutigen Programmiersprachen, können letztendlich alle Sprachen dasselbe. Und da kommen wir auch schon zu unserem Beispiel. Stell dir mal vor du möchtest mit einem Auto von A nach B fahren. Wenn du noch keinen Führerschein hast und gerade anfängst Autofahren zu lernen, ist es völlig egal, mit welcher Automarke du das machst. Das Modell, die Motorisierung und Sonderausstattung spielt keine Rolle. Aber es gibt Ausnahmen: Manche Autos haben kleine Fahrhilfen, die zum Beispiel beim lernen helfen. Oder es gibt Autos für einen bestimmten Zweck, wie zum Beispiel LKWs oder Busse. Dafür muss man spezieller lernen und einen eigenen Führerschein machen. Du hast im Prinzip gelernt, wie man das Werkzeug Auto verwendet um damit von A nach B zu kommen. Und wenn du es einmal gelernt hast, dann kannst du auch relativ einfach in einem anderen Auto fahren.
Und das ist auch der Grund warum es völlig egal mit welcher Programmiersprache du startest. Du solltest bei der Auswahl nur eins beachten: Wie einfach und wieviel Erfahrungen kannst du mit dieser Sprache sammeln? Um zum Beispiel zurückzukehren: Was ist besser für einen Fahranfänger? Das schnelle Sportcabrio, bei dem jede Beule ein Vermögen kostet oder der gebrauchte Kleinwagen, mit dem man aber überall einfach hinkommen kann und der günstig beim Tanken ist? Wenn man nicht auf den Geldbeutel achten muss kann man auch mit dem Sportwagen fahren lernen. Aber vielleicht ist ein wenig Vorerfahrung hilfreich, oder?
Nun, welche Programmierssprache ist nun die beste im Softwarehimmel? Ich möchte das Autobeispiel nicht überstrapazieren, deswegen noch ein letztes Mal: Frag mal in einem Autoforum nach dem besten Auto zum fahren lernen. Klar, jeder bevorzugt das womit er gelernt hat, da er damit seine meisten Lernerfahrungen gemacht hat. Deswegen sind die Antworten, die du bei solchen Fragen im Internet erhälst, so unterschiedlich.

3 Dinge, die du bei der Wahl beachten solltest

Fang mit einer Sprache an, mit der du einfach und ohne viel Installation starten kannst. Die Sprache sollte dir die Möglichkeit bieten viele kleine Projekte in den Bereichen machen zu können die dich interessieren. Wie wärs mit einer Webseite? Und dazu eine App? Vielleicht noch ein kurzes Videospiel zum Spass? Hilfreich, wenn das mit einer Programmiersprache möglich ist. Egal welche Sprache du zu Anfang lernst, irgendwann wirst du an eine Grenze kommen, bei der du nicht mehr mit der selben Programmiersprache weiterarbeiten kannst. Die Ursache können können unterschiedlich sein: Entweder ist etwas nicht performant, der Sprache fehlt ein bestimmtes Feature oder es wird zu umständliche mit der Sprache weiterzuarbeiten. Du solltest also immer im Hinterkopf behalten, dass du die Programmiersprache wechseln kannst sobald es notwendig ist und der Wechsel dann auch kein Problem mehr ist, da du die Grundlagen bereits drauf hast!

Mein Vorschlag

Du möchtest trotzdem wissen, mit welcher Programmiersprache du nun anfangen sollst? Meine persönliche und subjektive Meinung dazu ist Javascript. Und das aus den folgenden Gründen: Du hast die notwendige Software bereits installiert, denn Javascript läuft im Browser. Mit Erweiterungen kannst du mit Javascript alles programmieren was man sich als Anfänger vorstellen kann. Die Details findest du im Erklärvideo zu Javascript und wenn du direkt loslegen möchtest, schau doch mal auf unserer Seite vorbei. Den Link findest du in der Beschreibung.
Und das war auch schon die kurze Antwort zu der Frage: Mit welcher Programmiersprache man eigentlich anfangen sollte. Falls du Fragen oder Anmerkungen hast, dann schreibe einen Kommentar. Ansonsten kann ich dir nur sagen: Starte mit Javascript und lerne Programmieren! Bis bald!
Spiele programmieren lernen

Spiele programmieren lernen – kostenloser Einstiegsratgeber

Spiele programmieren lernen
Wer gerne Videospiele spielt, hat sich vielleicht schon mal darüber Gedanken gemacht, wie es wäre ein eigenes Spiel zu programmieren und dann anderen zum Spielen zur Verfügung zu stellen. Dieses Vorhaben kann allerdings etwas anspruchsvoller sein, als man sich zunächst vorstellt. Welche Arten von Videospielen man erstellen kann, wie Spiele funktionieren und was man zur Programmierung alles wissen muss, lernst du in diesem Artikel.

Was machen Videospiele aus?

Die der Erstellung eine Spiels hängt in erster Linie davon ab, was für ein Spiel man eigentlich programmieren möchte. Von einfachen 2D-Spielen bis zu 3D-Grafikknallern ist alles möglich, aber auch unterschiedlich aufwendig. Ein Quizspiel für Mobilgeräte ist nunmal schneller programmiert als ein 2D-Multiplayer Spiel mit realistischer Physik. Daran erkennt man auch schon, das alleine das Spielgenre beinflusst welchen Aufwand man treiben muss um das Spiel überhaupt umsetzen zu können. Dazu kommt welche Plattformen man bedienen möchte: Von Konsolen, Handheld über PC und Mobilgräte ist alles möglich aber auch unterschiedlich aufwendig. Man kennt es vielleicht von Exklusivtiteln für Konsolen. Bis ein Spiel welches nur für eine Konsole entwickelt wurde für andere  Konsolen oder den PC veröffentlicht wird dauert eine ganze Weile. Das bekannteste und aufwendigste Beispiel ist GTA5. Dieses Spiel wurde 2013 für die Xbox360 und Playstation 3 veröffentlicht. 2014 folgten Xbox One und Playstation 4 und erst im April 2015 wurde das Spiel für den PC veröffentlicht. Falls du daran denkst, dass dein Spiel so umfangreich wie ein GTA5 werden soll, solltest du wissen, dass bei der Entwicklung von GTA5 über 1000 Menschen beteiligt waren und die Entwicklung des Spiels umgerechnet 191,2 Millionen € gekostet haben soll. Es ist die bisher aufwendigste und teuerste Spielentwicklung überhaupt und zeigt damit sehr genau wie schwer es sein kann Spiele zu programmieren.

Wie ein Videospiel funktioniert

Die Komplexität eines Spiels zeigt sich, wenn man mal genauer unter die Haube schaut. Wenn man Videospiele spielt hört man öfter mal vom Begriff FPS. Dies ist die Abkürzung für Frames per Second. Doch was bedeutet dieser Begriff? Schaut man sich die Spielmechanik an, dann sieht folgenden Ablauf:
  1. Eingabe
  2. Verarbeitung
  3. Ausgabe
In der Eingabe werden Informationen zum Spielablauf eingeholt. Das bedeutet, Tastatur- und Mauseingaben auswerten oder GameControllerdaten einholen. Eventuell benötigt man sogar Daten aus dem Internet zum Beispiel bei Multiplayerspielen. Dann gibt es natürlich noch Informationen zum aktuellen Spielstand, also wo befinden sich die Spieler, wer hat zuletzt welche Aktion durchgeführt und welche Animationen waren im letzten Schritt aktiv. Diese Informationen müssen für den nächsten Schritt bereitstehen. Denn im Verarbeitungsschritt wird dann alles berechnet: Die nächste Spielerposition und -animation, die Spielregeln werden ausgewertet. Hat ein Spieler schon gewonnen, oder hat ihm grade etwas anderes geschadet. Kann ein Gegenstand durch eine Wand oder muss dieser abprallen? Also Effekte, Spielregeln, Physik und Bewegungen. Diese ganzen Berechnungen werden in diesem 2. Schritt ausgewertet, das Ergebnis ist dann ein Spielzustand, der ausgegeben werden kann. Und damit ist man schon im dritten Schritt angekommen: Der Ausgabe. Nun werden die benötigten Objekte auf den Bildschirm gezeichnet, Soundeffekte oder Musik abgespielt, Controller zum vibrieren aktiviert und bei Multiplayerspielen die aktuellen Daten zum Server geschickt. Und dann geht das ganze von vorne los. Dies nennt man die GameLoop.
Was glaubst du wie oft das geschehen muss, damit du ein flüssiges Spiel zocken kannst? Mindestens 24 mal in der Sekunde müssen diese 3 Schritte abgearbeitet sein, ansonsten wirkt es für dein Auge, als wenn das Spiel stockt. Besser sind 30, 60 und bei 3D/VR-Spielen sogar 90 Durchläufe pro Sekunde. Im Endeffekt wird bei jedem Durchlauf ein Bild erstellt, im englischen spricht man da von einem Frame. 24 berechnete Bilder pro Sekunde ergeben also 24 FPS. Das coole bei der Programmierung ist: Es gibt sogenannte Spielengines also Spielmaschinen, die einem die Arbeit dabei erleichtern.

Erstellung eines Videospiels

So schnell wie die Gameloop Bilder pro Sekunde auf den Bildschirm zaubert ist die Erstellung eines Spiels leider überhaupt nicht. Selbst wenn man bereits alle notwendigen Details der Programmierung kennt und genug Erfahrungen hat, ist der Aufwand hoch. Man durchläuft einen typischen Software Entwicklungsprozess und muss dazu noch ein paar Dinge zusätzlich anfertigen. Die Veröffentlichung und Vermarktung des Spiels wurden dann hier noch gar nicht beachtet. Alles Schritte sehen in etwas so aus:
  1. Idee/Konzept
  2. Planung
  3. Prototyperstellung
  4. Erstellen aller Spielinhalte
  5. Programmierung
  6. Testen
  7. Veröffentlichen
  8. Vermarktung
Das einfachste und das was am meisten Spaß macht ist das Tüfteln an der Idee und dem Konzept. Damit kann man sich monatelang aufhalten, wenn man will. Allerdings sollte man dies nicht übertreiben und schnell zur Planung voran gehen. Dort legt man dann Umfang des Spiels, ein Budget und den Zeitplan fest: Übrigens sind das 3 fest zusammenhängende Werte die sich gegenseitig beeinflussen. Beispiel: Hast du dein Spiel sehr umfangreich konzeptioniert, hast aber nur wenig Budget, solltest du für dein Spiel viel zeit einplanen. Hast viel Budget kannst du selbst entschieden ob das Spiel umfangreicher werden soll oder es lieber schneller fertig sein soll. Wenn du am Anfang stehst, solltest du dir lieber einen festen Zeitpunkt suchen und dann einmal schauen, wie umfangreich du dein Spiel in der gegebenen Zeit erstellen kannst.  Und da geht es dann auch schon los, du erstellst den ersten Prototyp für dein Spiel. Da testest du im groben und ganzen die Spielidee und prüfst ob das ganze überhaupt so umsetzbar ist, wie du es dir vorgestellt hast. Meistens merkt man da dann erst wieviel Zeit oder Budget man tatsächlich benötigt. Den Prototyp kann man Nutzern vorstellen und einfach damit herausfinden ob die Spielidee gut ankommt. Da macht es auch noch nichts aus, wenn die Grafiken oder Soundeffekte noch nicht ganz ausgereift sind. Diese benötigst du dann im nächsten Schritt. Je nach dem was du für ein Spiel erstellst ist das eine Menge Arbeit. Grafiken, 3D-Modelle, Soundeffekte, Musik, Animationen müssen an dieser Stelle erstellt werden. Je mehr man sich vorgenommen hat um so mehr muss man hier leider tun. Nur selten bekommt dies eine Person alleine hin. Parallel dazu bzw. danach kann mit der Programmierung gestartet werden. Hier wird dann das endgültige Spiel programmiert: Die Inhalte werden mit dem Code zusammen gebracht und das Spiel wird getestet. Bis alle Fehler draussen sind und das Spiel wie gewünscht funktioniert kann es etwas dauern. Die Schritte Veröffentlichung und Vermarktung sind dann noch Aufgaben die ontop kommen, aber einfach von einem selbst abhängen. Wenn du nur nebenbei dein Spiel programmiert hast, kann es sein, dass du es vielleicht nur deinen Freunden zeigen möchtest. Dann kann es sogar sein, dass du bereits mit dem Prototypen zufrieden bist. Eins vorweg, mit deinem ersten Computerspiel wirst du zu 95 % noch kein Geld verdienen können, aber vielleicht ist dein 3 oder 4 Spiel so ausgereift, dass du damit Erfolg haben kannst.

Was muss man dafür können?

Um das alles durchführen zu können muss man quasi ein Multitalent sein. Nein, ganz so schlimm ist es dann doch nicht. Für den Anfang sollte man wirklich kleine Spiele bauen, die an einem Wochenende programmierbar sind. Hierfür kann man zum Beispiel Javascript lernen und dann mit der Phaser-Bibliothek starten.
Wie man damit anfängt lernst du beispielsweise in unserem Einsteigerkurs. Also, bleibt eigentlich nur noch folgendes: Fang jetzt an!