Spiele in Lazarus objektorientiert programmieren: Unterschied zwischen den Versionen
(+kat) Markierung: 2017-Quelltext-Bearbeitung |
(-l) Markierung: 2017-Quelltext-Bearbeitung |
||
Zeile 13: | Zeile 13: | ||
* '''Reine Lernsprachen mit entsprechenden Programmierumgebungen'''. Diese sind so konstruiert, dass die ersten Hürden des Programmierens besonders einfach zu nehmen sind. Manche davon sind sogar so konstruiert, dass man sich gar nicht vertippen kann. Zu solchen Lernprogrammen gehören etwa [[Scratch]] oder Robot Karol. Mit diesen Sprachen kann man sehr gut die ersten Schritte und Grundprinzipien des Programmierens erlernen; es ist aber extrem schwierig, professionell aussehende Computerprogramme damit zu entwickeln. Wenn man das möchte, muss man eine neue Programmiersprache erlernen (was dann aber schneller geht, weil man die Grundlagen schon verstanden hat). | * '''Reine Lernsprachen mit entsprechenden Programmierumgebungen'''. Diese sind so konstruiert, dass die ersten Hürden des Programmierens besonders einfach zu nehmen sind. Manche davon sind sogar so konstruiert, dass man sich gar nicht vertippen kann. Zu solchen Lernprogrammen gehören etwa [[Scratch]] oder Robot Karol. Mit diesen Sprachen kann man sehr gut die ersten Schritte und Grundprinzipien des Programmierens erlernen; es ist aber extrem schwierig, professionell aussehende Computerprogramme damit zu entwickeln. Wenn man das möchte, muss man eine neue Programmiersprache erlernen (was dann aber schneller geht, weil man die Grundlagen schon verstanden hat). | ||
* '''Professionelle Sprachen mit speziellen lernorientierten Lernumgebungen. '''Hier ist die eigentliche Sprache eine auch in professionellen Kontexten verwendbare Programmiersprache, die allerdings in eine lerngerechte Programmierumgebung eingebaut ist. Solche Lernumgebungen sind z.B. [[BlueJ]] oder | * '''Professionelle Sprachen mit speziellen lernorientierten Lernumgebungen. '''Hier ist die eigentliche Sprache eine auch in professionellen Kontexten verwendbare Programmiersprache, die allerdings in eine lerngerechte Programmierumgebung eingebaut ist. Solche Lernumgebungen sind z.B. [[BlueJ]] oder {{wpde|Greenfoot}}. Möchte man nach der Einführung professionellere Computerprogramme entwickeln, so kann man die eigentliche Sprache (z.B. [[Java]]) beibehalten, muss aber auf eine andere Art des Entwickelns umsteigen. | ||
* '''Professionelle Sprachen mit Standard-Programmierumgebungen. '''Hier kann man direkt professionell aussehende Programme entwickeln, häufig ist das aber für Anfänger nicht ganz einfach. Eine solche Entwicklungsumgebung wäre z.B. Eclipse unter Verwendung verschiedener Bibliotheken zur Erzeugung graphischer Benutzeroberflächen. | * '''Professionelle Sprachen mit Standard-Programmierumgebungen. '''Hier kann man direkt professionell aussehende Programme entwickeln, häufig ist das aber für Anfänger nicht ganz einfach. Eine solche Entwicklungsumgebung wäre z.B. Eclipse unter Verwendung verschiedener Bibliotheken zur Erzeugung graphischer Benutzeroberflächen. |
Aktuelle Version vom 23. Mai 2022, 03:39 Uhr
Einführung (vor allem für Schüler)
In diesem Kurs kann man einen Überblick über objektorientierte Programmierung gewinnen, indem man eigener Computerspiele programmiert. Der Vorteil der hier verwendeten Programmierumgebung Lazarus ist: Wenn das Programmieren dieser Spiele Freude macht, kann man mit Lazarus auch andere Programme (etwa Simulationsprogramme für Mathematik-, Physik-, oder Biologieunterricht oder Verwaltungsprogramme für den Sportverein) schreiben, ohne wieder eine neue Programmiersprache erlernen oder sich an eine andere Programmierumgebung gewöhnen zu müssen.
Die Lazarus-Programmierumgebung gestattet es, viele Dinge, die das Aussehen des Programms betreffen, wie in einem Graphik-Programm mit der Maus zu erledigen, statt sie über den Programmtext festzulegen (was man allerdings auch kann). So kann man die Oberflächen von Programmen (z.B. Spielen) sehr schnell entwerfen und bekommt ein gutes Gefühl dafür, wie das Programm später aussehen wird.
Anmerkung (vor allem für Lehrer)
Es gibt viele Möglichkeiten, Programmieren zu lernen und eine unübersichtliche Menge an verschiedensten Programmiersprachen und Programmierumgebungen. Für einen ersten Überblick kann man unterscheiden:
- Reine Lernsprachen mit entsprechenden Programmierumgebungen. Diese sind so konstruiert, dass die ersten Hürden des Programmierens besonders einfach zu nehmen sind. Manche davon sind sogar so konstruiert, dass man sich gar nicht vertippen kann. Zu solchen Lernprogrammen gehören etwa Scratch oder Robot Karol. Mit diesen Sprachen kann man sehr gut die ersten Schritte und Grundprinzipien des Programmierens erlernen; es ist aber extrem schwierig, professionell aussehende Computerprogramme damit zu entwickeln. Wenn man das möchte, muss man eine neue Programmiersprache erlernen (was dann aber schneller geht, weil man die Grundlagen schon verstanden hat).
- Professionelle Sprachen mit speziellen lernorientierten Lernumgebungen. Hier ist die eigentliche Sprache eine auch in professionellen Kontexten verwendbare Programmiersprache, die allerdings in eine lerngerechte Programmierumgebung eingebaut ist. Solche Lernumgebungen sind z.B. BlueJ oder Greenfoot. Möchte man nach der Einführung professionellere Computerprogramme entwickeln, so kann man die eigentliche Sprache (z.B. Java) beibehalten, muss aber auf eine andere Art des Entwickelns umsteigen.
- Professionelle Sprachen mit Standard-Programmierumgebungen. Hier kann man direkt professionell aussehende Programme entwickeln, häufig ist das aber für Anfänger nicht ganz einfach. Eine solche Entwicklungsumgebung wäre z.B. Eclipse unter Verwendung verschiedener Bibliotheken zur Erzeugung graphischer Benutzeroberflächen.
In diesem Kurs wird ein anderer Ansatz verfolgt: Die Entwicklungsumgebung Lazarus basiert auf der Programmiersprache FreePascal. FreePascal ist zwar als Programmiersprache nicht besonders in Mode, allerdings auch keine reine Lernsprache sondern eine Sprache, die viele Aspekte auch der objektorientierten Programmierung sehr klar umsetzt.
Die größte Stärke von Lazarus liegt in der komfortablen Erzeugung von graphischen Benutzeroberflächen und der teil-automatisierten Verknüpfung mit dem eigentlichen Programmcode, die viele „hässliche“ Details der Oberflächenprogrammierung von der eigentlichen Kreativ-Arbeit des Programmierers trennt und letzterem eine Konzentration auf das Wesentliche vereinfacht.
Dieser Vorteil wird in diesem Kurs ausgenutzt, um die Prinzipien objektorientierter Programmierung im Zusammenhang mit selbst programmierten Computerspielen zu erlernen.