Einzelnen Beitrag anzeigen
#10
Alt 13.01.07, 03:18:57
Zahl
Benutzerbild von Zahl
Senior Member
Registriert seit: 29.01.03
Alter: 38
Geschlecht: ♂
Beiträge: 11.522
IRC Zeilen: 181301
Quizrunden gewonnen: 76

Goldener Topposter Silberne Postauszeichnung Bronzener Topposter Blecherner Postaward Core-Award 

Zahl eine Nachricht über ICQ schicken
Mmmmh, erstes Programm, das is schon etwas her, was genau
es war weiß ich nicht mehr. Jedenfalls habe ich auf meinem PC-20
irgendwann GWBasic entdeckt, bzw. gemerkt dass man da einfach
Code schreiben kann und sofort starten. Also hab ich das dicke
Commodorebuch zu GWBasic stundenlang studiert, und irgend welche
sinnlosen Ratespiele, Adressverwaltungen (bei denen man nicht speichern
konnte, weil mich Dateioperationen total überfordert haben ) und
Enzyklopädien (die meist nur 3 Artikel enthielten und ein schönes
Auswahlmenü) geschrieben. Da war der Zahl noch n lütter Kerl, 8 oder 9 ..
Mit 10 oder 11 kam dann ein P166 ins Haus und da drauf hatte ich
kein GWBasic mehr, also wurde ne Zeit lang gat nicht mehr
programmiert.
In der 7. Klasse gabs dann ne Informatik AG, dort war Turbo Pascal 7
angesagt, wovon Delphi ja die Syntax übernommen hat.
Dort lief es dann idR so ab, dass der absolut humorlose Lehrer den
Quellcode für irgend ein Programm an die Tafel geschrieben hat (!) und
wir (JacK war mit von der Partie ) fleißig abgetippt. Danach
gabs dann meist noch 1 oder 2 Aufgaben in Form von Funktionen die
wir dem Programm selbst hinzufügen sollten. Da das meist aber viel
zu einfach und langweilig war, haben JacK und ich uns viel lustigere
Funktionen ausgedacht, nicht selten wurden dazu lustige ASCII Zeichen
benutzt, oder der PC Speaker vergewaltigt. Darauf reagierte der
Lehrer immer besonders empfindlich und böse. Ein Problem war dass
es getrennte Befehle gab um den Speaker einzuschalten und wieder
auszuschalten. Ein Programmierfehler, und das Piepen hörte nicht mehr auf,
selbst wenn man das Programm beendete. Da hab es dann zwei
Möglichkeiten: Entweder man hatte schon ein nosound-Programm
startbereit, das einfach nur den Speaker wieder ausschaltete, oder
man drückte einfach auf Reset und riskierte ungespeicherte Arbeit zu
verlieren. Egal was man nahm, wichtig war es zu schaffen bevor der
doofe Lehrer orten konnte welcher PC denn nun den furchtbaren Ton
produzierte.
Hab übrigens noch ein paar wenige der Programme von damals, mit
dabei waren ein einarmiger Bandit und Lotto...
Nach der 8. Klasse beschloss der Stinkelehrer dann erstmal ein Jahr
Segelurlaub zu machen, und es gab keine Informatik AG mehr.
In der 10. Klasse war er dann wieder da, und das stylishe Novel Netware
MS-DOS Netzwerk wich einem NT40/2000 Netzwerk. Hier wurde dann
mit Visual Basic 5 programmiert.
Zunächst war das ganze eine ziemliche Umstellung von der Denkweise.
Gehörte einem noch unter DOS mit TP7 der komplette Bildschirm,
musste man auf einmal mit Fenstern arbeiten die mit Buttons, Textfeldern
und ähnlichem zu füllen waren. Die ersten Programme die in der
AG geschrieben wurden waren auch relativ komisch, eine simulierte
Ampel, ein Taschenrechner mit 2 Textfeldern der +-*/ konnte....
Zumindest ich hab einige Zeit gebraucht für die Umstellung, einfach dass
man nun nichtmehr die komplette Bedienoberfläche für ein Programm
schreiben musste, sondern auf fertige Elemente zurückgriff.
In der 11. Klasse war dann plötzlich Delphi angesagt, allerdings hatte ich mir
bereits Visual Basic 6 gekauft, und da zwischen den beiden Sprachen
zumindest im normalen Bereich keine großen funktionalen unterschiede waren,
sah ich keinen großen Sinn darin mich weiter in Delphi zu vertiefen. Was
mich außerdem eher von Delphi wegtrieb war, dass es einfach nur fett
und träge war, zumindest im vergleich zu VB6. Die Installation von
Delphi dauerte ewig, zig Komponenten wurden installiert und die IDE war
langsamer als die von VB6. Außer den üblichen Standardprogrammen
hab ich in Delphi also nicht viel gemacht.
VB6 hingegen habe ich weiterhin benutzt, zeitweise weniger intensiv, aber
z.B. immer wenn kleine Alltagsprobleme am Rechner einfach gelöst werden
konnten, oder irgend welche Berechnungen automatisiert wurden (sowas
wie Alfs Abirechner hab ich mal für die Bundestagswahl mit den Sitzen etc.
gemacht) oder Dateien ausgewertet werden sollten.
Irgendwann kam ich dann auf die Idee mal was mit Netzwerk zu machen.
Erste Idee: Ein Chatprogramm. Der allererste Chat basierte auf der
gleichen Technik wie die "net send" Nachrichten von Windows, im
Hintergrund wurde einfach jede eingetippte Nachricht ans ganze Netzwerk
gesendet. Daher funktionierte das auch nur im LAN.
Die nächste Version (mitte 2002?) verwendete dann Winsocks = TCP/IP,
womit auch Internetverbindungen möglich waren. Das ganze war auch ein
kompletter lerning by doing Prozess, ich hatte zu Anfang keinen Schimmer
wie das TCP Protokoll funktioniert, daher gabs ständig für mich nicht
erklährbare Probleme.
Nachdem dann irgenwann Ende 2003 zwar alles funktionierte stand fest,
dass das ganze System und Protokoll hinter dem 2. Chat einfach nur
schlecht und ineffizient war, musste natürlich ein 3. Chat her.
Da ich zwischenzeitlich auch schon etwas an einem IRC Bot rumgebastelt
hab, habe ich das Protokoll für die neue Version an das IRC Protokoll
angelehnt, jedoch stellenweise stark vereinfacht, da einfach nicht
ein so großer Funktionsumfang benötigt wurde. Größter Unterschied war
immernoch, dass es bei mir keine Channels gab, d.h. wenn man zum
Server verbunden war, sah man eben alle Leute und konnte direkt
loslabern. Diese Chatversion hielt dann etwa bis Ende 2004. Auch hier
bin ich wieder an die Grenzen des Designs gestoßen, z.B. habe ich
zuletzt die Möglichkeit integriert, mehrere Server zu einem Netzwerk zu
verbinden, wie es auch beim IRC möglich ist, jedoch funktionierte das
einfach nicht zuverlässig.
Nächste Version (4), wieder ein Zahlscher Meilenstein . Diesmal sollte es
Channelsupport geben. Mittlerweile hatte ich mich mit objektorientierter
Programmierung vertraut gemacht, daher wollte ich die vielen Vorteile dieses
Konzeptes für die nächste Version nutzen. Es sollte Klassen für verschiedene
Verbindungsarten geben, dies ermöglichte es z.B. sehr einfach, mehrere
Clientprotokolle zu implementieren. So habe ich zunächst den Server
programmiert, und gleichzeitig die Unterstützung für das neue und das
letzte Chatprotokoll implementiert. Man konnte also bereits den neuen
Server nutzen, ohne dass es einen neuen Client gab, da der neue
Server ja den alten Client unterstützte.
Durch das objektorientierte Konzept ließ sich diese Chatversion bis
jetzt am besten erweitern und warten, ist also immernoch im Einsatz..
Über die Zeit ist noch zusätzlich Unterstützung für das IRC- und
das HTT-Protokoll hinzugekommen, das Verbinden von Servern konnte
auch erfolgreich implementiert werden.
Channels, User, andere Server etc. werden jeweils durch ein Objekt
repräsentiert.
Allerdings muss ich sagen, dass ich hier schon das ein oder andere Mal
an die Grenzen von VB6 gestoßen bin, weshalb das Projekt mittlerweile
auch nicht mehr so schön ist, wie ich es gern hätte.
Nervig ist z.B. auch dass man den Code nicht wirklich auf anderen Systemen
als Windows nutzen kann.
Geplant war hierfür eigentlich eine Portierung des Codes auf C++, allerdings
ist hierfür seit Unibeginn einfach absolut keine Zeit.
Nuja, nebenbei habe ich dann auch etwas C++ gemacht, und seit nem
Jahr dann auch PHP in Verbindung mit MySQL, für das Script auf den TM
Servern...
An der Uni lernen wir jetzt Java, eigentlich eine sehr geile Sprache vom
Konzept her, die JVM hingegen kann ich nicht ab. Da sind Java Programme
eben leider vergleichsweise Ressourcenfressend.

Das nur mal so als kleiner Abriss... ^^


風向轉變時,有人築牆,有人造風車