11
P rogrammieren lernen - ein 7-tägiger Grundkurs programmierenlernen.info Tag1

Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Programmieren lernen

- ein 7-tägiger Grundkurs

programmierenlernen.info

Tag1

Page 2: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Wichtige theoretische Grundlagen rund um die Programmierung.

Tag 1

Wir untersuchen auch interpretierte Programmiersprachen und vergleichen diese mit kompilierten Sprachen.

Wir schauen uns genau an wie JavaScript arbeitet und wie es ausgeführt wird.

interpretierte Sprachen

Wie arbeitet JavaScript?

Wir schauen uns an was kompilierte Programmiersprachen sind und was diese

ausmacht.

Markup Sprachen begegnen einem Entwickler früher oder später. Wir

werfen einen Blick auf Sie.

kompilierte Sprachen

Markup Sprachen

Theorie.

Natürlich ist der Kurs nur ein kleiner Einstieg. Wir zeigen, wie man Programmieren lernen kann.

Programmieren lernenWie arbeitet ein Entwickler und wie wird

Software entwickelt? Wir untersuchen den typischen Workflow.

Workflow der Entwicklung

Page 3: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Kompilierte Sprachen.Wir untersuchen kompilierte Programmiersprachen und schauen uns Vor-/Nachteile an.

Im Vergleich zu Skriptsprachen ist die Performance höher, da direkt Maschinencode vorliegt. Der Interpreter entfällt.

Kompilierte Sprachen wir C/C++ erlauben sehr effizientes Arbeiten mit dem vorhandenen Speicher.

Die Vorteile in Bezug auf Performance “erkauft” man sich über die aufwendigere Entwicklung von Software.

. PERFORMANCE . SPEICHEREFFIZIENT

. AUFWENDIGERKompilierte Programmiersprachen sind zum Beispiel C, C++ oder auch Objective-C. Diese erzeugen Binärdateien aus Quellcode (Compiler).

. SPRACHEN

Java ist ein Sonderfall. Hier gibt es einen Java-Compiler, der erzeugt jedoch Bytecode. Eine Art Zwischenschritt zwischen Interpreter und Compiler.

. SPEZIALLFALL JAVA

HOHE PERFORMANCE

SPEICHEREFFIZIENT

AUFWENDIGERE ENTWICKLUNG

PROGRAMMIERSPRACHEN

SPEZIALLFALL JAVA

Page 4: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

KOMPILIERTE ENTWICKLUNG.

Hier sind die einzelnen Entwicklungschritte erkennbar. Bis die Software “fertig” ist, wiederholt sich dieser Kreis.

Entwicklungschritte

Konzept:

Nachteil: Kompilierung dauert ggf.

kompilierte Sprachen

Schritte: • editieren • kompilieren • ausführen • testen

Page 5: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Skriptsprachen.Interpretierte Sprachen werden auch als Skriptsprachen bezeichnet.

Die Performance bei Skriptsprachen ist generell etwas schlechter als bei den kompilierten Alternativen.

Speicherverbrauch ist ebenfalls meist höher als bei der Implementierung vergleichbarer Logik in kompilierten Sprachen.

Die Entwicklung mit Skriptsprachen ist meist etwas weniger zeitaufwendig, da zum Beispiel Speicherverwaltung entfällt.

. PERFORMANCE . SPEICHERVERBRAUCH

. ENTWICKLUNGSZEITBekannte Skriptsprachen sind zum Beispiel PHP, JavaScript, Python, Ruby sowie Perl.

. SPRACHEN

Java ist ein Sonderfall. Hier gibt es einen Java-Compiler, der erzeugt jedoch Bytecode. Eine Art Zwischenschritt zwischen Interpreter und Compiler.

. CODE ZUR LAUFZEIT

SCHLECHTERE PERFORMANCE

HÖHERER SPEICHERVERBRAUCH

SCHNELLERE ENTWICKLUNG

PROGRAMMIERSPRACHEN

SPEZIALLFALL JAVA

SICHERHEITGenerell bieten Skriptsprachen mehr Unterstützung im Bezug auf Sicherheit. C/C++ lagert dies voll auf den Entwickler aus.

. SICHERHEIT

Page 6: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

SKRIPTSPRACHEN.

Hier sind die einzelnen Entwicklungschritte erkennbar. Bis die Software “fertig” ist, wiederholt sich dieser Kreis.

Entwicklungschritte

Konzept:

Nachteil: Performance/Speicherverbrauch

interpretierte Sprachen

Schritte: • editieren • kompilieren • ausführen • testen

Page 7: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

MARKUP SPRACHEN.Markup-Sprachen wie HTML und XML sind Auszeichnungssprachen und beschreiben Inhalte.

Markup-Sprachen beschreiben den Inhalt, legen aber nicht automatisch auch das Format fest.

Beispiele für Markup-Sprachen sind HTML und XML. Hier werden Inhalte in einer Baumstruktur verschachtelt.

Eine Markup-Sprache ist keine Programmiersprache. Hier der dynamische Aspekt.

. AUSZEICHNUNG . HTML / XML

. PROGRAMMIERSPRACHE?Auszeichnungssprachen haben keine Logik, keine Bedingungen oder Schleifen. U.a. daher JavaScript.

. KEINE LOGIK

HTML und XML beschreiben Inhalte, legen jedoch nur fest um welche Art es sich handelt. Aussehen wird woanders definiert.

. BESCHREIBUNGSSPRACHE

AUSZEICHNUNG VON ELEMENTEN

HTML / XML

KEINE ECHTEN PROGRAMMIERSPRACHEN

KEINE LOGIK

BESCHREIBUNGSSPRACHE

STYLESHEETSAussehen wird durch Stylesheets festgelegt. Außerdem gibt es bei HTML definierte Darstellung, je nach Browser ggf. abweichend.

. STYLING / CSS

Page 8: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

98,2% 87,3%

72,1% Ľ

Es gibt rund um die Entwicklung sehr viele Bücher, die ganze Bandbreite vom

Einsteiger bis hin zum Profi wird bedient.

Gefundene Beispiele implementieren und den Code verstehen, verändern und

erweitern! Vermittelt ein Gefühl für die Sprache.

Endlos viele Software Projekte findet man bei Github sowie über Google. Die

Inspiration und Quellcode zum Studieren reicht für ein ganzes Menschenleben.

BÜCHER LESEN! BEISPIELE UMSETZEN

FREMDER QUELLCODE GITHUB & GOOGLE

82,1% 110%

67,4% 120%

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.

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.

TUTORIALS EIGENE PROJEKTE

FEEDBACK! PRAXISLesen und Experimentieren mit fremdem

Quellcode! Das hilft Konzepte zu verstehen sich einzelne Methoden, Funktionen und Objekte im Detail

anzuschauen.

PROGRAMMIEREN LERNEN.

Page 9: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Übungsaufgabe.

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.

Übung macht den MeisterDie Übungsaufgaben helfen beim Vertiefen!

Page 10: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Fragen?.

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!

Offene Fragen, Anregungen?Wir helfen bei Fragen gerne weiter!

Page 11: Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg

Kontakt.

Phone: +49 5252 2692517-0 !Email: [email protected] !Web: programmierenlernen.info

!

"

Facebook.com/ programmierenlernen.info

Twitter.com/AspiringCoders

SOCIAL MEDIAKontakt-INFO

programmierenlernen.info

HTTP://