Interview mit CEB

© Thomas Antoni, April 2002





Vorwort von Thomas Antoni

CEB ist in der deutschen QBasic Community vor allem durch zwei QB-Programme weithin bekannt: Seinem grafischen Betriebssystemaufsatz (GUI) "GIMI" und seinem Webtool GetWeb, das ist ein Windows-Programm, mit dessen Hilfe QBasic- Anwendungen Zugriff aufs Internet erhalten. Darüber hinaus ist CEB des öfteren auf den deutschen QBasic-Foren anzutreffen, und fällt dort durch seine hochkompetenten Beiträge auf.




Interview


Thomas: CEB, Wie ist Dein richtiger Name?
CEB: Mein voller Name ist Sebastian Mate. CEB spricht man übrigens wie "Seb" aus, was ja von Sebastian kommt. CEB ist also keine Abkürzung, das hat mal jemand auf einer amerikanischen Seite gemeint (in Amerika gibt's scheinbar ein C.E.B.?!).

Thomas: Wie alt bist Du und wo wohnst Du?
CEB: Ich werde jetzt im März 2002 19 Jahre alt und ich wohne in Seukendorf, das ist ein mittelgroßes Dorf in Franken westlich von Nürnberg/Fürth.

Thomas: Was machst Du ausbildungs- bzw. berufsmäßig?
CEB: Ich gehe immer noch ins Gymnasium, 12. Klasse. Da habe ich Biologie und Englisch als Leistungskurs. Danach möchte ich evtentuell Informatik studieren - falls mein Abitur das dann zulässt :-)

Thomas: Was erwartet den Besucher auf Deiner Webseite?
CEB: Nun, vor allem eine Vorstellung meiner GUI GIMI, und viele andere meiner QBasic-Programme, die allerdings nicht so "hervorgehoben" sind - meistens nur Download-Links mit Beschreibung. Ich sollte daran noch mal etwas arbeiten :-) ...

Thomas: Wie sieht Dein Webdesign-Konzept aus?
CEB: Ich muss ganz ehrlich sagen - ich mache mir nicht soviel aus Webdesign. Die Seiten müssen vor allem einfach zu navigieren sein und ihren Zweck erfüllen. Wenig Grafiken, kein so "Zeugs" wie Flash, Java-Applets, PHP usw. Es kommt immer drauf an, um was für eine Seite es sich handelt. Auch habe ich keine Nerven mit HTML-Code herumzuspielen, dafür gibt es sehr unprofessionelle WYSIWYG-Editoren :-)

Thomas: Wie war Dein Werdegang als Programmierer?
CEB: Oh jeh ... Ich denke das war vor 5 Jahren, da habe ich bei dem alten 386 meiner Mutter eine Diskette mit PowerBasic gefunden ... dann ging es los. Als ich durch einen Freund von QuickBasic erfuhr (woher soll man denn auch wissen dass es sowas überhaupt gibt!), war ich echt begeistert ... Einfach zu bedienen, und auf meinem damals ultraschnellen Pentium 150 (den ich übrigens immer noch habe - wozu einen neuen?!) lief es auch sehr schnell. Ich habe eigentlich nie Spiele programmiert, sondern immer versucht "sinnvolle" Programme zu schreiben (wobei ich jetzt sagen muss, dass nur 10% sinnvoll sind - denke ich). Zur Zeit beschäftige ich mich mit der Programmierung unter Windows - leider - da sich QB und DOS für mein Programm, den Lateinübersetzer, nicht eignet (wegen den heutigen Windows- Benutzer, die erwarten leider ein Windows-Programm). Schade. Dennoch, ich bin immer noch ein begeisterter QB-Programmierer und werde es immer bleiben!

Thomas: Sag doch mal ein paar Worte zu Deinen QBasic Programmen.
CEB: Also, wie bereits gesagt versuche ich etwas sinnvolles zu schreiben, das anderen Programmierern hilft und was es in der Form noch nicht gibt. Zum Beispiel meine GUI GIMI, die externe Programme ausführt - mit Multitasking. Oder RealMIDI, das selber MIDIs abspielen kann. Auch eine Besonderheit ist HVSS (Human Voice Speech System), das in englischer Sprache spricht.

Thomas: Was war eigentlich der Beweggrund für Dich, ein GUI (Graphical User Interface = Grafische Bedienoberfläche oder Betriebssystemaufsatz) zu programmieren, und was hast Du dabei alles erlebt und gelernt?
CEB: Das ist sehr schwer zu sagen. Angefangen habe ich mit einer GUI in Screen 0 (!), das war 1998. Dann kam GDOS. Das ging dann bis Version 3.0. Diese konnte schon sehr einfache Scripts ausführen (immer nur eines, der Rest war in der EXE mit drinnen). Als ich dann Internet bekam, stellte ich fest, dass der Name GDOS schon vergeben war. Nun, ich habe GIMI daraus gemacht, bei dem alle Programme externe Scripts sind. Mir lag am Herzen, eine Oberfläche zu schreiben, die schön mit der Maus bedienbar ist und es ermöglicht, mehrere Programme gleichzeitig auszuführen. An eine Windows-Konkurrenz oder so habe ich dabei nie gedacht; ich bekomme immer wieder E-Mails von Leuten, die meinen, GIMI könnte eine echte Konkurrenz werden ... wer's glaubt!

Aber einen eigentlichen Grund hatte ich dabei nicht. Es macht einfach Spaß! Was ich dabei gelernt habe: Mit QB selber kann man keine sehr komplexe GUI schreiben, da man alle Programme als Bestandteil in der Haupt-EXE hat, wobei irgendwann der Compiler nicht mehr "mitmacht". Darum kann ich jedem raten, einen Interpreter wie GIMI zu schreiben, meiner Meinung nach hat sich das echt bewährt - siehe z.B. XTOS; es gibt auch diverse weitere GUIs, die diesem Vorbild folgen!

Thomas: In welchen Sprachen programmierst Du?
CEB: Vor allem in QuickBasic. Man kann es super verwenden, um schnell mal eine Datenbank umzuschreiben oder mit einer anderen zu kombinieren (mache ich mit der des Lateinübersetzers). Ich habe auch mal in einem Wahlfach Pascal gelernt, was ich mittlerweile schon wieder vergessen habe. Zur Zeit habe ich in der Schule den Grundkurs Java, und privat programmiere ich mit RapidQ (sehr zu empfehlen!), aber beides macht nicht so viel Spaß wie QuickBasic!

Thomas: Kannst Du noch ein paar Worte zu TurboPascal und RapidQ sagen? Was gefällt Dir an QBasic besser als an TurboPascal? Welche Vorteile hat die Windows- Programmiersprache RapidQ? Ich habe es selbst vor einiger Zeit mal auf www.basicguru.com/abc/rapidq/ heruntergeladen und ausprobiert; damals fand ich es recht "buggy". Der Autor Bill Yu entwickelt RapidQ ja wohl nicht mehr weiter - oder?
CEB: Nun, ich persönlich finde TurboPascal nicht so toll. Es ist allerdings eine sehr leistungsfähige Sprache: Sie ist schnell, besitzt Funktions- Pointer usw. - eben alles was QB nicht kann. Ich finde TP zu umständlich. Da soll man besser gleich C lernen, das ist besser. QB ist einfach schöner zu programmieren - ohne groß nachzudenken schreibt man drauf los, und in der Regel funktioniert es auf Anhieb. Und bei den schnellen Rechnern von heute ist die Geschwindigkeit von QB auch kein Thema mehr.

Zum Thema RapidQ: Ich kann es jedem sehr empfehlen! Es kann alles das was z.B. VB kann (meines Wissens nach), erzeugt EXE-Dateien, die keine Runtime Bibliotheken brauchen, ist kostenlos, und man kann die Programme sogar kommerziell verkaufen (wenn man will). Die Syntax ist mit QB absolut identisch, abgesehen von den "Action- Listenern" (wenn man auf Buttons usw. klickt). Ja, das Programm ist recht "buggy", vor allem die IDE (Entwicklungsumgebung). Aber ich bin dennoch überrascht wie gut es funktioniert. Ich schreibe z.B. meinen Lateinübersetzer damit, das sind etwa 3000 Zeilen, unendlich verschachtelte IFs, FORs, usw ... es funktioniert einfach super! Ein weiterer Vorteil: Es gibt auch RapidQ für Linux, das habe ich allerdings noch nicht probiert.

Thomas: Kannst Du etwas über Deine momentanen Projekte berichten?
CEB: Zur Zeit arbeite ich an einer Audiokomprimierung (ähnlich MP3, nur vieeeeel einfacher, klingt dafür aber auch nicht so gut), und, wie bereits erwähnt, am Lateinübersetzer (leider nicht mit QB geschrieben...).

Thomas: Was rätst Du einem QB-Programmierer, der sein Game netzwerkfähig machen will, z.B. über TCP/IP oder IPX?
CEB: Das ist sicher eine tolle Herausforderung, ich bin auch davon überzeugt, dass das sogar direkt mit QB unter DOS geht. Ich habe mich auch schon mal daran versucht, aber es sind einfach zu viele Hürden zu überwinden. Deshalb rate ich Euch, es zu lassen. Verwendet doch eine Windows-Programmiersprache! QB ist einfach nicht für sowas geschaffen.

Thomas: Was rätst Du einem QB-Programmierer, der aus seinem Programm heraus aufs Internet zugreifen und z.B. E-Mails versenden will?
CEB: Eigentlich das gleiche wie oben. Ich habe vor langer Zeit ein Windows-Programm namens GetWeb geschrieben, das man von QB aus aufrufen und mit dem man aufs Internet zugreifen kann. Das ist aber auch nicht das Wahre! Lasst die Finger davon! :-)

Thomas: Wieso ist GetWeb "nicht das Wahre"? Es wird doch überall so gelobt!
CEB: Also das wäre mir neu :-). Ich finde es nicht gut, dass ein DOS-Programm ein Windows-Programm benötigt um zu funktionieren. Entweder DOS oder Windows. Wenn jemand mal Lust hätte, einen echten TCP/IP-Stack für DOS zu schreiben, habe ich schon ein paar Ideen. Man könnte QB z.B. mit Wattcp linken oder direkt auf das Netzwerk über einen Packetdriver zugreifen. Das habe ich schon hinbekommen. Einen Kommunikations-Stack für das TCP/IP- Protokoll zu schreiben, ist sehr problematisch: Man muss die Datenpakete selber konstruieren - die IP Addressen, Header, TCP und IP ..... - dabei habe ich die Nerven verloren und es aufgegeben :-). Wenn jemand mehr wissen möchte soll er mich anmailen. Ich rate im allgemeinen von TCP/IP usw. von DOS aus ab, obwohl ein eine echt tolle Herausforderung ist!

Thomas: Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS?
CEB: Nun, diese Sachen sind vielleicht nichts für den kommerziellen Bereich, aber als Hobby ist Programmieren mit QB eine super Sache. Auch sind DOS-Klone wie FreeDOS vor allem für Programmierer eine wahre Gaumenfreude. Ich erfreue mich immer wieder, wenn ich meinen Computer im DOS-Modus boote und auf die langsame Windows- Oberfläche verzichte. Ich denke, dass DOS und QB auch in Zukunft eine sehr große Community haben werden!

Thomas: Auf welche Windows-Programmiersprache sollte ein QB-Fan aufsteigen a) wenn er nur hobbymäßig programmieren will bzw. b) wenn er einen IT-Beruf anstrebt?
CEB: Zum hobbymäßigen Programmieren gibt es VisualBasic aber auch viele kostenlose Freeware Compiler (siehe RapidQ!), die echt schön zu benutzen sind. Es kommt immer drauf an, was man programmieren will. Vielleicht ist auch Java für den einen oder anderen eine tolle Sache. Um zu b) zu kommen: Ich würde sagen, da ist C++ das richtige. Auch Java ist immer mehr gefragt - denke doch einfach mal an die ganzen neuen Java-Handys! Basic ist im Allgemeinen nicht für professionelles Programmieren geschaffen - man kann zwar alles damit machen, aber es ist einfach zu langsam.

Thomas: Was rätst Du einem QBasic Spiele-Programmierer, der Animationen, Sound und Mausbedienung in seine Spiele und sonstigen Programme hineinbringen will?
CEB: Das ist immer eine gute Sache und kann ein Programm entscheidend aufwerten. Man muss aber aufpassen, dass das Programm nicht überfüllt wirkt (zum Beispiel irgendwelche Laufschrift die man nicht richtig lesen kann). Des weiteren ist es wichtig, dass das Programm "kompatibel" ist, d.h. man sollte z.B. auf SVGA verzichten wenn das Programm nur eine spezielle Grafikkarte unterstützt oder man sollte diese Funktion wenigstens abstellen können (wie z.B. auch den Sound!). Für sehr viele Programme braucht man das alles gar nicht - SCREEN 0 kann auch toll aussehen und ist vor allem schnell.

Thomas: Kannst Du konkrete Tipps geben, wie man Animationen, Sound und Mausbedienung in seine QB-Programme einbinden kann?
CEB: Dazu kann ich eigentlich nichts besonderes sagen. In der Regel reicht es aus, wenn man einfache SUBs verwendet, die die Sachen ausführen. In seltenen Fällen (z.B. bei sehr komplexen, großen Quellsprachedateien) rate ich dazu, diese SUBs in eine Library zu packen, um Speicher zu sparen und der Übersicht wegen. Ich möchte im allgemeinen von den bekannten Libraries abraten. Meine Erfahrung hat immer wieder gezeigt, dass die QLB-Dateien nicht bei allen QB- Versionen arbeiten und das ist recht "nervig". Lieber selber ein paar schöne SUBs parat haben, man kann sie immer wieder brauchen!

Thomas: Wie schafft man sich den nötigen freien Speicherplatz für seine Spiele und überwindet die für QBasic geltende 160 KB Grenze für die max. Länge von Code und Daten?
CEB: Dazu kann ich eigentlich nichts besonderes sagen. Wenn der Compiler wieder mal meckert: Die BAS-Datei in einzelne Dateien teilen, einzeln compilieren und zusammenlinken. Wenn man große Datenfelder braucht: XMS und EMS, wobei ich das noch nie verwendet habe... :-)

Thomas: Welche weiteren Ratschläge kannst Du einem QBasic- Einsteiger geben?
CEB: Nach meinen Erfahrungen gibt es folgende Erfolgsfaktoren für gute Programme:
  • Lese viele Quellspracheprogramme aus dem Internet, man bekommt so neue Ideen!
  • Wandle die Quellspracheprogramme ab und probiere viel aus.
  • Programmiere nur dann, wenn du Lust dazu hast. Das ist die Voraussetzung dafür, dass die Programme auch etwas werden. Unter Druck geht das überhaupt nicht!
Thomas: Spiele für Linux - denkst Du über sowas nach?
CEB: Spiele funktionieren unter Linux genauso gut wie unter Windows (ich habe Quake 2, und es geht super). Allerdings glaube ich nicht, dass Linux eine Spieleplattform ist. Linux ist ideal geeignet für Server, Router und die neuen Kleincomputer (PDAs). Und obwohl es hervorragende Benutzeroberflächen und Office- Pakete gibt, glaube ich nicht, dass es sich als Workstation durchsetzen wird - sehr zu meinem Bedauern!

Thomas: Spieleprogrammierung in VB oder Delphi - macht das Sinn?
CEB: Naja, für Hobbyprogrammierer - ja. Mit Delphi habe ich keine Erfahrung, aber ich kann sagen dass VB, welches ja kein echter Compiler ist, sich nicht für den professionellen Bereich eignet. Ich habe mir mal bei ALD* ein Lernbuch mit CD gekauft, echt professionell gemacht, als ich die CD einlegte kam eine VB-Runtime Meldung, das hat mich dann schon gewundert ... :-)

Thomas: Was hast Du für Zukunftsprojekte?
CEB: Oh, eigentlich nichts Konkretes. Ich möchte weiterhin den Lateinübersetzer verbessern und bekannter machen. Er erfreut sich schon jetzt einer sehr großen Nachfrage - ich kann es kaum glauben. Dann will ich RealMIDI 3.0 fertigstellen und irgendwann GIMI 3.0 herausbringen. Mit GIMI bin ich übrigens nicht mehr alleine, Sergio hat es sogar bei www.sourceforge.net angemeldet, es ist jetzt Open Source unter OPL2-Lizenz. Mal abwarten was daraus wird ~ohweija~.

Thomas: Wie willst Du Dich beruflich entwickeln?
CEB: Nun, ich möchte Informatik studieren. Was ich aber beruflich machen möchte, weiß ich noch nicht so genau. Mal schau'n :-)

Thomas: Warum hört man so wenig von PowerBasic und VB-DOS - im Vergleich zu QuickBasic?
CEB: Das ist eine gute Frage, ich weiß es nicht. Ich denke dass die Community von QB einfach größer ist. Auch ist QB kostenlos überall zu haben, was das viel bessere PB nicht ist.

Thomas: Was sind Deine Lieblings-Webseiten?
CEB: Da gibt es eigentlich keine. Ich besuche immer unser gemeinsames "Deutsches QBasic- Forum" und lese es mit großer Aufmerksamkeit (auch wenn ich selten was poste). Auch www.qbasic.qb45.com ist eine schöne Seite. Auch muss ich noch anmerken dass Deine Seite www.qbasic.de was ganz besonderes ist, da schau ich auch sehr oft vorbei. Man kommt an alles "ran", ans Forum, an Programme, an das Basic- Guru- Archiv (was ja irgendwie über deren Seite nicht mehr geht). Auch V-Basic.de gefällt mir sehr gut; es gibt hier viele tolle Seiten - ich weiß gar nicht wo ich anfangen soll.

Thomas: Hast Du noch andere Hobbies außer Programmieren? Was macht CEB so alles privat?
CEB: Naja, ich gehe gerne mit anderen Leuten weg, mache etwas Sport um mich fit zu halten (ich versuche es zumindest ...) spiele Keyboard - eigentlich nichts besonderes :-)

Thomas: Vielen Dank CEB für die höchst aufschlussreichen Antworten. Willst Du noch einen Abschiedsgruß an den Leser richten und etwas von Deinen Erfahrungen als Programmierer und Mensch weitergeben?
CEB: Ich danke dir auch, Thomas. Vor allem aber möchte ich der super netten QB-Community danken. Ihr seid immer sehr hilfsbereit und mit euch zu reden ist echt super. Ich denke, dass QB keine tote Sprache ist - dank euch.

Thomas: Vielen Dank CEB für das höchst aufschlussreiche Interview. Ich bin überzeugt, das der Leser sich jetzt erst mal voller Neugier auf Deine Webseite www.sm-gimi.de stürzen und unter Anderem Dein GUI "GIMI" und Deinen Lateinübersetzer ausprobieren wird.




[zur Startseite http://www.antonis.de]       [zur framelosen Startseite]