<<

Programmierung unter GNU/ fur¨ Einsteiger

Edgar ’Fast Edi’ Hoffmann

Community FreieSoftwareOG [email protected]

7. September 2016 Programmierung (von griechisch pr´ogramma Vorschrift“) bezeichnet die T¨atigkeit, ” Computerprogramme zu erstellen. Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie – je nach Programmiersprache – das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines .

Programmierung Begriffserkl¨arung

2 / 35 Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie – je nach Programmiersprache – das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers.

Programmierung Begriffserkl¨arung

Programmierung (von griechisch pr´ogramma Vorschrift“) bezeichnet die T¨atigkeit, ” Computerprogramme zu erstellen.

2 / 35 Programmierung Begriffserkl¨arung

Programmierung (von griechisch pr´ogramma Vorschrift“) bezeichnet die T¨atigkeit, ” Computerprogramme zu erstellen. Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie – je nach Programmiersprache – das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers.

2 / 35 Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert“). ” In eine solche Sprache ubersetzt“¨ der Programmierer die (z. B. im Pflichtenheft) ” vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw.

Programmierung Konzepte der Softwareentwicklung

3 / 35 Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw.

Programmierung Konzepte der Softwareentwicklung

Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert“). ” In eine solche Sprache ubersetzt“¨ der Programmierer die (z. B. im Pflichtenheft) ” vorgegebenen Anforderungen und Algorithmen.

3 / 35 Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw.

Programmierung Konzepte der Softwareentwicklung

Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert“). ” In eine solche Sprache ubersetzt“¨ der Programmierer die (z. B. im Pflichtenheft) ” vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen.

3 / 35 Programmierung Konzepte der Softwareentwicklung

Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert“). ” In eine solche Sprache ubersetzt“¨ der Programmierer die (z. B. im Pflichtenheft) ” vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw.

3 / 35 Wasserfallmodell Extreme Programming Scrum Prototyping Testgetriebene Softwareentwicklung

Programmierung Entwicklungsmodelle

4 / 35 Extreme Programming Scrum Prototyping Testgetriebene Softwareentwicklung

Programmierung Entwicklungsmodelle

Wasserfallmodell

4 / 35 Scrum Prototyping Testgetriebene Softwareentwicklung

Programmierung Entwicklungsmodelle

Wasserfallmodell Extreme Programming

4 / 35 Prototyping Testgetriebene Softwareentwicklung

Programmierung Entwicklungsmodelle

Wasserfallmodell Extreme Programming Scrum

4 / 35 Testgetriebene Softwareentwicklung

Programmierung Entwicklungsmodelle

Wasserfallmodell Extreme Programming Scrum Prototyping

4 / 35 Programmierung Entwicklungsmodelle

Wasserfallmodell Extreme Programming Scrum Prototyping Testgetriebene Softwareentwicklung

4 / 35 Struktogramm bzw. Nassi-Shneiderman PAP GUI-Prototyping bzw. Mockups

Programmierung Zus¨atzliche Werkzeuge und Helfer

5 / 35 PAP GUI-Prototyping bzw. Mockups

Programmierung Zus¨atzliche Werkzeuge und Helfer

Struktogramm bzw. Nassi-Shneiderman

5 / 35 GUI-Prototyping bzw. Mockups

Programmierung Zus¨atzliche Werkzeuge und Helfer

Struktogramm bzw. Nassi-Shneiderman PAP

5 / 35 Programmierung Zus¨atzliche Werkzeuge und Helfer

Struktogramm bzw. Nassi-Shneiderman PAP GUI-Prototyping bzw. Mockups

5 / 35 Programmierung Beispiel eines Nassi-Shneiderman-Diagramms

6 / 35 Programmierung Beispiel eines Nassi-Shneiderman-Diagramms

6 / 35 Fruher¨ machte man’s auf der Konsole Heute gibt es komfortable IDEs

Programmierung Entwicklungsumgebungen (IDEs)

7 / 35 Heute gibt es komfortable IDEs

Programmierung Entwicklungsumgebungen (IDEs)

Fruher¨ machte man’s auf der Konsole

7 / 35 Programmierung Entwicklungsumgebungen (IDEs)

Fruher¨ machte man’s auf der Konsole Heute gibt es komfortable IDEs

7 / 35 Programmierung Entwicklungsumgebungen (IDEs)

Fruher¨ machte man’s auf der Konsole Heute gibt es komfortable IDEs

7 / 35 Programmierung Entwicklungsumgebungen (IDEs)

Fruher¨ machte man’s auf der Konsole Heute gibt es komfortable IDEs

7 / 35 Texteditor bzw. Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten:

Programmierung Entwicklungsumgebungen (IDEs)

8 / 35 Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten:

8 / 35 Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor

8 / 35 Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter

8 / 35 Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker

8 / 35 Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger

8 / 35 weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion

8 / 35 Programmierung Entwicklungsumgebungen (IDEs)

Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ...

8 / 35 In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge, die dem Softwareentwickler h¨aufig wiederkehrende Aufgaben abnehmen, einen schnellen Zugriff auf wichtige Funktionen bieten, mit denen die Arbeits(zwischen)ergebnisse verwaltet und in sp¨atere Bearbeitungsfunktionen direkt uberf¨ uhrt¨ werden k¨onnen. Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren.

Programmierung Entwicklungsumgebungen (IDEs)

9 / 35 einen schnellen Zugriff auf wichtige Funktionen bieten, mit denen die Arbeits(zwischen)ergebnisse verwaltet und in sp¨atere Bearbeitungsfunktionen direkt uberf¨ uhrt¨ werden k¨onnen. Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren.

Programmierung Entwicklungsumgebungen (IDEs)

In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge, die dem Softwareentwickler h¨aufig wiederkehrende Aufgaben abnehmen,

9 / 35 Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren.

Programmierung Entwicklungsumgebungen (IDEs)

In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge, die dem Softwareentwickler h¨aufig wiederkehrende Aufgaben abnehmen, einen schnellen Zugriff auf wichtige Funktionen bieten, mit denen die Arbeits(zwischen)ergebnisse verwaltet und in sp¨atere Bearbeitungsfunktionen direkt uberf¨ uhrt¨ werden k¨onnen.

9 / 35 Programmierung Entwicklungsumgebungen (IDEs)

In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge, die dem Softwareentwickler h¨aufig wiederkehrende Aufgaben abnehmen, einen schnellen Zugriff auf wichtige Funktionen bieten, mit denen die Arbeits(zwischen)ergebnisse verwaltet und in sp¨atere Bearbeitungsfunktionen direkt uberf¨ uhrt¨ werden k¨onnen. Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren.

9 / 35 , C++, C# Fortran Basic Cobol Pascal Assembler

Programmierung Klassische Programmiersprachen

10 / 35 Fortran Basic Cobol Pascal Assembler

Programmierung Klassische Programmiersprachen

C, C++, C#

10 / 35 Basic Cobol Pascal Assembler

Programmierung Klassische Programmiersprachen

C, C++, C# Fortran

10 / 35 Cobol Pascal Assembler

Programmierung Klassische Programmiersprachen

C, C++, C# Fortran Basic

10 / 35 Pascal Assembler

Programmierung Klassische Programmiersprachen

C, C++, C# Fortran Basic Cobol

10 / 35 Assembler

Programmierung Klassische Programmiersprachen

C, C++, C# Fortran Basic Cobol Pascal

10 / 35 Programmierung Klassische Programmiersprachen

C, C++, C# Fortran Basic Cobol Pascal Assembler

10 / 35 Java Perl, Python, Ruby, PHP ...

Programmierung Moderne Programmiersprachen

11 / 35 Mono Perl, Python, Ruby, PHP ...

Programmierung Moderne Programmiersprachen

Java

11 / 35 Perl, Python, Ruby, PHP ...

Programmierung Moderne Programmiersprachen

Java Mono

11 / 35 ...

Programmierung Moderne Programmiersprachen

Java Mono Perl, Python, Ruby, PHP

11 / 35 Programmierung Moderne Programmiersprachen

Java Mono Perl, Python, Ruby, PHP ...

11 / 35 Listing 1: Hallo Welt in C #i n c l u d e i n t main ( ) { ( void )printf(”Hallo , Welt !\ n” ) ; return 0 ; /∗ Sauber beenden ∗/ }

Programmierung Beispielcode

12 / 35 Programmierung Beispielcode

Listing 2: Hallo Welt in C #i n c l u d e i n t main ( ) { ( void )printf(”Hallo , Welt !\ n” ) ; return 0 ; /∗ Sauber beenden ∗/ }

12 / 35 Programmierung Beispielcode

13 / 35 Programmierung Beispielcode

13 / 35 Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten:

Programmierung Interpreter und Kompiler

14 / 35 Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten:

14 / 35 Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter

14 / 35 Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter

14 / 35 Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus.

14 / 35 Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes

14 / 35 ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes Kompiler

14 / 35 ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes Kompiler

14 / 35 Programmierung Interpreter und Kompiler

Bei der Erstellung bzw. beim laufenlassen eines Programmes unterscheidet man zwei M¨oglichkeiten: Interpreter ubersetzt¨ den Quellcode im Gegensatz zu Assemblern oder Compilern nicht in eine auf dem System direkt ausfuhrbare¨ Datei, sondern liest diesen ein, analysiert ihn und fuhrt¨ ihn aus. Die Analyse des Quellcodes erfolgt also zur Laufzeit des Programmes Kompiler ubersetzt¨ den Quellcode einer bestimmten Programmiersprache in eine Form, die von einem Computer (direkter) ausgefuhrt¨ werden kann

14 / 35 FreeBASIC Dev-CPP (Free Pascal) Code::Blocks ...

Programmierung Freie Entwicklungsumgebungen

15 / 35 Dev-CPP Gambas Lazarus (Free Pascal) Code::Blocks ...

Programmierung Freie Entwicklungsumgebungen

FreeBASIC

15 / 35 Gambas Lazarus (Free Pascal) Code::Blocks ...

Programmierung Freie Entwicklungsumgebungen

FreeBASIC Dev-CPP

15 / 35 Lazarus (Free Pascal) Code::Blocks ...

Programmierung Freie Entwicklungsumgebungen

FreeBASIC Dev-CPP Gambas

15 / 35 Code::Blocks ...

Programmierung Freie Entwicklungsumgebungen

FreeBASIC Dev-CPP Gambas Lazarus (Free Pascal)

15 / 35 ...

Programmierung Freie Entwicklungsumgebungen

FreeBASIC Dev-CPP Gambas Lazarus (Free Pascal) Code::Blocks

15 / 35 Programmierung Freie Entwicklungsumgebungen

FreeBASIC Dev-CPP Gambas Lazarus (Free Pascal) Code::Blocks ...

15 / 35 Potaka, erste Programmiersprache in bengalischer Schrift.

Programmierung Exoten und Cooles - Potaka

16 / 35 Programmierung Exoten und Cooles - Potaka Potaka, erste Programmiersprache in bengalischer Schrift.

16 / 35 Programmierung Exoten und Cooles - Potaka Potaka, erste Programmiersprache in bengalischer Schrift.

16 / 35 ChucK ist eine Programmiersprache fur¨ die Erzeugung und Verarbeitung von Audiosignalen, wobei ein besonderer Wert auf parallele Ausfuhrung¨ und exakte zeitliche Bezuge¨ gelegt ist. Die Sprache wird interpretiert, dabei ist es m¨oglich, im laufenden Betrieb Programmteile hinzuzufugen,¨ zu ver¨andern oder zu entfernen.

Programmierung Exoten und Cooles - ChucK

17 / 35 Die Sprache wird interpretiert, dabei ist es m¨oglich, im laufenden Betrieb Programmteile hinzuzufugen,¨ zu ver¨andern oder zu entfernen.

Programmierung Exoten und Cooles - ChucK

ChucK ist eine Programmiersprache fur¨ die Erzeugung und Verarbeitung von Audiosignalen, wobei ein besonderer Wert auf parallele Ausfuhrung¨ und exakte zeitliche Bezuge¨ gelegt ist.

17 / 35 Programmierung Exoten und Cooles - ChucK

ChucK ist eine Programmiersprache fur¨ die Erzeugung und Verarbeitung von Audiosignalen, wobei ein besonderer Wert auf parallele Ausfuhrung¨ und exakte zeitliche Bezuge¨ gelegt ist. Die Sprache wird interpretiert, dabei ist es m¨oglich, im laufenden Betrieb Programmteile hinzuzufugen,¨ zu ver¨andern oder zu entfernen.

17 / 35 Programmierung Exoten und Cooles - ChucK

ChucK ist eine Programmiersprache fur¨ die Erzeugung und Verarbeitung von Audiosignalen, wobei ein besonderer Wert auf parallele Ausfuhrung¨ und exakte zeitliche Bezuge¨ gelegt ist. Die Sprache wird interpretiert, dabei ist es m¨oglich, im laufenden Betrieb Programmteile hinzuzufugen,¨ zu ver¨andern oder zu entfernen.

17 / 35 Brainfuck ist fur¨ den ernsthaften Einsatz umst¨andlich und ineffizient, aber gut geeignet, um Grundlagen der Computertechnik zu erlernen..

Programmierung Exoten und Cooles - Brainfuck

18 / 35 Programmierung Exoten und Cooles - Brainfuck

Brainfuck ist fur¨ den ernsthaften Einsatz umst¨andlich und ineffizient, aber gut geeignet, um Grundlagen der Computertechnik zu erlernen..

18 / 35 Programmierung Exoten und Cooles - Brainfuck

Brainfuck ist fur¨ den ernsthaften Einsatz umst¨andlich und ineffizient, aber gut geeignet, um Grundlagen der Computertechnik zu erlernen..

18 / 35 Lolcode, deren Syntax aus Netzjargon besteht.

Programmierung Exoten und Cooles - Lolcode

19 / 35 Programmierung Exoten und Cooles - Lolcode

Lolcode, deren Syntax aus Netzjargon besteht.

19 / 35 Programmierung Exoten und Cooles - Lolcode

Lolcode, deren Syntax aus Netzjargon besteht.

19 / 35 Cow Whitespace

Programmierung Exoten und Cooles - Honorable Mentions

20 / 35 Whitespace

Programmierung Exoten und Cooles - Honorable Mentions

Cow

20 / 35 Programmierung Exoten und Cooles - Honorable Mentions

Cow Whitespace

20 / 35 Das Programmier-Portal HackerRank hat die Programmierf¨ahigkeiten von Codern rund um den Globus getestet. Auf HackerRank sind nach eigenen Angaben 1,5 Millionen Programmierer aus aller Welt registriert.

Programmierung Wo sitzen die besten Hacker?

21 / 35 Auf HackerRank sind nach eigenen Angaben 1,5 Millionen Programmierer aus aller Welt registriert.

Programmierung Wo sitzen die besten Hacker?

Das Programmier-Portal HackerRank hat die Programmierf¨ahigkeiten von Codern rund um den Globus getestet.

21 / 35 Programmierung Wo sitzen die besten Hacker?

Das Programmier-Portal HackerRank hat die Programmierf¨ahigkeiten von Codern rund um den Globus getestet. Auf HackerRank sind nach eigenen Angaben 1,5 Millionen Programmierer aus aller Welt registriert.

21 / 35 Programmierung Wo sitzen die besten Hacker?

22 / 35 Programmierung Wo sitzen die besten Hacker?

22 / 35 Programmierung Wo sitzen die besten Hacker?

23 / 35 Programmierung Wo sitzen die besten Hacker?

23 / 35 Programmierung Wo sitzen die besten Hacker?

24 / 35 Programmierung Wo sitzen die besten Hacker?

24 / 35 Why do Java developers wear glasses?

Programmierung Verst¨andnisfrage

25 / 35 Programmierung Verst¨andnisfrage

Why do Java developers wear glasses?

25 / 35 Because they can’t C#

Programmierung Verst¨andnisfrage

26 / 35 Programmierung Verst¨andnisfrage

Because they can’t C#

26 / 35 Programmierung Muahahahaaa

27 / 35 Programmierung Muahahahaaa

27 / 35 einem Compiler einem Interpreter einem Archivar einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus:

Programmierung Einstieg mit Gambas

28 / 35 einem Compiler einem Interpreter einem Archivar einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus:

28 / 35 einem Interpreter einem Archivar einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus: einem Compiler

28 / 35 einem Archivar einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus: einem Compiler einem Interpreter

28 / 35 einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus: einem Compiler einem Interpreter einem Archivar

28 / 35 einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus: einem Compiler einem Interpreter einem Archivar einem Scripter

28 / 35 und vielen Erweiterungskomponenten

Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus: einem Compiler einem Interpreter einem Archivar einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde

28 / 35 Programmierung Einstieg mit Gambas

Gambas ist eine voll ausgestattete Objektsprache und Entwicklungsumgebung, die auf einem BASIC-Interpreter basiert. Die Architektur ist stark durch Java inspiriert, und deshalb besteht Gambas aus: einem Compiler einem Interpreter einem Archivar einem Scripter einer Entwicklungsumgebung (IDE), welche selbst mit Gambas geschrieben wurde und vielen Erweiterungskomponenten

28 / 35 Gambas bezieht auch Ideen von Java ein und existiert schon sehr lange Es k¨onnen grafische Programme entwickelt werden (QT und GTK) Die eingebaute SDL-Bindung l¨asst das Schreiben von Multimedia-Applikationen und Spielen zu Zugriff auf Datenbanken wird mit einer einheitlichen Schnittstelle unterstutzt¨ Beispielsweise wurden der Webbrowser Areida (Webkit) und einige HAM-Radio-Anwendungen in Gambas realisiert

Programmierung Einstieg mit Gambas

Gambas ist eine freie Basic-Implementierung, jedoch kein Klon von MS

Quelle: Pro-Linux.de, 02.01.2012 Es k¨onnen grafische Programme entwickelt werden (QT und GTK) Die eingebaute SDL-Bindung l¨asst das Schreiben von Multimedia-Applikationen und Spielen zu Zugriff auf Datenbanken wird mit einer einheitlichen Schnittstelle unterstutzt¨ Beispielsweise wurden der Webbrowser Areida (Webkit) und einige HAM-Radio-Anwendungen in Gambas realisiert

Programmierung Einstieg mit Gambas

Gambas ist eine freie Basic-Implementierung, jedoch kein Klon von MS Visual Basic Gambas bezieht auch Ideen von Java ein und existiert schon sehr lange

Quelle: Pro-Linux.de, 02.01.2012 Die eingebaute SDL-Bindung l¨asst das Schreiben von Multimedia-Applikationen und Spielen zu Zugriff auf Datenbanken wird mit einer einheitlichen Schnittstelle unterstutzt¨ Beispielsweise wurden der Webbrowser Areida (Webkit) und einige HAM-Radio-Anwendungen in Gambas realisiert

Programmierung Einstieg mit Gambas

Gambas ist eine freie Basic-Implementierung, jedoch kein Klon von MS Visual Basic Gambas bezieht auch Ideen von Java ein und existiert schon sehr lange Es k¨onnen grafische Programme entwickelt werden (QT und GTK)

Quelle: Pro-Linux.de, 02.01.2012 Zugriff auf Datenbanken wird mit einer einheitlichen Schnittstelle unterstutzt¨ Beispielsweise wurden der Webbrowser Areida (Webkit) und einige HAM-Radio-Anwendungen in Gambas realisiert

Programmierung Einstieg mit Gambas

Gambas ist eine freie Basic-Implementierung, jedoch kein Klon von MS Visual Basic Gambas bezieht auch Ideen von Java ein und existiert schon sehr lange Es k¨onnen grafische Programme entwickelt werden (QT und GTK) Die eingebaute SDL-Bindung l¨asst das Schreiben von Multimedia-Applikationen und Spielen zu

Quelle: Pro-Linux.de, 02.01.2012 Beispielsweise wurden der Webbrowser Areida (Webkit) und einige HAM-Radio-Anwendungen in Gambas realisiert

Programmierung Einstieg mit Gambas

Gambas ist eine freie Basic-Implementierung, jedoch kein Klon von MS Visual Basic Gambas bezieht auch Ideen von Java ein und existiert schon sehr lange Es k¨onnen grafische Programme entwickelt werden (QT und GTK) Die eingebaute SDL-Bindung l¨asst das Schreiben von Multimedia-Applikationen und Spielen zu Zugriff auf Datenbanken wird mit einer einheitlichen Schnittstelle unterstutzt¨

Quelle: Pro-Linux.de, 02.01.2012 Programmierung Einstieg mit Gambas

Gambas ist eine freie Basic-Implementierung, jedoch kein Klon von MS Visual Basic Gambas bezieht auch Ideen von Java ein und existiert schon sehr lange Es k¨onnen grafische Programme entwickelt werden (QT und GTK) Die eingebaute SDL-Bindung l¨asst das Schreiben von Multimedia-Applikationen und Spielen zu Zugriff auf Datenbanken wird mit einer einheitlichen Schnittstelle unterstutzt¨ Beispielsweise wurden der Webbrowser Areida (Webkit) und einige HAM-Radio-Anwendungen in Gambas realisiert

Quelle: Pro-Linux.de, 02.01.2012 eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen

Sie enth¨alt

Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden

Quelle: Pro-Linux.de, 02.01.2012 eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt

Quelle: Pro-Linux.de, 02.01.2012 Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung

Quelle: Pro-Linux.de, 02.01.2012 Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen

Quelle: Pro-Linux.de, 02.01.2012 Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung

Quelle: Pro-Linux.de, 02.01.2012 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8

Quelle: Pro-Linux.de, 02.01.2012 die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨

Quelle: Pro-Linux.de, 02.01.2012 Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen

Quelle: Pro-Linux.de, 02.01.2012 Programmierung Einstieg mit Gambas

Die Sprache ist klein und schnell, und kann auch als Skriptsprache eingesetzt werden Sie enth¨alt eine vollst¨andige Fehlerbearbeitung Datei- und Prozess-Operationen Ereignissteuerung Unterstutzung¨ fur¨ UTF-8 Internationalisierung und Ubersetzungen¨ die M¨oglichkeit, Funktionen in dynamischen Bibliotheken aufzurufen Gambas ist vollst¨andig objektorientiert mit Klassen, ¨offentlichen und privaten Symbolen, Polymorphismus, Vererbung und einigem mehr...

Quelle: Pro-Linux.de, 02.01.2012 gb.web.form (erlaubt die Erstellung von GUIs fur¨ Webanwendungen) gb.form.terminal (stellt ein vollst¨andige Terminal-Emulation zur Verfugung)¨ gb.net.smtp (Komponente fur¨ PLAIN und CRAM-MD5 authentifizierung)

Aktuelle Version ist 3.9.0 vom 28.08.16. Sie enth¨alt unter Anderem folgende neuen Features:

Programmierung Einstieg mit Gambas

31 / 35 gb.web.form (erlaubt die Erstellung von GUIs fur¨ Webanwendungen) gb.form.terminal (stellt ein vollst¨andige Terminal-Emulation zur Verfugung)¨ gb.net.smtp (Komponente fur¨ PLAIN und CRAM-MD5 authentifizierung)

Programmierung Einstieg mit Gambas

Aktuelle Version ist 3.9.0 vom 28.08.16. Sie enth¨alt unter Anderem folgende neuen Features:

31 / 35 gb.form.terminal (stellt ein vollst¨andige Terminal-Emulation zur Verfugung)¨ gb.net.smtp (Komponente fur¨ PLAIN und CRAM-MD5 authentifizierung)

Programmierung Einstieg mit Gambas

Aktuelle Version ist 3.9.0 vom 28.08.16. Sie enth¨alt unter Anderem folgende neuen Features: gb.web.form (erlaubt die Erstellung von GUIs fur¨ Webanwendungen)

31 / 35 gb.net.smtp (Komponente fur¨ PLAIN und CRAM-MD5 authentifizierung)

Programmierung Einstieg mit Gambas

Aktuelle Version ist 3.9.0 vom 28.08.16. Sie enth¨alt unter Anderem folgende neuen Features: gb.web.form (erlaubt die Erstellung von GUIs fur¨ Webanwendungen) gb.form.terminal (stellt ein vollst¨andige Terminal-Emulation zur Verfugung)¨

31 / 35 Programmierung Einstieg mit Gambas

Aktuelle Version ist 3.9.0 vom 28.08.16. Sie enth¨alt unter Anderem folgende neuen Features: gb.web.form (erlaubt die Erstellung von GUIs fur¨ Webanwendungen) gb.form.terminal (stellt ein vollst¨andige Terminal-Emulation zur Verfugung)¨ gb.net.smtp (Komponente fur¨ PLAIN und CRAM-MD5 authentifizierung)

31 / 35 Programmierung Hands-On

32 / 35 Programmierung Hands-On

32 / 35 Links zur Pr¨asentation

http://gambas.sourceforge.net/ http://www.gambas-buch.de/dw/doku.php http://gambas-club.de http://beginnersguidetogambas.com http://howtogambas.org http://gambos.org

33 / 35 Links zur Pr¨asentation

http://chuck.cs.princeton.edu/ http://www.freepascal.org/ http://developer.android.com http://www.codeblocks.org https://de.wikipedia.org/wiki/Liste_von_Integrierten_ Entwicklungsumgebungen#Freie_integrierte_Entwicklungsumgebungen

34 / 35 Weitere Informationen bekommen Sie hier:

http://www.FreieSoftwareOG.org und [email protected]

oder kommen Sie doch einfach zu unserem regelm¨aßigen Treffen, jeden 1. Mittwoch im Monat ab 20:00 Uhr. (Treffpunkt und Thema laut Webseite)

35 / 35