Interview mit Andreas Meile ("Dreael")einem der erfahrensten deutschsprachigen QBasic-Programmierer© Thomas Antoni, März 2001Andreas Meiles Heimseite: Allgemeiner Einstieg |
Vorwort von Thomas AntoniIn dem folgenden Interview, das der "Dreael" mir gewährt hat, erfahren Sie mehr über den Werdegang und das Computer-Umfeld, in dem Andreas sich heute bewegt. Thomas: Dreael, wie alt bist Du? Dreael: Ich bin geboren am 9. November 1971. Weitere Details über mich. Thomas: Wo wohnst Du Dreael: Bin in Hofen, Schweiz (Lage, Abbildung von zu Hause) daheim. Als Grenzbewohner (deutsche Nachbargemeinde ist D-78250 Tengen-Büsslingen; spaziere mit dem Hund über die Grenze) bin ich übrigens nicht selten auch mal in D-78224 Singen (Hohentwil) am Einkaufen. Daher habe ich ausser Schweizer Franken auch fast immer etwas Deutsche Mark irgendwo bereitliegen...: -) Thomas: Was machst Du ausbildungs- bzw. berufsmäßig? Dreael: Beruf: als Informatiker tätig (3 Jahre an der Uni [seinerzeit noch HTL {Höhere Technische Lehranstalt}, jetzt FH {Fachhochschule}]) bei onsite solutins ag in Winterthur. Derzeitiges geschäftliches Projekt: LANcheck. Thomas: Sag doch mal ein paar Worte zu Deiner Webseite. Dreael: Existiert schon seit 1995 (damals noch auf dem UNIX-Rechner der Uni). Grundidee: "Best viewed with ANY browser" unter 100%iger Einhaltung der offiziellen Standards und Empfehlungen vom W3C. Inhaltlich: Soll weltweit möglichst jeden ansprechen, daher auch auf englisch und französisch und diverse Themen. Thomas: Sag doch mal ein paar Worte zu Deinen QBasic-Programmen. Dreael: Als gelernter Software-Ingenieur legt man mittlerweile Wert auf sauberes Software-Design => also Einsatz von TYPE s im Sinne von
objektorientierter Programmierung und SUB s/FUNCTION s.
Themengebiet: Ziemlich breit gestreut. Favorit: Direkter Internet-Zugriff aus
QB heraus.
Thomas: Wie war Dein Werdegang als Programmierer? Dreael: Siehe Website! Sonst ganz kurz & bündig: 1985 erster Commodore 64 (NB: Heute gibt es gute Emulatoren wie z.B. "vice" unter Linux zu diesem Brotkasten!), 1988 Amiga 500 => AmigaBASIC (ein alter A4000er befindet sich jetzt noch im LAN, der A500 lebt in Form von WinUAE [brillianter Amiga-Emulator] auch jetzt immer noch weiter), 1990 erster 286er (mit Azubi-Lohn selber finanziert. Damals noch ein halbes Vermögen für einen Azubi!) => GW-BASIC. QBasic kam noch etwas später dazu. 1994 einer der ersten Pentium (60 MHz) im Einsatz. 1995 Beginn Studium und damit Kennenlernen anderer Programmiersprachen. Thomas: In welchen Sprachen programmierst Du? Dreael:
Dreael: Da ist was dran. Als Berufsinformatiker bin ich mittlerweile ein regelrechter Servermensch geworden, der seinen Apache (Linux) bzw. IIS (Windows NT/2000) genauso einfach verwalten können will wie Du den Webbrowser auf Deinem Privat-PC aufrufst... :-) Vielleicht noch ein historischer Rückblick: Meine Internet-Karriere (wenn man das so sagen kann) begann Ende 1995 an der Uni. Schon sehr früh bemerkte ich, als ich jeweils am Abend zusammen mit anderen Studenten am Homepage basteln war, dass es ganz ehrlich gesagt nicht das Gelbe vom Ei ist, wenn man kein "root"-Passwort besitzt und nicht in der Lage ist, an der Konfiguration des WWW-Daemons beliebig Anpassungen machen kann, z.B. kein "401 Authorization Required"-Passwort aufsetzen oder ein CGI-BIN-Script einsetzen kann. Dies änderte sich jedoch ziemlich rasch, als ich zum Einen bei mir daheim das erste Linux installierte und zum Anderen an der Uni ein Jahr lang Laborunterricht hatte, wo mir eine DEC Alpha Workstation 1 Jahr vollständig zur Verfügung stand: Endlich konnte ich nach Herzenslust wie ein Profi meine <FORM method="post" action="/cgi-bin/MeinEigenesCProgramm.cgi"> machen ... :-)) Das Schöne war dabei noch, dass sämtliche Workstations offizielle IP-Adressen besassen, d.h. keinerlei Firewall/Proxy-Server dazwischen, so dass man auch von jedem 0815-DialUp-Anschluss aus weltweit draufkam... Und mittlerweile bin ich es halt beruflich gewöhnt, den Serverraum gleich eine Türe neben mir zu haben, so dass die Erstellung einer Website halt nicht bloss aus reinem Draufspielen von statischen Dateien besteht, sondern auch mal bei Bedarf in der Microsoft Management Console ein Verzeichnis entsprechend konfiguriert werden kann. Zu einem http://www.kundevonuns.ch/ ein http://subdomain.kundevonuns.ch/ einzurichten, ist daher häufig nur noch ein Vorgang von ein paar Mausklicks (virtuelle Domain einrichten). Auch rasch eine SQL-Server-Datenbank anlegen, sobald irgendwelche Daten anfallen, ist bei mir Selbstverständlichkeit geworden. Mein Kollege, der ja bei sich privat das kostenlose FreeBSD (GNU Lizenz wie Linux!) bei seinen Rechnern einsetzt, verwendet auch PHP und MySQL als entsprechende Möglichkeiten. Zur Zeit bin ich sogar dran, das eine oder andere mit ihm zusammen zu installieren (wir arbeiten sehr viel online per Telnet zusammen!). Darum mag ich mittlerweilen keine Hosting-Provider mehr: Da musst Du jedesmal lange "Bittibätti" machen, bis er einem z.B. CGI-BIN zulässt, eine SQL-Datenbank einrichtet usw. Kurz & bündig: Ich will mein eigener Verwalter des ganzen Servers sein! :-) ... Thomas: Kannst Du einige Worte zu Deinen momentanen Projekten sagen? Dreael: Momentan steht eigentlich nicht ein QBasic-Projekt im Zentrum, viel mehr ist es das schon seit 4 Jahren abklärungsmässig laufende Projekt mit der eigenen Standleitung ins Internet damit ich endlich dasselbe wie mein Kollege tun kann, welcher qbasic.at für uns hostet. Unter anderem gehört dazu auch der Betrieb eines permanent laufenden Servers für Online-Rasterbike! Anmerkung von Thomas: QBasic.at ist die neue gemeinsame Webseite der deutschsprachigen QB-Webmaster. Wer hierzu etwas beitragen möchte, wende sich bitte an Dreael ,NetZman oder an Thomas Antoni.) Thomas: Was rätst Du einem QB-Programmierer, der sein Game netzwerkfähig machen will, z.B. über TCP/IP oder IPX? Dreael: Kurz & bündig: Im heutigen Internet-Zeitalter hat sich eigentlich überall flächendeckend das TCP/IP-Protokoll durchgesetzt, daher sollte man am besten alles übrige besser nicht mehr verwenden. In Klartext: IPX komplett vergessen! In der Firma emfehlen wir dies eigentlich jedem Kunden auch so. Ausserdem empfiehlt es sich, beim Hardware-Einkauf etwas Sorgfalt walten zu lassen, damit man sein "Packet Driver"-Netzwerk bzw. DOSPPP-Dialup-Zugang erfolgreich zum Laufen bringt. => Ausdrückliche Nicht-Empfehlung von internen Modemkarten und USB-Modems! => Ideal: externes Hayes-Befehlssatz (AT-Kommandos) kompatibles Analogmoden oder externer ISDN-Terminaladapter. LAN: hochwertige Marken-Netzwerkkarten von 3Com. Empfehlenswerte Entwickler-Hardware-Infraktruktur: Mindestens 3 PCs, vernetzt zu einem LAN, der eine unter Linux aufgesetzt als NAT (Numeric Address Translation)-Gateway (ISDN-Karte dort eingebaut bzw. Modem angeschlossen). Auf den beiden übrigen "Packet Driver"-Netzwerk und WATTCP.CFG sauber konfiguriert. => auf dem Linux-Rechner schreibt man den Server, während man auf den beiden übrigen Rechnern den Client schreiben und vor allen Dingen testen kann. Thomas: Was rätst Du einem QB-Programmierer, der aus seinem Programm heraus aufs Internet zugreifen will, z.B. eMails versenden will? Dreael: Studium der entsprechenden Netzwerk-Protokolle zuerst. Beispiel e-Mail: SMTP (Simple Mail Transfer Protocol) nach RFC819, RFC821 und RFC822 in diesem Fall. Anschliessend sollte man aus Linux oder Windows heraus etwas mit Telnet auf Port 25 spielen gehen: Mail versenden. In diesem Fall wäre dies z.B. HELO pc1.antonis.loc, MAIL From: thomas@antonis.de, RCPT To: andreas@hofen.ch, DATA und etwas Text mit . am Schluss und QUIT. Anschliessend hat man das Ganze in seinem QBasic-e-Mail-Client exakt so zu implementieren, und schon sollte eigentlich der e-Mail-Versand funktionieren!: -) Siehe sonst http://dreael.catty.ch/Deutsch/BASIC-Knowhow-Ecke/InternetMitQuickBASIC.html (später einmal unter http://www.hofen.ch/~andreas/Deutsch/BASIC-Knowhow-Ecke/InternetMitQuickBASIC.html erreichbar) Thomas: Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS? Dreael: Microsoft will am liebsten nichts mehr damit zu tun haben (obwohl Windows 2000 immer noch den DOS-Zeichensatz im Prompt-Fenster verwendet). Bekanntlich halte ich mich noch viel im Usenet (Newsgroups) auf, und zwar alt.lang.basic, comp.lang.basic.misc und microsoft.public.basic.dos und verfolge natürlich dort die Diskussionen. Im Internet läuft derzeit ein FreeDOS-Projekt (auch DR-DOS verdient an dieser Stelle Beachtung). Ich habe mir auch schon überlegt, warum nicht einmal ein eigenes BASIC entwickeln und habe ein Teil der Programmspezifikationen hier dokumentiert. Ziel wäre meinerseits, dass SVGA-Libraries überflüssig werden sollten, d.h. man sollte z.B. SCREEN 19 und PSET(1013, 762), 253 schreiben
können (man soll sich nicht unnötig an etwas neues gewöhnen müssen!), um
beispielsweise 1024×768 Pixel verenden zu können. Eine
callback-funktionsbasierte Treiberschnittstelle sollte dabei eine
Selbstverständlichkeit sein, damit exotische Grafikkarten ohne
VESA-Schnittstelle ebenfalls verwendet werden können: Treiber entwickeln,
der z.B. SCREEN 97 und SCREEN 98 bereitstellt. Ganz
ähnlich auch bei Sound.
Thomas: Auf welche Windows-Programmiersprache sollte ein QB-Fan aufsteigen - wenn er nur hobbymäßig programmieren will und wenn er einen IT-Beruf anstrebt? Dreael: Kommt auf die Kenntnisse an! In den NG wird häufig Liberty Basic als Geheimtip angegeben. FirstBasic (Anmerkung von Thomas: FirstBasic ist eine Freeware-Sparversion von PowerBasic) und XBasic und Visual Basic CCE (Control Creation Edition) (abgespeckte Version von VB, dafür kostenlos. Für ActiveX-Entwicklung konzipiert) werden in comp.lang.basic.misc auch häufig genannt, weil sie Freeware sind. Der offizielle Nachfolger ist aber Visual Basic (aktuell: Version 6). Allerdings muss ich jeden vorwarnen: Software-Entwicklung unter Windwos (32-Bit-Umgebung) mit GUI (Graphical User Interface [=typische, grafische Windows-Oberfläche]) ist etwas ziemlich komplett anderes, also ein riesiger Umstellungsschritt! Man muss viele neue Konzepte lernen wie COM/DCOM ([Distributed] Component Object Model) ereignisorientierte Arbeitsweise (man weist z.B. dem OnClick -Ereignis eine SUB -Prozedur zu).
Ausserdem ist alles objektbasiert, d.h. man sollte also mit Begriffen wie
Klasse, Instanz, Polymorphismus, Vererbung, Methoden, Properties wie dies jeder
Java- und C++-Entwickler kennt, ebenfalls genügend vertraut sein. In der Firma
realisierte ich auch schon kleinere Windows-Projekte, allerdings in Delphi
(Objective Pascal) statt VB.
Thomas: Was rätst Du einem QBasic-Spiele-Programmierer, der Animationen und Sound in seine Spiele hineinbringen will? Dreael: Siehe Artikel über flimmerfreie und butterweiche Animationen (künftig http://www.hofen.ch/~andreas/Deutsch/BASIC-Knowhow-Ecke/ButterweicheAnimationen.html) sowie Grundlagen Tonprogrammierung (künftig http://www.hofen.ch/~andreas/Deutsch/BASIC-Knowhow-Ecke/SOUND_Toene.html dazu! Kurz & bündig: Die Kunst ist die CPU-geschwindigkeitsunabhängige Programmierung (alles über TIMER ) sowie eine flimmerfreie (Double
Buffering!) Darstellung.
Thomas: Wie schafft man sich den nötigen freien Speicherplatz für seine Spiele? Dreael: In alt.lang.basic sowie comp.lang.basic.misc sind auch schon entsprechende Hilferufe erschienen. Nur soviel dazu: Mit Vorteil $DYNAMIC einsetzen und
die Feldvariablen, die man nicht mehr braucht, sofort wieder mit
ERASE freigeben. Und nicht zu vergessen: CONFIG.SYS
& AUTOEXEC.BAT wie in den guten, alten MS-DOS
6.22/Windows 3.1x-Zeiten optimieren (MEMMAKER oder von Hand, also
alles DEVICEHIGH und LOADHIGH ,
DOS=HIGH,UMB und EMM386.EXE NOEMS HIGHSCAN
aktivieren), damit möglichst viel konventioneller Speicher (die berühmten
640 KB) zur Verfügung steht.
Den heutigen Windowsanwendern möchte ich nur empfehlen, eine getrennte DOS- und Windows-Installation zu machen. z.B. ich habe überall je eine primäre DOS- (FAT 16bit) und Windows- (FAT 32bit) Partition und kann mit Hilfe eines Bootmanagers (Windows NT Bootloader und LILO von Linux in meinem Fall bequem zwischen MS-DOS 6.22 und Windows ME zum Arbeiten wählen. Thomas: Was hast Du für Zukunftsprojekte? Dreael: Höchste Priorität bei den Freizeitprojekten hat sicherlich der Webpage-Upgrade, damit die BASIC-Knowhow-Ecke nicht mehr länger nur Beta-Release bleibt. (Übersetzen, übersetzen und nochmals übersetzen. Zahlreiche Amerikaner in den NG (Newsgroups) haben bereits grosses Interesse daran bekundet und bestehen auf der Fertigstellung der englischen Version!) Ansonsten will ich natürlich Rasterbike weiterentwickeln, z.B. einen kleinen Chat einbauen (sinnwoll, weil man ja solange das DFÜ-Netzwerk von Windows stoppen muss!) und vor allem ein permanent laufender Server (UNIX-C-Programm), welches via /etc/inittab beim Booten des Linux-Rechners automatisch gestartet werden kann (in der aktuellen Version endet auch das Server-Programm nach jedem Spiel, so dass man neustarten muss). Thomas: Wie willst Du Dich beruflich entwickeln? Dreael: Weitgehend offen (wir leben ja heute in einer sehr kurzlebigen Zeit!)... => die meisten Entscheide fallen bei mir ziemlich spontan... Thomas: Warum hört man so wenig von PowerBasic - im Vergleich zu QuickBasic? Dreael: Diese Frage ist auch schon durch die NGs (alt.lang.basic und comp.lang.basic.misc) durchgegeistert. Diverse sagen halt, dass es anscheinend zu wenig gut vermarktet wird. Ich hatte einmal im Geschäft mit PowerBasic zu tun (aber nur am Rande!), als es darum ging, das Protokoll auf der seriellen Schnittstelle eines Funkterminalservers ( COSS von Ipta) zu analysieren (ein Teil des Lagers ist nur halbautomatisch, d.h. Gabelstapelfahrer führen Paletten herum und erfassen die Materialbewegungen gleich online von ihrem Fahrzeug aus, damit der Lagerrechner die Lagerbestandsdatenbank nachführen kann), damit wir die Schnittstelle in unserer in C++ geschriebenen Hochregallager-Verwaltungssoftware anpassen konnten: Der Hersteller hatte es ungenügend dokumentiert, insbesondere für den vorgängigen Tandem-Rechner angepasst, so dass ich den BASIC-Code analysieren musste... Thomas: Hast Du noch andere Hobbies außer Programmieren? Dreael: Ich hatte früher einmal noch Akkordeon gespielt, vielleicht sollte ich es wieder einmal wachküssen... ;-) Thomas: Was macht Dreael privat? Dreael: Siehe vorherige Frage, sonst immer noch ledig (halt typisch Online-ledig ;-)) Mein Bruder sagt zwar dasselbe: "Als ständig engagierter Turnvereinspräsident mit 4× Korbballtraining (Sport) pro Woche bleibt einem keine Zeit für eine Freundin!". Thomas: Wie sieht Dein Webdesign-Konzept aus? Dreael: Bereits erwähnt:
Thomas: Spiele für Linux - denktst Du über sowas nach? Dreael: Überhaupt nicht, ich bin weniger der Desktop-Mensch, sondern eher der Server-Mensch, d.h. Dinge wie Dienstprozesse (z.B. IIS unter Windows NT managen) interessieren mich wesentlich mehr. Daher wirst Du bei mir nirgends einen aufgemotzten Desktop (z.B. wild animierter Mauszeiger und bewegende Aquarium-Fische als Desktop-Hintergrund, welche nur ¾ der CPU-Rechenleistung für sich verschlingen!) vorfinden, zumal ich alle meine Rechner mit VNC fernwarte. Sicher, zwischendurch mal ein Spielchen auf dem KDE-Desktop starten (resp. X11-Server lokal starten und export DISPLAY=mywinpc:0.0 und xtetris & im Telnet eingeben [=Bildschirm-Ausgabe der grafischen Oberfläche bei UNIX/Linux übers Netzwerk umleiten]) ist ab und zu sicher mal lustig, aber ganze Projekte à la Duke, Quake & Co. anreissen brauche ich nicht... Dies beherrschen andere besser als ich! Thomas: Spieleprogrammierung in VB oder Delphi - macht das Sinn? Dreael: Delphi kenne ich ausschliesslich im Geschäft. Dort haben wir auch die Enterprise Edition im Einsatz, da wir sehr viel ADO-, OLEDB- und ODBC-Datenbankzugriff auf SQL-Datenbankserver (SQL-Server von Microsoft, Informix unter UNIX und DB2 auf AS/400 von IBM) innerhalb unserer Unternehmensapplikationen benötigen. So zählt mittlerweile auch das Arbeitsamt der Stadt Zürich zu unserem Kundenkreis, als wir dessen Verwaltungsapplikation erneuern konnten. Ansonsten kenne ich jemand, der unter http://www.trx-world.de/ Windows-Spiele in Pascal entwickelt, mittlerweile auch mit TCP/IP-Socketkommunikation. Sofortiger Vorteil: Läuft im Gegensatz zu QB über das in jedem Internet-Windws-PC vorhandene WINSOCK.DLL, so dass ein Endbenutzer nichts umkonfigurieren/einrichten muss. Thomas: Danke Dreael für das interessante Interview! Ich bin überzeugt, dass der Leser - ja Dich meine ich, der Du dies gerade liest _(°.°)_ - jetzt erstmal mit großer Neugier Deine Web-Seiten erkunden wird. Die URLs stehen am Beginn dieser Seite. |
[zur Homepage http://www.antonis.de] [zur framelosen Startseite] |