In diesem Video geht es mit dem Kurs entgültig los. Den Einstieg bildet ein wenig Theorie rund um die Software Entwicklung selbst.
Links:
- http://gitlab.com
- http://programmierenlernen.info
2. Theorie.
Wichtige theoretische Grundlagen rund um die
Programmierung.
kompilierte Sprachen
interpretierte Sprachen
Wir schauen uns an was kompilierte
Programmiersprachen sind und was diese
ausmacht.
Markup Sprachen
Markup Sprachen begegnen einem
Entwickler früher oder später. Wir
werfen einen Blick auf Sie.
Wir untersuchen auch interpretierte
Programmiersprachen und vergleichen diese
mit kompilierten Sprachen.
Tag 1
Wie arbeitet JavaScript?
Wir schauen uns genau an wie
JavaScript arbeitet und wie es
ausgeführt wird.
Programmieren lernen
Workflow der Entwicklung
Natürlich ist der Kurs nur ein kleiner
Einstieg. Wir zeigen, wie man
Programmieren lernen kann.
Wie arbeitet ein Entwickler und wie wird
Software entwickelt? Wir untersuchen den
typischen Workflow.
3. Kompilierte Sprachen.
Wir untersuchen kompilierte Programmiersprachen und
schauen uns Vor-/Nachteile an.
HOHE PERFORMANCE
SPEICHEREFFIZIENT
AUFWENDIGERE ENTWICKLUNG
PROGRAMMIERSPRACHEN
SPEZIALLFALL JAVA
. PERFORMANCE
. SPEICHEREFFIZIENT
. AUFWENDIGER
. SPRACHEN
Im Vergleich zu Skriptsprachen ist die
Performance höher, da direkt
Maschinencode vorliegt. Der Interpreter
entfällt.
Die Vorteile in Bezug auf Performance
“erkauft” man sich über die
aufwendigere Entwicklung von Software.
Kompilierte Sprachen wir C/C++
erlauben sehr effizientes Arbeiten mit
dem vorhandenen Speicher.
Kompilierte Programmiersprachen sind
zum Beispiel C, C++ oder auch
Objective-C. Diese erzeugen
Binärdateien aus Quellcode (Compiler).
. SPEZIALLFALL JAVA
Java ist ein Sonderfall. Hier gibt es einen
Java-Compiler, der erzeugt jedoch
Bytecode. Eine Art Zwischenschritt
zwischen Interpreter und Compiler.
4. KOMPILIERTE ENTWICKLUNG.
Entwicklungschritte
Hier sind die einzelnen Entwicklungschritte
erkennbar. Bis die Software “fertig” ist,
wiederholt sich dieser Kreis.
Konzept:
kompilierte Sprachen
Nachteil:
Kompilierung dauert
ggf.
Schritte:
•
•
•
•
editieren
kompilieren
ausführen
testen
5. Skriptsprachen.
Interpretierte Sprachen werden auch als Skriptsprachen
bezeichnet.
SCHLECHTERE PERFORMANCE
. PERFORMANCE
. SPEICHERVERBRAUCH
. ENTWICKLUNGSZEIT
. SPRACHEN
. CODE ZUR LAUFZEIT
. SICHERHEIT
Die Performance bei Skriptsprachen ist
generell etwas schlechter als bei den
kompilierten Alternativen.
HÖHERER SPEICHERVERBRAUCH
SCHNELLERE ENTWICKLUNG
PROGRAMMIERSPRACHEN
SPEZIALLFALL JAVA
SICHERHEIT
Die Entwicklung mit Skriptsprachen ist
meist etwas weniger zeitaufwendig, da
zum Beispiel Speicherverwaltung
entfällt.
Java ist ein Sonderfall. Hier gibt es einen
Java-Compiler, der erzeugt jedoch
Bytecode. Eine Art Zwischenschritt
zwischen Interpreter und Compiler.
Speicherverbrauch ist ebenfalls meist
höher als bei der Implementierung
vergleichbarer Logik in kompilierten
Sprachen.
Bekannte Skriptsprachen sind zum
Beispiel PHP, JavaScript, Python, Ruby
sowie Perl.
Generell bieten Skriptsprachen mehr
Unterstützung im Bezug auf Sicherheit.
C/C++ lagert dies voll auf den
Entwickler aus.
6. SKRIPTSPRACHEN.
Entwicklungschritte
Hier sind die einzelnen Entwicklungschritte
erkennbar. Bis die Software “fertig” ist,
wiederholt sich dieser Kreis.
Konzept:
interpretierte Sprachen
Nachteil:
Performance/
Speicherverbrauch
Schritte:
•
•
•
•
editieren
kompilieren
ausführen
testen
7. MARKUP SPRACHEN.
Markup-Sprachen wie HTML und XML sind
Auszeichnungssprachen und beschreiben Inhalte.
AUSZEICHNUNG VON ELEMENTEN
. AUSZEICHNUNG
Markup-Sprachen beschreiben den
Inhalt, legen aber nicht automatisch
auch das Format fest.
. HTML / XML
Beispiele für Markup-Sprachen sind
HTML und XML. Hier werden Inhalte in
einer Baumstruktur verschachtelt.
HTML / XML
KEINE ECHTEN PROGRAMMIERSPRACHEN
KEINE LOGIK
BESCHREIBUNGSSPRACHE
STYLESHEETS
. PROGRAMMIERSPRACHE? . KEINE LOGIK
Eine Markup-Sprache ist keine
Programmiersprache. Hier der
dynamische Aspekt.
Auszeichnungssprachen haben keine
Logik, keine Bedingungen oder
Schleifen. U.a. daher JavaScript.
. BESCHREIBUNGSSPRACHE . STYLING / CSS
HTML und XML beschreiben Inhalte,
legen jedoch nur fest um welche Art es
sich handelt. Aussehen wird woanders
definiert.
Aussehen wird durch Stylesheets
festgelegt. Außerdem gibt es bei HTML
definierte Darstellung, je nach Browser
ggf. abweichend.
8. PROGRAMMIEREN LERNEN.
98,2%
BÜCHER LESEN!
Es gibt rund um die Entwicklung sehr
viele Bücher, die ganze Bandbreite vom
Einsteiger bis hin zum Profi wird bedient.
72,1%
FREMDER QUELLCODE
Lesen und Experimentieren mit fremdem
Quellcode! Das hilft Konzepte zu
verstehen sich einzelne Methoden,
Funktionen und Objekte im Detail
anzuschauen.
87,3%
BEISPIELE UMSETZEN
Gefundene Beispiele implementieren und
den Code verstehen, verändern und
erweitern! Vermittelt ein Gefühl für die
Sprache.
Ľ
GITHUB & GOOGLE
Endlos viele Software Projekte findet man
bei Github sowie über Google. Die
Inspiration und Quellcode zum Studieren
reicht für ein ganzes Menschenleben.
82,1%
TUTORIALS
110%
EIGENE PROJEKTE
Konkrete Tutorials rund um einzelne
Themen helfen weiter ins Detail oder
gezielte Bereiche einzusteigen.
Wenn ein paar Grundlagen sitzen,
einfach eigene Projekte ausdenken. Das
vertieft das Wissen am besten.
67,4%
120%
FEEDBACK!
PRAXIS
Unglaublich wichtig ist auch jemand, der
als Mentor fungieren kann. Gerade das
macht Github und die Projekte dort so
interessant. Die einfache Möglichkeit,
sich Feedback zu eigenem Quellcode zu
holen.
Laufen lernt man nur in dem man läuft.
Genau das gilt auch für die Entwicklung.
Alle Theorie hilft nur bedingt. Wirklich
lernen kann man es nur durch viel Praxis.
9. Übungsaufgabe.
Übung macht den Meister
Die Übungsaufgaben helfen beim Vertiefen!
Sich anschauen wie andere malen ist meist logisch und leicht
verständlich, schwer wird es erst, wenn man selbst vor einem weißen
Blatt Papier sitzt.
!
Genau dies gilt auch bei der Programmierung. Vieles ist schlüssig, wenn
man Zuschauer ist. Nur durch Übung festigen sich wichtige Elemente
und Konzepte.
!
Darum empfehlen wir unsere Übungsaufgaben. Musterlösungen auf
Anfrage.
10. Fragen?.
Offene Fragen, Anregungen?
Wir helfen bei Fragen gerne weiter!
Der Kurs versucht alles notwendige Wissen zu vermitteln. Sollten Punkte
unklar sein, irgendwas unverständlich erklärt oder sonst in irgendeiner
Form Fragen auftreten, freuen wir uns über Rückmeldung.
!
Nicht schüchtern sein. Es gibt keine dummen Fragen. Gerade am Anfang
kann schon ein kleiner Hinweis in die richtige Richtung wunder
bewirken!
!
Wir beantworten von Herzen gern jede eure Fragen!