[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: C++



On Sun, 2009-01-04 13:22:16 +0100, Ralf Gesellensetter <rgx@gmx.de> wrote:
> Am Sonntag 04 Januar 2009 schrieb Jan-Benedict Glaw:
> > Einfache GTK+-Programme lassen sich recht gut schreiben; Beispiele
> > dafür findet man en masse in der GTK+-Doku.
> 
> Hi, mag sein. Persönlich empfinde ich GTK-Programme unhandlich zu 
> bedienen. Das fängt schon bei der Dateiauswahlbox an. 

Soweit, eine Dateiauswahl-Box aufzumachen, würde ich in 8h /nie/
gehen. (Mal davon abgesehen, daß die Box an sich IMHO ziemlich gut
gemacht ist und um Größenordnungen besser ist, als das, was z.B.
native Windows- oder Java-Programme anbieten.)

> In der Schule wird in der Regel objektorientiertes Modellieren gelehrt - 
> Programmieren steht dabei im Hintergrund, jedoch hat man sich 
> irgendwann auf Java geeinigt, Python und Objektpascal werden toleriert.

Dann gehts nicht ums /Programmieren/, sondern um das /Modellieren/.
Das sinnvoll zu vermitteln, ist IMHO noch viel komplizierter, als
überhaupt das Programmieren in einer prozeduralen Sprache zu lehren.

Wie soll man (insbesondere objektorientiert) Modellieren können, bevor
man so halbwegs weiß, "was geht"?

> Es fällt den meisten von uns, die einmal imperatives Programmieren mit C 
> gelernt haben, schwer, nachträglich die objektorientierte Brille 
> aufzusetzen. Wenn man sich aber von Grund auf neu mit Softwaredesign 

Nicht wirklich, finde ich. Es hängt in vielen Fällen vom Problem ab,
ob funktionale, prozedurale oder objektorientierte Programmierung,
gerade auch im Zusammenhang mit der Wahl weiterer libraries, Sinn
macht oder sich geradezu anbietet.

Wenn man gleich mit Modellierung loslegt, ohne, daß bei den Schülern
Grundlagen geschaffen worden sind (einfache/native und
komplexe/strukturierte Datentypen, Verständnis für Arrays, verkettete
Listen, ...), wird man nur erreichen, daß Spezialfälle auswendig
gelernt werden. Wirklich etwas "sitzen" wird da hinterher nicht. Schon
garnicht in einer so kurzen Zeit.

> befasst (und das Rad nicht immer von Neuem erfinden möchte), gestaltet 
> sich der Einstieg in eine objektorientierte Programmierungebung 
> durchaus organisch.

...bei Problemen, die sich dafür anbieten: Ganz sicher ja.

Der Ansatz sollte IMHO sein, daß man hier ein Etwas hat, mit dem man
dieses und jenes (-> Methoden) machen kann. Aber in acht
Doppel-Stunden wird man IMHO vergeblich einführen, daß man auch ein
etwas anderes Etwas haben kann, das eigentlich genauso ist, nur in ein
paar Details ein wenig anders.

> Ich habe positive Erfahrung damit gemacht, mit einem einfachen 
> Qt/C++-Projekt zu beginnen, dieses zu analysieren, umzuschreiben und 
> anzupassen (GPL macht's möglich).

Qt? Warum gerade mit etwas anfangen, daß anders ist, als alles andere?

> Natürlich stellt sich die Frage, welches Alter und welche Vorkenntnisse 
> die Adressaten dieses Kurses haben.
> 
> Beispiele für Anwendungen, die in Qt-C++ geschrieben sind:
> - Skype
> - GoogleEarth
> - Merkaartor
> - KDE
> u.v.m.

Alles gute Beispiele--allen gemein ist, daß man sich gut überlegen
sollte, bei einer /Einführung/ etwas wie `moc' mit zu zeigen. Qt ist
ein sehr komplexes Macro-Paket mit viel Zauberei im Verborgenen. Das
zu /Verstehen/ ist eine steile Aufgabe für eine frische Einführung...

Wenns wirklich bunt und OOPisch sein soll, dann lieber gtkmm ("GTK--")
ausprobieren.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw@lug-owl.de              +49-172-7608481
Signature of:                     Eine Freie Meinung in einem Freien Kopf
the second  :                   für einen Freien Staat voll Freier Bürger.

Attachment: signature.asc
Description: Digital signature


Reply to: