WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   fortgeschrittene programmierung lernen (http://www.wcm.at/forum/showthread.php?t=125893)

Biri 20.02.2004 15:46

fortgeschrittene programmierung lernen
 
hi !

Momentan programmiere ich gerade an einem ActiveX-control.
Der Source war frei verfügbar und ich erweitere dieses nun.

Ich programmiere nun schon längere Zeit C++, MFC und habe auch mit C# begonnen.

Ich finde es immer wieder interessant, wenn man sich codebeispiele ansieht, wie manche leute gewisse probleme gelöst haben.
Ich meine - es ist doch ein großer unterschied, ein einfaches beispielprogramm zu implementieren (wie man diese immer in Büchern findet) oder z.B. ein ActiveX-Control, welches notifications an das Parent- Window schicken muss, von OLEControl abgeleitet ist und daher z.B. den Curosr selbst zeichnen muss, alle Tastatureingaben selbst verarbeiten muss usw.

So etwas ist ja nicht gerade einfach (finde ich) und erfordert schon einiges an Hintergrundwisse
über die Abläufe von Windows.

Wenn man sich Bücher anschaut, werden darin meist nur die Basics behandlet.
...wie zeichne ich einen Button in meinen Dialog, wie zeige ich ein Bild an usw.

Bisher habe ich aber noch kein gutes Buch gefunden, wo "fortgeschrittene" Themen
gut erklärt werden. Die gesamte MSDN-Hilfe zu lesen ist etwas...hmmm "aufwändig". :)

Wie kann man sich solches Wissen aneignen bzw. Welche Bücher verwendet ihr, um solche Dinge zu lernen ?
Gibt es für soetwas überhaupt Bücher, oder muss man sich alles selbst erarbeiten ?

Noch ein Beispiel: Es gibt ja Softwarefirmen, die fertige Komponenten anbieten (z.B. für MFC).
Wo/Wie lernt man, soetwas zu programmieren - z.B. Controls, die man in MFC einbinden kann und
die sich hinsichtlich Focus, Validation, sich selbst zeichnen usw. korrekt verhalten ?

Würde mich sehr für eure Erfahrungen diesbezüglich interessieren !

fg
-hannes

Flink 22.02.2004 21:09

http://mandrake.safaribooksonline.co...afari_logo.gif

Biri 23.02.2004 08:19

hi & guten morgen !

@flink: das ist doch einfach ein buchversand, wie z.B. amazon, oder ? kannst du eines der dort angebotenen bücher im speziellen empfehlen ?

angeblich soll es für control-programmierer einen kurs geben, wo man das lernen kann. soll in england sein, 1/2 jahr dauern + sauteuer sein....nicht ganz das, was ich suche.

fg
-hannes

kikakater 23.02.2004 08:32

1. bei einer Firma als Programmierer anfangen
2. sich zusätzlich so etwas als längeres Projekt vornehmen
3. den Umstand, daß es 10 Jahre dauert bis man diese Dinge parat hat, gelten lassen

Niemand ist ein Supermensch. Daß einem Material zu dieser Thematik (Fensterprogrammierung) in die Hände fällt ist ein Teil des Ganzen.

Biri 23.02.2004 08:41

hi !

@kikakater:
ad 1) ich arbeite als programmierer bei einer Fa. - deshalb gerade (bzw. u.a.) interessiert mich sowetwas ja. :)
ad 2) ist recht schwierig. im beruf ist man andauernd mit dingen konfrontiert, die einer schnellen lösung bedürfen. und in meiner freizeit mach ich lieber interessante dinge, als msdn hilfe auswendig zu lernen (wobei noch anzumerken ist, dass auch die darin enthaltenten beispiele oftmals fehler haben).
ad 3) das schlimme ist, dass du damit vermutlich recht hast...

supermensch will ich eh keiner sein - dass superman noch nebenbei gearbeitet hat war ja einen verschwendung seiner möglichkeiten. ;)
na - ist ja fasching !

ist halt so, dass die meinsten bücher, die ich kenne als einstieg ins programmieren gedacht sind und ich mal fragen wollte, welche guten bücher ihr kennt/habt, die sich mit fortschrittlchen themen beschäftigen.

fg
-hannes

kikakater 23.02.2004 09:09

Ich finde nicht, daß Punkt 3 etwas Schlimmes vermittelt. In Bezug auf C++ wohl schon, da bereits alles entwickelt ist oder während der eigenen Entwicklung entwickelt wird.

Bei Java ist das grundsätzlich anders.

1) Es ist nach Regeln vorzugehen, Programmieren war lange Zeit genug eine "Kunst", viel eher ist aber Flickschusterei gemeint
2) Um gut programmieren zu können, brauche ich Libraries oder Black boxes die den Job machen, bei C++ ist der Programmierer von daher eher ein Pseudo Pionier, tatsächlich ein Sklave der Entwicklungen der Zeit, weil es andere schon vollbracht haben (und es proprietär verwenden ohne es zugänglich zu machen)
3) Programme müssen abgeschottet sein gegenüber Hardware (ein Hardware Modul, von dem ich vorher gesprochen habe, dient anderen Zwecken) und Skriptingfähigkeiten anbieten, das tut C++ nicht und ist ungefähr so, wie eine scharfe Stahltrasse, die mit Wucht an die Seite eines Armes prallt und die nämlichen Folgen einer Verletzung liefert ...

Java ist in diesem Zusammenhang der beste Kompromiß und vom Ansatz her durch eine Virtuelle Maschine unschlagbar - außer durch eine Erweiterung der Virtuellen Maschine.

iX über JDK 1.5

Mit Java verkürzt sich die Zeitspanne von 10 Jahren auf 2,5 Jahre (Perfektion) + 2 Jahre (Grundwissen über das Programmieren allgemein)

Java ist das beste was es für Programmierer gibt. Gleichgültig um welche Aufgabe es sich handelt.

Die Virtuelle Maschine ist notwendig, aber dies darf beim denkenden Anwesenden als notwendiger Umstand vorausgesetzt werden.

Who-T 23.02.2004 09:28

Zitat:

Original geschrieben von kikakater
Java ist das beste was es für Programmierer gibt. Gleichgültig um welche Aufgabe es sich handelt.
najo
ich hab im letzten halben jahr auf einem msp430 herumprogrammiert.
2kb ram, 64 kb rom, 4 mHz

java is da wirklich net das beste

ein projekt von mir (java am ipaq) haben wir fallengelassen weil java zu langsam war. wir habens in C neuprogrammieren müssen.

java - die sprache selbst - mag ja ganz fesch sein (hierbei ist auch c# net übel) aber es gibt einige sachen die mir abgehen (pointer, function pointers, etc). und die geschwindigkeit ist ein graus

Biri 23.02.2004 09:32

hi !

Werd mir den iX Artikel mal durchlesen.

Dein Posting betrifft zwar nun nicht mehr die von mir angesprochene Thematik (gute Bücher für fortgeschrittene Windows programmierung) ;) - aber ich schreib halt mal, was ich so darüber denke.

Erstmal: Es ist schon länger her, dass ich was mit Java gemacht habe - damals hats mich nicht begeistert.
Dass es C++ bzw. der Win. Programmierung mit C++ überlegen ist, denke ich schon - man muss allerdings berücksichtigen, dass C ja im Zeitalter der prozedurealen Programmierung entwicklet wurde und für die Event-gesteuerte Win-Programmierung halt nicht gerade das geeignetste Tool ist. Durch diverse Erweiterungen hat man dann erreicht, dass man damit Win. programmieren kann, nur leider ist das ganze dadurch extrem kompliziert geworden.
Anscheinenden ist sich MS dieser Problematik aber durchaus bewusst und hat daher z.B. C# entwickelt.
Dieses hat ja seht viele Ansätze von Java übernommen und die Win. Programmierung damit ist sicher einfacher wie mit native C++ bzw. C++ mit MFC.

Würdest du daher sagen, dass man sowieso nur noch auf C# oder Java setzen sollte und seine Zeit darin inverstieren sollte, um diese Sprachen zu meistern ?

...werd mich nach der Faschingszeit mal wieder mal mit Java beschäftigen, nachdem du das ja sehr empfielst - :)
war, wie gesagt, am Anfang, als ich damit begonnen habe, ziemlich enttäuscht (ist aber schon 3 jahre her).
Die in Java implementierten Oberflächen waren damals ja langsam und hässlich. (imho)

fg
-hannes

PS: Deine Aussage "Java ist das beste was es für Programmierer gibt. Gleichgültig um welche Aufgabe es sich handelt." halte ich schon für etwas gewagt.

kikakater 23.02.2004 09:38

C# ist konzeptmäßig der Nachfolger von Visual Basic, das Konzept lautet: "Ich möchte, daß die Programmierer für Windows programmieren und nicht für irgendein anderes System".

Java ist derzeit für Windows das beste, bald (mit der Einführung von Y Version 1.x) ist dies auch für Linux oder Unix im allgemeinen der Fall. Und Zeta ist auch nicht zu vernachlässigen.

Biri 23.02.2004 09:46

hi !

also C# mit visual basic zu verlgeichen, finde ich nicht richtig. ich habe mit beiden sprachen programmiert und der unterschied bezüglich der funktionalität ist schon enorm.

das MS damit versucht, leute zur Win. programmierung zu animieren ist natürlich klar und kann man als "nachteil" gelten lassen.

Das eine Programmiersprache eines Konkurrenten (i.d. Fall java von sun) besser zur Programmierung von Windows als eine von MS entwickelte Programmiersprache ist, kann ich nicht ganz glauben.
hinsichtlich unix/linux programmierung ist das sicher anders.

fg
-hannes


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag