Interview mit ShadowTurtle

© Thomas Antoni, Oktober 2001 - Oktober 2003



Zweites Interview 2003

Vorwort von Thomas Antoni

Im Sommer 2003 gewährte mir der jetzt 17-jährige Shadow-Turtle das folgende "Follow-Up"-Interview, in dem wir etwas über die neueren Aspekte seiner Programmierer-Laufbahn erfahren. Das ursprüngliche Interview aus dem Jahre 2001 finden Sie im Anschluss daran.

Interview

Thomas: Welche C++ Entwicklungsumgebung verwendest Du heute schwerpunktmäßig?
ShadowTurtle: Ich benutze Microsoft Visual C++, und wenn ich Anwendungssoftware oder Tools schreibe den C++ Builder von Borland.

Thomas: Was sind eigentlich Deine besten C++ Programme? Kann man die irgendwo downloaden?
ShadowTurtle: Mein bestes C++ Programm ist mehr eine Übung. Ich hatte mal mit C++ und OpenGL versucht eine kleine OpenGL Terrain Engine zu Programmieren. Das Ganze ging auch hervorragend. Jedoch musste ich feststellen, dass C++ wirklich in einigen Punkte ziemlich umständlich ist - zumindest was die 3D-Themen betrifft.

Ansonsten hatte ich mal (als ich 12 Jahre alt war) ein kleines Denkspiel mit Editor und eigener Grafik mit C++ gemacht gehabt. Hier ist mal ein Screenshot.

Jedoch ist keines der Projekte, die ich mit C++ gemacht habe, jemals zu 100% fertig geworden. Das ist auch der Grund dafür, dass keines davon auf meiner Website zu finden ist.

Thomas: Hast Du noch eine Webseite und was sind deren Inhalte?
ShadowTurtle: Ja. www.ShadowTurtle.de lebt noch. Die Seite hat jetzt ein neues, frischeres Design und mehr Inhalte. So habe ich eine eigene BlitzInfo Seite in ShadowTurtle.de integriert. Darin sind viele Interviews mit Vertretern der BlitzBasic Community und eine reiche Auswahl an Neuigkeiten über BlitzBasic.

Thomas: Ich habe gerade Deine Webseite besucht - sehr beeindruckend, besonders die vielen Interviews mit Blitz Basic Programmierern. Nur schade, dass da keine QBasic-Inhalte mehr sind. Warum eigentlich?
ShadowTurtle: Weil die QBasic Inhalte verbessert werden. Mal sehen, ob ich doch noch ein allerletztes Mal eine kleines Webseiten-Portal für die QB Community mache.

Thomas: Darüber würde ich mich sehr freuen. Hast Du noch weitere Blitz Basic-Projekte fertiggestellt oder in Arbeit außer dem Rollenspiel?
ShadowTurtle: Ja. Momentan werkle ich heftigst an Scream3D (mehr Infos gibt es auf www.Scream3D.de - eine detaillierte Erklärung würde den Rahmen dieses Interviews sprengen. Denn als ich BlitzBasic 3D damals kaufte, musste ich mit Schrecken feststellen, dass da ja kein Welt Editor dabei war. Wahrscheinlich war ich zu dieser Zeit zu sehr von 3D Game Studio verwöhnt.

Aber über meine nächsten Projekte möchte ich hier nichts Genaueres ausplaudern, denn ich weiß nicht ob diese jemals fertig werden, oder gar in Produktion kommen.

Thomas: Hast Du Ratschläge für Programmier-Neueinsteiger?
ShadowTurtle: Neueinsteiger sollten mit leichtere Sprachen üben, anstatt gleich mit C++ zu beginnen. Unter diese leichteren Programmiersprachen fallen beispielsweise QBasic und BlitzBasic sowie PowerBasic und mehr.

Thomas: Wie kann sich ein Newbie Deiner Erfahrung nach schnellstmöglich in C++ einarbeiten? Sollte er zunächst das nicht objektorientierte "C" lernen?
ShadowTurtle: Genau. Objektorientiert zu coden kann manchmal ziemlich von hinten los gehen. Wenn man ein absoluter Newbie ist, sollte man sich zunächst mal mit den Grundlagen der Programmierung vertraut machen (also BASIC) und erst dann zu C aufsteigen.

Aber eigentlich wäre es so, als hätte ich einen Apfelkuchen ("objektorientiert"), und einen Käsekuchen ("nicht objektorientiert"): Klar ist schon mal, dass es eine Sorte ist: Nämlich Kuchen ("C/C++")!

Und bevor man einen Kuchen backt ("mit C++ programmiert") sollte man sich Backbücher ("C++ Tutorials/Bücher") besorgen und mal ein wenig darin stöbern. Dann holt man sich die Zutaten ("Plant seine erstes kleines C++ Projekt - z.B. ein Pacman Clone") und versucht zunächst, einen Käsekuchen ("nicht objektorientiert" in C) zu backen. Hat man das geschafft, kann man versuchen einen Apfelkuchen ("objektorientiert") zu backen ("Programmieren in C++").

Ich könnte jetzt noch mehr Kochtips geben, aber das waren mal die wichtigsten :)

Thomas: Was würdest Du heute anders machen als zur Zeit des ersten Interviews?
ShadowTurtle: Heute würde bzw. werde ich versuchen so viel wie möglich in meinen jungen Jahren zu lernen. Denn das Leben ist irgendwann ja mal zuende.

Thomas: Hast Du schon konkrete Berufs-Vorstellungen?
ShadowTurtle: Ja. Programmierer oder Webdesigner/Webprogrammierer. Ansonsten mache ich jetzt für drei Jahre eine Art Weiterbildung, bei der ich nebenher den Gymnasium-Abschluss machen möchte. Denn bisher war ich nur auf einer stinknormalen Schule.

In der neuen Schule lerne ich neben mehr Physik, Chemie etc. auch (vor allem) Englisch. Zwar konnte ich damals nicht verstehen "wieso Englisch?". Aber jetzt ist es mir egal, was ich lernen muss, um zum meinen Traumberuf zu kommen.

Thomas: Was hältst Du aus heutiger Sicht von QBasic?
ShadowTurtle: Auch heute noch finde ich QBasic genial, weil man ja in QBasic in der Regel viel codeoptimierender programmiert, d.h. mit kompakterem Quellcode. Daher sind QBasic Programme zum Lernen immer wieder gut. Wenn ich mal jemanden antreffe, der z.B. ein Tetris-Spiel machen will, aber die Technik davon nicht versteht, dann gebe ich ihm zur Einarbeitung ein in QBasic programmiertes Tetris.

Der Grund liegt darin, dass bei jeder BASIC Sprache (und beonders bei QBasic) der Code immer am besten optimiert und am übersichtlichsten ist. Zwar mögen jetzt einige C++ Programmierer mit ihrer ach so tollen C++ Syntax kommen, aber einige meiner Freunde haben schon bestätigt, dass man aus einen Basic Tetris mehr lernen kann, als aus einem großen C++ Tetris Tutorial.

Thomas: Programmierst Du eigentlich noch gelegentlich in QBasic und besuchst QB-Foren, um den QB-Einsteigern zu helfen?
ShadowTurtle: Nicht mehr ganz so intensiv. Ich besuche öfters noch die Foren und schaue mal rein. Nur wenn es dort mal eine lustige oder/und abgedrehte Situation gibt, lasse ich gelegentlich ein Kommentar los. Aber ich denke, dass sich das nach Ende dieses Sommers ändern wird. Denn ich werde dann wieder ein wenig mehr in der QBasic Szene aktiv werden, denn ich habe ja vor eine große Portalseite über QBasic auf meiner Webseite anzubieten. Mal sehen wie sich das weiter entwickelt. :)


Erstes Interview 2001

Vorwort von Thomas Antoni

ShadowTurtle kenne ich noch nicht lange. Er treibt sich in letzter Zeit sehr lebhaft im Deutschen QBasic-Gemeinschaftsforum herum. ShadowTurle's Webseite www.ShadowTurtle.de hat ein sehr originelles Design - farbenfroh und modern, ohne ein einziges Textzeichen. Alle Texte sind Grafiken!! Es gibt dort zwei Schwerpunkte: Zum Einen WinModern, ein GUI für die DOS-Oberfläche und zum Zweiten Earth Empire, ein 3D-Spiel, von dem es bereits sehr vielversprechende Screenshots gibt. An dem Intro zur Earth Empire arbeitet Shadow Turtle gerade.

Eine Anmerkung zu Earth Empire: Ich persönlich würde es andersherum bevorzugen: Erst das Spiel, dann das Intro und zum Schluss die Screenshots :) Viele Programmierer verlieren leider die Lust an ihrem Spieleprojekt, wenn sie erst das Intro programmieren und dann die harte Arbeit auf sie zukommt, ein Spiel zu programmieren, das genauso gut aussieht wie das Intro. Ich wünsche ShadowTurtle, das es bei ihm nicht so läuft :)

Interview

Thomas: ShadowTurtle: Wie ist eigentlich Dein richtiger Name?
ShadowTurtle: Ich heiße Karlheinz Petry. Meine Freunde und Verwandte nennen mich meist Charly (der englische Nickname für "Karl"). Und wenn ich im Internet bin, heiße ich halt ShadowTurtle.

Thomas: Woher kommt eigentlich der Nickname ShadowTurtle?
ShadowTurtle: Ich muss zugeben, dass ich in meinen Internet - Anfangszeiten mal ein Faker war. Daher habe ich mir einen Namen ausdenken müssen. Das hat allerdings nicht länger als zehn oder fünf Minuten gedauert. Ich dachte, der Name sollte etwas Dunkles ausdrücken, ohne gleich Angst zu machen. Ich kam auf "Light" oder "Shadow". Es sollte aber auch etwas knuffiges dabei sein. Daher habe ich mir Namen ausgedacht, wie z.B. "ShadowHeinz" (was ich total besch***en fand). Ich versuchte es halt mit Allem möglichen, bis ich auf ein Tier kam. Erst hieß es "ShadowKröte", klang aber mehr nach ´ner Beleidigung. Dann fiel mir ein, dass ich es mal mit etwas Englischem probieren könnte. Tataa: "ShadowTurtle" war geboren und wird immer weiterleben.

Thomas: Wie alt bist Du und wo wohnst Du?
ShadowTurtle: Ich bin am 21.03.1986 geboren und daher schon ein 15-jähriger alter Hase :)

Thomas: Was machst Du ausbildungs- bzw. berufsmäßig?
ShadowTurtle: Ich gehe noch zur Schule und versuche, so gut wie möglich zu sein, damit ich mal mein Hobby Programmieren zum Beruf machen kann.

Thomas: Was erwartet den Besucher auf Deiner Webseite?
ShadowTurtle: Auf der Startseite von www.ShadowTurtle.de sind die Projekte beschrieben, an denen ich im Moment arbeite. Die Informationen zu jedem Projekt sind folgendermaßen aufgegliedert: Neues, Screenshots, Downloads (nur wenn es welche gibt) und Infos. Natürlich habe ich auch eine QBasic Foren-Sektion eröffnet.

Thomas: Wie sieht Dein Webdesign-Konzep aus?
ShadowTurtle: Mein Webdesign ist noch nicht richtig festgelegt, da ich noch d'ran arbeite. Vieles an meiner Web-Site, außer den Updates (damit meine Site nicht zum Opa wird), wird im Moment so bleiben, wie es ist. Denn es kann noch etwas dauern bis ich alles richtig im Griff habe. Es ist ja meine erste Site.

Thomas: Wie war Dein Werdegang als Programmierer?
ShadowTurtle: Nun, die Zukunft kann ich jetzt noch nicht vorraussagen, aber ich erzähl mal, wie ich angefangen habe: Ich kam auf die Welt, und mit fünf Jahren habe ich mit dem Commodore C-16 mein erstes kleines Programm umständlich mit "Print" eingetippt. Es zeigte animierte Hampelmänner auf dem Bildschirm an, die aus ASCII-Textzeichen bestanden. Zum Glück gab es dort auch schon die Sonderzeichen auf der Tastatur. Dabei empfand ich viel Spaß und war voller Neugier, was ich daran verbessern könnte. Nach und nach habe ich mich richtig in das Programmieren hineingesteigert.

Schließlich gab's dann den ersten PC. und ich lernte nach und nach, wie man mit welcher Programmiersprache umgeht. So kam es, dass ich alle Programmiersprachen außer Assembler perfekt beherrsche! Na ja, ich will nicht übertreiben. Ich beherrsche die folgenden Sprachen:
  • PowerBasic
  • QBasic
  • Profan²
  • C++ (Version 1.0, Microsoft Visual C++ 6.0 und Borland C++ Builder 5.0)
  • Jump&Run Maker (habe ich damals selbst mit Profan programmiert).
Thomas: Sag doch mal ein paar Worte zu Deinen QBasic Programmen.
ShadowTurtle: Ich habe bis jetzt sehr wenige QB Progs geschrieben die aber im Gegensatz zu meinen aktuellen Projekt Nichts waren. Eines meiner Programme war ein Mathematik-Lernprogramm, aber zunächst nur für den EGA-Bildschirm. Später gab es das auch in VGA! Mit Sound und einem integrierten Player für WAV-Songs, den ich per "SHELL" aufrufen musste.

Thomas: Wie kamst du auf die Idee WinModern zu programmieren?
ShadowTurtle: Nun, vor einem Jahr erhielt ich endlich meinen Internetzugang, und kam gleich auf die Idee, zu schauen, was genau LINUX ist. Da erfuhr ich dann auch, dass es noch andere Freaks gibt, denen es Spaß bringt, Betriebssysteme zu programmieren.

So fand ich immer mehr Programmier-Pages zum Thema Betriebssystem - Programmierung und schließlich stieß ich auf eine QB Site, in der ich erfuhr, was eigentlich "GUI" heißt. Ich habe mir dann mal GIMI heruntergeladen, um zu schauen was das überhaupt ist.... Nun denn, ich war dann ganz angetan und wollte so was auch programmieren, aber dafür musste ich mich für eine ganze Weile von den Windows - Sprachen trennen, um mich wieder in DOS zurechtzufinden.

Dann habe ich Schritt für Schritt versucht, erstmal ein Fenster zeichnen zu lassen usw. Nun ist WinModern da, aber lange noch nicht fertig! Ich mochte jetzt nicht angeben, aber ich denke, dass WinModern das Potenzial hat, besser als GIMI zu werden.

Thomas: Das kannst Du schaffen, wenn Du nur hartnäckig genug am Ball bleibst. "GIMI" von Sebastian Mate kann man übrigens auf Sebastians Homepage www.sm-gimi.de herunterladen. Die Abkürzung GUI steht für "Graphic User Interface", auf deutsch "grafische Benutzeroberfläche". Doch nun weiter mit unserem Interview: ShadowTurtle, Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS?
ShadowTurtle: Ich sehe die Zukunft eher neutral! Das heißt: Bill Gates wird es nie schaffen, MS-DOS auszurotten, denn ohne DOS könnte Windows nicht laufen. Auch in zehn Jahren wird er es nicht schaffen. Ich denke, er macht das sowieso nicht, weil er Angst hätte, den Programmier - Newbies die Chance zu nehmen, etwas für Windows zu programmieren. Das heißt, es würden sich in Zukunft weniger mit Windows Sprachen beschäftigen, weil sie ohne die Basic Sprachen keine richtige Routine gelernt hätten, um mit höheren Sprachen zu arbeiten. So wie z.B. das Debuggen von Programmen.

Und wenn Microsoft doch irgendwann DOS ganz aus seinen Betriebssystemen 'rausschmeißen sollte, dann wird es bestimmt Leute geben, die einen guten DOS- Emulator schreiben.

Thomas: Das stimmt. Es gibt ja schon heute recht gute MS-DOS Emulatoren für Taschencomputer mit Windows CE und Epoc Betriebssystemen. ShadowTurtle: Auf welche Windows - Programmiersprache sollte ein QB-Fan aufsteigen?
ShadowTurtle: Ich würde mit (Q)uick(B)asic anfangen, um zu lernen, nach welchem System das abläuft, und vor allem, um zu lernen, wie man Fehler behebt. Dann würde ich mich nach Visual Basic umschauen, um zu lernen, wie ich kleine Windows Anwendungen erstellen kann. Wenn ich dann mit VB soweit wäre, ein Programm zu erstellen, das die Internet Online-Zeit erfasst, die Online-Kosten berechnet und speichert usw., würde ich zu Blitz Basic wechseln um als Nächstes zu lernen, wie ich ganz leicht 2D Spielewelten erstellen kann und das Prinzip verstehe.

Dann würde ich langsam zu Microsoft Visual C++ übergehen (die Autorenversion ist übrigens kostenlos!!!), denn... ich will es mal so sagen: Mit Microsoft Visual C++ wurden No One Lives Forever, Tombraider, Half-Life, Black&White usw. programmiert. Das Beste an Microsoft Visual C++ ist, dass es nicht nur für Spiele - Programmierung gut eignet. Schaut euch mal Microsoft Word an. Das ist ebenfalls in C++ geproggt!

Thomas: Was rätst Du einem QBasic Spiele-Programmierer, der Animationen, Sound und Mausbedienung in seine Spiele und sonstigen Programme hineinbringen will?
ShadowTurtle: Eigentlich sollte ich sagen, dass ihr QB vergessen könnt, weil man mit WinModern nun auch QB Progs laden, editieren und laufen lassen kann. Und weil WinModern auch ein paar Multimedia-Befehle hat z.B. LoadBmp usw. Aber - wenn ich ehrlich bin - benutze ich die Future Libary für das Laden von Bitmap von Editieren der Paletten usw. Ich kann euch nur die Future.Lib empfehlen! Die hat sogar einen total schnellen GIF Player, der animierte GIF Dateien ablaufen lassen kann.

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?
ShadowTurtle: Ganz Easy...! Ich sag da nur EMS und XMS! Wenn dann der Code doch mal zu groß sein sollte, einfach eine Batch Datei mit folgendem Inhalt anlegen: "QB.EXE /AH /RUN MyGame.BAS" Dadurch das dann der QB Editor nicht im Speicher geladen wird hat man 3/4 mehr Speicherplatz!!! Mehr Speicherplatz bekommt man auch dann, wenn man sein Programm in mehrere BAS- Dateien aufteilt und mit den Befehlen "RUN" oder "CHAIN" die Kontrolle von einer zur anderen Teildatei übergibt.

Thomas: Für EMS und XMS benötigt man allerdings eine Bibliothek, die diesen erweiterten Speicher unterstützt,. z.B. die Future.Lib. SchadowTurtle: Welche Ratschläge kannts Du einem QBasic - Einsteger geben? Wie kann er sich so bequem und schnell wie möglich in QB einarbeiten? Welche Programmierregeln soll er beachten?
ShadowTurtle: Auf was er für Regeln achten soll!? Zuerst mal die folgende: "Geht nicht, gibt's nicht!", und dann diese: "Probieren geht übers Studieren" usw. Ich kann nur Eins sagen: Man soll sich als Anfänger nie und nimmer von einer fetzigen Demo aus der Fassung bringen lassen und nicht enttäuscht sein, wenn man nicht selber so etwas innerhalb weniger Tage auf die Beine stellen kann wie etwa die Demo zu Blitz Basic 3D. Man soll immer klein anfangen und ganz langsam von Level zu Level wachsen, so wie ich. Ich bin schon auf Level 100 (na sagen wir mal 90) von 100!!! Ein Anfänger ist gerade mal höchstens auf 1 oder, schlimmer noch, auf 0, wenn er nicht mal weiß, was eine Variable ist.

Thomas: Du sprachst vorhin das Debuggen an. Kannst Du uns mal ein Paar Tipps geben, wie man Fehler in einem Programm sucht?
ShadowTurtle: Der erste Tipp - und das gilt auch für alle anderen Sprachen - lautet: Deaktiviere die Fehlerunterdrückung (bei QB "ON ERROR ...") während du programmierst. Dann achte bei der Verwendung von numerischen Variablen und Strings darauf, dass du nie aus Versehen einen gleichen Namen an zwei verschiedene Variablen vergibst. Das ist eine der häufigsten Fehlerquellen, und es kann schlimme Effekte zur Folge haben, wenn man eine Variable überschreibt.

Thomas: Spieleprogrammierung in VB oder Delphi - macht das Sinn?
ShadowTurtle: Ja! Egal was man in welcher Sprache macht, man lernt immer dazu. z.B. wie man dann das nächste mal DirectX in C++ besser verwenden kann ;-)

Thomas: Was hast Du für Zukunftsprojekte?
ShadowTurtle: Das weiß ich noch nicht, denn im Moment habe ich keine Ahnung. Vieleicht eine Fortsetzung von Empire Earth oder so...

Thomas: Hast Du schon eine Ahnung, wie Du dich beruflich entwickeln willst?
ShadowTurtle: Nö! Aber als Programmierer auf jeden Fall - egal in welcher Art, ob ich nun Chef meiner eigener Firma werde oder in eine einsteige.

Thomas: Warum hört man so wenig von PowerBasic und VB-DOS - im Vergleich zu QuickBasic?
ShadowTurtle: Ich denke, dass PowerBasic wegen den wenigen User fast ausgestorben ist, und weil sich nur noch alte, verklapperte PB-Sites im Internet tummeln, die vieleicht alle Schaltjahre einmal upgedatet werden. Ich sage es mal so: QuickBasic ist eine der Programmiersprachen, die niemals aussterben werden!

Thomas: Hast Du noch andere Hobbies außer Programmieren? Was macht ShadowTurtle alles privat?
ShadowTurtle: Neben Programmieren lese ich viel und kümmere mich um meine Freunde. Ich versuche, die 9. Klasse mit Bravour zu meistern und helfe meinen Eltern im Haushalt, denn mein Vater ist herzkrank, und meine Mutter muss, außer am Wochenende, tagsüber arbeiten.

Thomas: Vielen Dank ShadowTurtle 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?
ShadowTurtle: Jo, Natürlich! Ich kann euch nur einen Tipp geben: Gebt niemals auf, egal was ist! Denn mit Durchhaltevermögen werdet ihr jedes Programmierproblem meistern.

Thomas: Danke ShadowTurtle für das interessante Interview! Die Leser dieses Interviews werden sich jetzt bestimmt voller Spannung auf Deine Webseite ShadowTurtle.de stürzen !!





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