> Hallo zusammen,
>
> bedingt durch die Vorgaben des Zentralabiturs 09 in NRW muss ich von
> dem imperativen Ansatz Abschied nehmen und mit der jetzigen 11
> objektorientiert in Delphi oder Java-Syntax arbeiten. Anderenfalls
> könnten wir das Abitur im 3.Fach nicht mehr anbieten. Datenbanken und
> Netzwerktechniken sehe ich für mich nicht als Alternativen.
Ist es denn so gedacht? In NDS darf in Informatik auf keines der ge-
nannten Dinge verzichtet werden, es kommen noch technische und theo-
retische Informatik hinzu...
> Java ist Kaffeetasse,
Welch ein Argument... :(
> deshalb fiel meine Wahl auf Delphi-kompatibel und dort
> dann auf Virtual-PASCAL 2.1, weil es kostenlos ist und neben Windows
> auch die Plattformen OS/2 und Linux unterstützt.
Java unterstützt "alle" Plattformen...
> Ein wesentlicher Grund für den Paradigmenwechsel liegt ganz sicher in
> den Möglichkeiten der Fenster-Programmierung von Windows und der damit
> möglichen Ereignissteuerung der Objekte. VP hat aber diesen visuellen
> Baukasten zur Erstellung von Formularen nicht, so dass diese
> Möglichkeit ohne direkten Zugriff auf das Windows-API nicht
> realisierbar ist.
Für Java bekommst du kostenlos wunderbare Entwicklungsumgebungen...
> Deshalb bleibt nur das 80*25 Zeichen Fenster mit ReadLn und WriteLn
> zur Ein- und Ausgabe. Damit kann man dann aber nur schlecht so etwas
> wie Ereignissteuerung realisieren, man müsste sonst im Grunde jede
> Applikation aus mehreren Threads aufbauen, wobei ein Thread ständig
> Tastatur und Maus abfragt und Nachrichten an eine Schlange schickt,
> die dann die in einem zweiten Thread laufende eigentliche Aplikation
> abfragt. Ich brauche also ein Betriebssystem im Betriebssystem...
>
> Gibt es dafür bereits Beispiele? Kennt jemand Links zu Beispielen, die
> sinnvoll OOP ohne das GUI von Windows einsetzen? Das Verschicken von
> Nachrichten zwischen Objekten geht ja noch, aber die Reaktion auf
> Events scheint mir ohne GUI nur schwer möglich.
>
> Oder anders formuliert: Kennt jemand andere Beispiel als "Stifte und
> Mäuse" oder "Windmühlen"? Gibt es es auch etwas Sinnvolles im reinen
> Textmode?
>
> Der Tipp, doch mit Deplhi bunte Bildchen zu malen, ist für mich nicht
> akzeptabel. Für _*alle*_ anderen Tipps wäre ich sehr dankbar!
Sieh dir mal das www.java-hamster-modell.de an, vielleicht findest du
da genau das, was du suchst.
MfG Christian
das ist jetzt ein Argument wofuer?
> deshalb fiel meine Wahl auf Delphi-kompatibel und dort
> dann auf Virtual-PASCAL 2.1, weil es kostenlos ist und neben Windows
> auch die Plattformen OS/2 und Linux unterstützt.
Wenn schon "delphi kompatibel" warum dann nicht delphi selbst?
Delphi ist zwar nicht wirklich frei aber es gibt sehr preisguenstige,
quasifreie "community editions", man benoetigt auch nicht die neueste
Version, aber Version 3.0 hat man schon alles Wichtige. Und mit Kylix
gibt es auch eine Linuxversion von Delphi.
>
> Ein wesentlicher Grund für den Paradigmenwechsel liegt ganz sicher in
> den Möglichkeiten der Fenster-Programmierung von Windows und der damit
> möglichen Ereignissteuerung der Objekte.
> VP hat aber diesen visuellen
> Baukasten zur Erstellung von Formularen nicht, so dass diese
> Möglichkeit ohne direkten Zugriff auf das Windows-API nicht
> realisierbar ist.
>
Wieso verwendest du dann VP statt Delphi/Kylix oder Java ?
> Deshalb bleibt nur das 80*25 Zeichen Fenster mit ReadLn und WriteLn zur
> Ein- und Ausgabe. Damit kann man dann aber nur schlecht so etwas wie
> Ereignissteuerung realisieren, man müsste sonst im Grunde jede
> Applikation aus mehreren Threads aufbauen, wobei ein Thread ständig
> Tastatur und Maus abfragt und Nachrichten an eine Schlange schickt, die
> dann die in einem zweiten Thread laufende eigentliche Aplikation
> abfragt. Ich brauche also ein Betriebssystem im Betriebssystem...
>
Du brauchst eigentlich nur _nicht_ VP benutzen, wenn dich diese
Einschraenkungen stoeren (wie man sich bettet so liegt man)
> Gibt es dafür bereits Beispiele? Kennt jemand Links zu Beispielen, die
> sinnvoll OOP ohne das GUI von Windows einsetzen? Das Verschicken von
> Nachrichten zwischen Objekten geht ja noch, aber die Reaktion auf
> Events scheint mir ohne GUI nur schwer möglich.
>
"Sinnvoll OOP" einsetzen kann man in fast jedem Programm. Allerdings
wuerde ich Gui nicht "kuenstlich" aus einem Kurs.
> Oder anders formuliert: Kennt jemand andere Beispiel als "Stifte und
> Mäuse" oder "Windmühlen"? Gibt es es auch etwas Sinnvolles im reinen
> Textmode?
>
Kleinere Mathematik oder Physikprogramme und verschiedene Simulation
lassen sich auch gut im Textmodus erstellen.
> Der Tipp, doch mit Deplhi bunte Bildchen zu malen, ist für mich nicht
> akzeptabel. Für _*alle*_ anderen Tipps wäre ich sehr dankbar!
>
Eine Fuelle von Beispielen (allerdings oft auch unter Verwendung von
GUI) findet sich z.B. hier:
http://www.emu-online.de/
http://www.vlin.de/
>
> MfG / Regards
>
> Peter Engels
>
Also ich sehe das so:
_Entweder_ du moechtest ein eventbasierte Programme schreiben, dann
mache es "richtig" und mit Gui statt im Textmode _oder_ es geht nur
darum in OOP Programme zu entwickeln (ohne Zeit darauf zu verschwenden
eine Gui zu lernen), dann nimm Beispiele bei denen die Eingabe eher
nebensaechlich ist bzw. zur Not nach dem uralt Schema
Eingabe->Verarbeitung->Ausgabe und in Verarbeitung steckt dann eben OOP
basiertes Programm (z.B. laesst man nach der Eingabe eine Simulation
laufen und gibt dann die (zusammengefassten) Ergebnisse aus).
>
> Vielleicht sehe ich da aber auch einfach nur zu schwarz: In den
> Vorgaben steht nämlich einerseits, dass keine Formular- und
> Delphi-Klassen Kenntnisse vorausgesetzt werden. Anderseits ist die
> Steuerung durch Ereignisse aber ausdrücklich erwähnt. Vielleicht meinen
> die mit Ereignis aber auch einfach nur Nachrichten von einem Objekt zum
> anderen?
>
Hmmm... ich weiss ja nicht wie das genau in den Vorgaben formuliert ist,
aber entweder man fuellt die Luecken selbst oder man muss eben beim
Kultusministerium dann nachfragen (Ereignisverarbeitung ohne Gui oder
Threads in Delphi).
Ist die Verfuegbarkeit von OS/2 ein ernsthaftes Kriterium?
Laufen die Schulrechner unter OS/2?
>> Wieso verwendest du dann VP statt Delphi/Kylix oder Java ?
>>
> Weil VP auch für OS/2 verfügbar ist.
Fuer Java gilt das auch, aber wohl nicht (mehr) fuer
die neueste/aktuelle Version.
>
>>> Deshalb bleibt nur das 80*25 Zeichen Fenster mit ReadLn und WriteLn zur
>>> Ein- und Ausgabe. Damit kann man dann aber nur schlecht so etwas wie
>>> Ereignissteuerung realisieren, man müsste sonst im Grunde jede
>>> Applikation aus mehreren Threads aufbauen, wobei ein Thread ständig
>>> Tastatur und Maus abfragt und Nachrichten an eine Schlange schickt, die
>>> dann die in einem zweiten Thread laufende eigentliche Aplikation
>>> abfragt. Ich brauche also ein Betriebssystem im Betriebssystem...
>>>
>> Du brauchst eigentlich nur _nicht_ VP benutzen, wenn dich diese
>> Einschraenkungen stoeren (wie man sich bettet so liegt man)
>>
>> "Sinnvoll OOP" einsetzen kann man in fast jedem Programm. Allerdings
>> wuerde ich Gui nicht "kuenstlich" aus einem Kurs.
>>
>>
>> Kleinere Mathematik oder Physikprogramme und verschiedene Simulation
>> lassen sich auch gut im Textmodus erstellen.
>>
> Mittlerweile habe ich im Netz auch einiges gefunden.
>
> Nur das eigentliche Problem bleibt immer noch: Ereignsisteuerung durch
> Maus und Tastatur im Textmode :-( Unter DOS oder OS/2 bekäme ich das
> mit Threads wohl hin, ich hatte die Hoffnung, dass es soetwas irgendwo
> für Windows fertig gäbe.
>
Naja ohne VP schon, aber bzgl VP kann ich da leider nicht weiterhelfen.
vielleicht ist das Folgende eine brauchbare Alternative:
http://en.wikipedia.org/wiki/Lazarus_%28software%29
http://en.wikipedia.org/wiki/Free_Pascal
> bedingt durch die Vorgaben des Zentralabiturs 09 in NRW muss ich von
> dem imperativen Ansatz Abschied nehmen und mit der jetzigen 11
> objektorientiert in Delphi oder Java-Syntax arbeiten. Anderenfalls
> könnten wir das Abitur im 3.Fach nicht mehr anbieten. Datenbanken und
> Netzwerktechniken sehe ich für mich nicht als Alternativen. Java ist
> Kaffeetasse, deshalb fiel meine Wahl auf Delphi-kompatibel und dort
> dann auf Virtual-PASCAL 2.1, weil es kostenlos ist und neben Windows
> auch die Plattformen OS/2 und Linux unterstützt.
Hmm... also da würde ich in jedem Fall für Java plädieren, allein schon
wegen der syntaktischen Verwandschaft mit C bzw. der hohen Ähnlichkeit zu
C#.
Ich meine: wollen Sie den Schülern überhaupt aktuelles Knowhow vermitteln?
Falls ja, dann scheidet Pascal aus meiner Sicht aus.
Oder geht es vielmehr nur darum, lediglich "Fundamentals" zu lehren? (nach
dem Motto "so funktionieren objektorientierte Programme...")
>
> Ein wesentlicher Grund für den Paradigmenwechsel liegt ganz sicher in
> den Möglichkeiten der Fenster-Programmierung von Windows und der damit
> möglichen Ereignissteuerung der Objekte. VP hat aber diesen visuellen
> Baukasten zur Erstellung von Formularen nicht, so dass diese
> Möglichkeit ohne direkten Zugriff auf das Windows-API nicht
> realisierbar ist.
Fensterprogrammierung ist unter Java tadellos möglich, sofern Sie keinen
Wert auf plattformspezifische Elemente legen.
Aber auch dafür gibt es ja jetzt eine nette OO-Lösung: C#.
Kostenlose Entwicklungstools sind dafür ebenfalls zu haben, z.B.
SharpDevelop.
> Deshalb bleibt nur das 80*25 Zeichen Fenster mit ReadLn und WriteLn zur
> Ein- und Ausgabe. Damit kann man dann aber nur schlecht so etwas wie
> Ereignissteuerung realisieren, man müsste sonst im Grunde jede
> Applikation aus mehreren Threads aufbauen, wobei ein Thread ständig
> Tastatur und Maus abfragt und Nachrichten an eine Schlange schickt, die
> dann die in einem zweiten Thread laufende eigentliche Aplikation
> abfragt. Ich brauche also ein Betriebssystem im Betriebssystem...
Naja, der Vergleich ist schon ein wenig weit hergeholt, zumal die meisten
modernen Applikationen mit Threads arbeiten.
Aber ich gebe ihnen schon recht, als dass es für die Ausbildung an der
Schule unsinnig wäre so vorzugehen (käme einem einem didaktisches Desaster
gleich ;) ).
> Gibt es dafür bereits Beispiele? Kennt jemand Links zu Beispielen, die
> sinnvoll OOP ohne das GUI von Windows einsetzen? Das Verschicken von
> Nachrichten zwischen Objekten geht ja noch, aber die Reaktion auf
> Events scheint mir ohne GUI nur schwer möglich.
Beispiele gibt es genügend, jedoch sollte vielleicht ein anschauliches Thema
gewählt werden mit dem sich ein Schüler identifizieren kann.
Eine kleine objektorientierte "Notenverwaltung", die Schnitte berechnet und
Statistiken graphisch darstellt, wäre mit Java/C# oder Delphi in
überschaubarer Zeit zu realisieren. Wichtig ist nur, das sinnvolle
Klassen/Objekte erstellt werden können, möglichst mit Kapselung, Reflection
oder Polymorphie.
> Der Tipp, doch mit Deplhi bunte Bildchen zu malen, ist für mich nicht
> akzeptabel. Für _*alle*_ anderen Tipps wäre ich sehr dankbar!
Mal eine ganz andere Frage: wieso die Notwendigkeit für OS/2?
Dieses Betriebssystem wird vom Hersteller nicht mehr unterstützt, ist somit
ein Auslaufmodell.
> MfG / Regards
>
> Peter Engels
Beste Grüße,
Martin
Dipl.-Wirt.-Inf (FH)