Interview mit Andreas Hammer

© Thomas Antoni, Oktober 2001





Vorwort von Thomas Antoni

Andreas Hammer ist trotz seiner erst 14 Lenze seit Jahren eine bekannte Größe unter den Programmier-Seiten im Internet und zwar aufgrund seiner vorzüglichen Tutorials zu QBasic, TurboPascal und C. Neuerdings hat Andreas alle Tutorials auf seiner Seite www.tutorials.at zusammengefasst. Die Webseite ist professionell und mit einem hellen, luftigen Design gestaltet. Alle Tutorials wurden neu überarbeitet, und es kam eine "Einführung in die Programmierung" für absolute Neueinsteiger hinzu, in der Andreas auch eine Übersicht über die wichtigsten Programmiersprachen gibt.



Interview

Thomas: Hi Andreas, Wie alt bist Du und wo wohnst Du?
Andreas: Das Licht der Welt erblickte ich am 3. Februar 1987 in Wien (Österreich) - wo ich auch heute noch lebe. Ich bin demnach zur Zeit des Interviews 14 Jahre alt, was so manchen - Besucher von www.Tutorials.at - erstaunen dürfte.

Thomas: Was machst Du ausbildungs- bzw. berufsmäßig?
Andreas: Zur Zeit besuche ich die HTL (Höhere Technische Lehranstalt) in Wien Ottakring. (www.htlw16.ac.at) Als Fachrichtung habe ich "Elektronik" gewählt. Damit stellt sich mir nach der 3. Klasse die Wahl zwischen "Technische Informatik" und "Telekommunikation". Trotz meines größeren Interesses an der (technischen) Informatik werde ich - wenn ich die Schule bis dahin schaffe - aufgrund meines Vorwissens höchstwahrscheinlich Telekommunikation wählen, um mir so ergänzendes Wissen anzueignen.

Thomas: Was erwartet den Besucher auf Deiner Webseite?
Andreas: Auf Tutorials.at findet der Besucher von mir geschriebene Tutorials zu den Programmiersprachen Basic, C, C++ und Pascal. Weiters geboten wird eine ausführliche Einführung in die Programmierung, die dem Einsteiger u.a. die Wahl der richtigen Programmiersprache erleichtern soll. Natürlich vorhanden sind Buchtipps - die dem Leser bei der Wahl der weiterführenden Literatur helfen sollen - sowie eine ausführliche, kategorisierte Rubrik mit Links zu anderen Websites, die sich mit der Programmierung beschäftigen. Auf die Links verzichten möchte ich nicht, schließlich ist mir nicht das Konkurrenzdenken ein Anliegen sondern das, dem Leser zu helfen, schnellstens und möglichst problemlos Programmieren zu lernen. Denn die Ansicht, die eigenen Inhalte wären das Maß aller Dinge halte ich für unangebracht und dem Besucher wenig hilfreich.

Thomas: Wie sieht Dein Webdesign-Konzept aus?
Andreas: Beim Designen im Vordergrund stand die Übersichtlichkeit. "Je übersichtlicher und schlichter, desto besser" könnte man als mein Motto ansehen. Tutorials.at wartet nicht mit einer Unzahl von Grafiken auf, sondern mit Inhalten. Damit versuche ich, all zu lange Ladezeiten zu vermeiden. Sehr wichtig war mir natürlich auch die Navigation. Je schneller der Besucher das Gesuchte findet, desto länger wird er sich wahrscheinlich auf der Website aufhalten. Das Chaos galt es zu vermeiden.

Thomas: Wie war Dein Werdegang als Programmierer?
Andreas: Alles begann damit, dass ein Freund von mir einen programmierbaren Taschenrechner besaß. Auf diesem konnte man kleinere Basic- Programme schreiben, abspeichern und laufen lassen. Dies waren zugleich meine ersten "Gehversuche" in Basic. Viel mehr als ein "Hello World" - Programm kam allerdings nicht heraus, aber dies war ausreichend, um mein Interesse an der Programmierung zu wecken. Ich begann damit, kleinere Programme in QBasic zu schreiben. Erfolge hätte ich wohl keine gehabt, wäre da nicht ein Freund gewesen, der bereits ein wenig Erfahrung in der Basic-Programmierung hatte. Im Gegensatz zu heute - wo ich fast ausschließlich aus Büchern lerne - habe ich mir dies damals nur mit der Hilfe Anderer sowie aus der Hilfedatei erarbeitet. An meinem weiteren Werdegang ist wenig Interessantes dabei. Irgendwann begann ich damit, mir Fachbücher zu kaufen, um damit noch weitere Programmiersprachen zu erlernen.

Thomas: In welchen Sprachen programmierst Du?
Andreas: An Hochsprachen beherrsche ich C, C++, Pascal, Basic und Delphi. Zur Windows- Programmierung setze ich hauptsächlich Delphi ein, zur DOS- Programmierung Pascal, C oder C++. In Basic programmiere ich nur noch sehr selten. Pascal ist dagegen eindeutig meine Lieblings - Programmiersprache

Thomas: Was macht die Objektorientierte Programmierung (OOP) aus? Kannst Du in ein paar Sätzen die Prinzipien von OOP grob erklären? Worin lagen für Dich und andere eigentlich die Schwierigkeiten beim Umstieg von C auf C++ ?
Andreas: Zweck der Objektorientierten Programmierung (OOP) ist es, einen Bezug zur Wirklichkeit herzustellen. Mittel zum Zweck ist hierbei das Objekt, das die reale Welt repräsentieren soll. Das Wesentliche zu einem Objekt (in C++ "Klasse" genannt) realitätsgetreu zusammenzufassen, bezeichnet man als "Abstraktion". Ein Objekt beinhaltet Eigenschaften (Variablen, Konstanten, Arrays, etc.) und Methoden, das sind Elementfunktionen, die man auf das Objekt anwenden kann.

Ein weiterer wichtiger Mechanismus ist die "Kapselung". Zweck der Kapselung ist die Zugriffssteuerung (Verbergen von Daten) zwischen den einzelnen Objekten. Ein Objekt kann die Eigenschaften einer oder mehrerer Klassen übernehmen. So etwas bezeichnet man als "Vererbung" bzw., sollen die Eigenschaften mehrerer Objekte übernommen werden, als "Mehrfachvererbung". Zur Objektorientierten Programmierung gehören noch weitere Mechanismen - wie etwa der "Polymorphismus" - welche je nach Programmiersprache implementiert oder nicht implementiert, also verwendbar oder nicht verwendbar sind.

Die Umstiegsschwierigkeiten von C auf C++ liegen bei der Erlernung der Objektorientierten Programmierung, die so ziemlich jedem, der zum ersten Mal damit konfrontiert wird, Schwierigkeiten bereitet. Auch ich hatte bei deren Erlernung gravierende Schwierigkeiten!

Thomas: Programmierst Du wirklich selber in JavaScript und VBScript oder bastelst Du nur - wie ich selber und die meisten Anderen - vorhandene Scripts für Deine Bedürfnisse zurecht?
Andreas: Ich bevorzuge JavaScript. VBScript zu benutzen, zahlt sich für mich nicht aus, da VBScript nur vom Internet Explorer unterstützt wird, und ich auch den Benutzern anderer Browser die Möglichkeit geben möchte, eine korrekt dargestellte Seite zu sehen. Sollte ich einmal ein Java-Script benötigen, schreibe ich dieses selbst. Den Aufwand, nach einem Public Domain - Skript zu suchen, mache ich mir nicht.

Thomas: TurboPascal im Vergleich zu QuickBasic - kannst Du dazu etwas sagen? Es könnte jemand folgendermaßen diskutieren: "Wenn man sich in QB zwingt, alle Variablen zu deklarieren und das GOTO zu vermeiden, hat man doch auch automatisch einen wohlstrukturierten Programmierstil und schließt Spagetticode von vornherein aus. Insofern ist QBasic doch gleichwertig mit TurboPascal"
Andreas: Sicherlich stellt das Deklarieren einer jeden Variable und das Vermeiden von GOTO eine starke Verbesserung in punkto Übersichtlichkeit dar, dennoch erreicht man damit nicht dieselbe Leistungsfähigkeit, die (Turbo) Pascal bietet. Ein Grund mag sicher auch sein, dass Basic einen sehr schlechten Ruf aufgrund dessen Einsatz (kleine Spiele, keine professionelle Anwendung, früher die Einsteigersprache schlechthin) hat.

Ein entscheidender Vorteil von Pascal ist jedoch, dass dessen Syntax der von C (sowie C++, Java, usw.) ziemlich stark ähnelt und somit den Umstieg einfacher macht als den von Basic. Ab der Version 6.0 bietet Turbo Pascal - der für die starke Verbreitung von Pascal verantwortliche Compiler - die Möglichkeit, objektorientiert zu programmieren. Im Gegensatz zu C++ sind hier die Möglichkeiten vereinfacht sowie eingeschränkt, jedoch ausreichend für den Hobbybereich. Die objektorientierten Programmiererfahrungen unter Pascal erleichtern dem Programmierer den Umstieg auf C++ oder eine andere objektorientierte Sprache.

Thomas: Kannst Du mir eigentlich sagen, warum so wenige Profis Delphi verwenden?
Andreas: Dies ist auf die Popularität der Sprache C++ zurückzuführen, die allgemein anstelle von Delphi im Windows-Sektor verwendet wird. Da weder Pascal noch Delphi sehr häufig unterrichtet werden - und sich nur wenige Leute die Mühe machen aus Büchern zu lernen - kam dies zustande. Manche Programmierer haben außerdem eine gewisse Abneigung gegenüber der Programmiersprache Pascal, wodurch für sie auch keine Verwendung einer auf (Object) Pascal basierenden Sprache in Frage kommt.

Thomas: Was hast du ganz konkret für Programme in den verschiedenen Sprachen erstellt? Kann man die irgendwo downloaden, um von einem Profi zu lernen?
Andreas: Die meisten Anwendungen, die ich schreibe, verwende ich zum eigenen Gebrauch. Ein Beispiel: Soll etwa eine große Anzahl an Dateien nach einem bestimmten Schema umbenannt werden, oder soll in einer anderen Weise ein Dateizugriff erfolgen, dann ist die Entwicklung eines eigenen Programmes entweder unumgänglich oder günstiger. Manche Programme schreibe ich speziell für andere, wie etwa einen von mir programmierter Dateisplitter. Spiele programmiere ich aus Zeitgründen grundsätzlich nicht.

Thomas: Kannst Du etwas über Deine momentanen Projekte berichten?
Andreas: Zur Zeit habe ich nur ein Projekt: www.Tutorials.at, dem ich auch eine Menge Zeit widme. Da ich selbst noch zur Schule gehe, ist meine Zeit sehr begrenzt. Dadurch würde mir auch keine Zeit für weitere Projekte bleiben.

Thomas: Was rätst Du einem QB-Programmierer, der aus seinem Programm heraus auf das Internet zugreifen und z.B. E-Mails versenden will?
Andreas: Ohne jemanden kränken zu möchten, aber ich denke, Basic ist hierfür die falsche Programmiersprache. Die Möglichkeiten dazu bestehen aber natürlich.

Thomas: Wie siehst Du die Zukunft von QBasic, QuickBasic und MS-DOS?
Andreas: Sagen, dass QBasic und Co bald der Vergangenheit angehören werden, kann und will ich nicht. Basic erfreut sich - wie andere tot gesagte Programmiersprachen auch - stetiger Beliebtheit, ein Ende dessen ist fast nicht abzusehen. Selbst in 5 Jahren (eine Ewigkeit in der IT- Branche) wird es mit Sicherheit noch genügend Basic-Programmierer geben. Microsofts Verkaufspolitik könnte da allerdings früher oder später einen Strich durch die Rechnung machen. Schon lange wird behauptet, DOS würde früher oder später komplett aus dem Betriebssystem entfernt werden - etwas, das ich bis heute nicht nachvollziehen kann. Immerhin bietet jedes moderne Betriebssystem, wie etwa Linux, BeOS, usw., eine Shell an.

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?
Andreas: Hobby-Programmierern rate ich den Umstieg zu Delphi. Wem hohe Funktionalität sowie Einfachheit wichtig ist, dürfte damit die richtige Programmiersprache gefunden haben. Allerdings wird Delphi professionell sehr selten eingesetzt. Wer einen IT-Beruf anstrebt kommt nicht darum herum, C++ zu lernen.

Thomas: Gibt es eigentlich auch QBasic-ähnliche Sprachen für Linux und BeOS?
Andreas: Auch für Linux und BeOS sind Basic-Interpreter (bzw. Compiler) verfügbar, die mehr oder weniger den gängigen BASIC Standards entsprechen. In einigen Distributionen ist eine BASIC Sprache sogar im Lieferumfang erhalten.

Thomas: Welche weiteren Ratschläge kannst Du einem QBasic- Einsteiger geben?
Andreas: Üben, üben, üben. Nur durch häufiges Üben kann man Programmieren lernen, ganz egal um welche Programmiersprache es sich handelt. Theorie alleine ist nicht ausreichend.

Thomas: Was verstehst Du genau unter "üben, üben, üben"? Wie übt man richtig? Kannst Du das bitte noch etwas konkretisieren?
Andreas: Sobald man etwas Neues gelernt hat, sollte man dies sofort ausprobieren und versuchen, das Erlernte auch anzuwenden. Es macht keinen Sinn, bloß Beispiele abzutippen. Das Schreiben eigener Programme entscheidet darüber, ob man das Erlernte behält oder gleich wieder vergisst. Täglich sollten so mehrere kleine Programme entstehen. Hin und wieder ist es auch sinnvoll, ein größeres Programm zu schreiben. So gewöhnt man sich allmählich an einen längeren Quellcode und daran, auch dort noch die Übersicht zu behalten. Auch gilt es, komplexere Probleme zu lösen und selbst geeignete Algorithmen dafür zu entwickeln.

Thomas: Spiele für Linux - denkst Du über so etwas nach?
Andreas: Da ich selbst so gut wie nie Spiele programmiere: Nein. Da Linux meiner Meinung nach ein - wenn nicht das - Betriebssystem mit (der) Zukunft ist, ist Spiele-Programmierung für Linux sicherlich sinnvoll. Dass selbst große Firmen Spiele für Linux entwickeln, zeigt, dass sich auf diesem Sektor in Zukunft noch viel tun wird.

Thomas: Spiele-Programmierung in VB oder Delphi - macht das Sinn?
Andreas: Schlichte Antwort: Ja. Insbesonders Delphi steht C++ in fast nichts nach und stellt somit in vielen Fällen eine Alternative dar.

Thomas: Was hast Du für Zukunftsprojekte?
Andreas: Konkret geplant ist noch kein Projekt. Da www.Tutorials.at meine Zeit sehr beansprucht, dürfte in der nächsten Zeit kein neues Projekt in Aussicht sein.

Thomas: Wie willst Du Dich beruflich entwickeln?
Andreas: So weit ich das jetzt bereits sagen kann, sehe ich meine Zukunft in der IT-Branche. Mein persönliches Ziel ist der Weg in die Selbstständigkeit, was durchaus ein ziemlich hoch gestecktes Ziel darstellt und natürlich auch das hohe Risiko eines Verlustes mit sich bringt. Um die Chance auf wirklichen beruflichen Erfolg zu ergreifen, werde ich diese Risiken wohl in Kauf nehmen müssen.

Thomas: Wieso machst du dir bereits in jungen Jahren bereits die Arbeit, und eignest dir solches Fachwissen an - was für dein Alter alles andere als üblich ist?
Andreas: Auch das hängt mit meiner beruflichen Zukunft zusammen. Mein persönliches Ziel ist es, mir in der kürzest möglichen Zeit möglichst viel Wissen zur Informatik, Telekommunikation sowie zu wirtschaftlichen und kommunikativen Themen anzueignen. Einerseits versuche ich dies durch meine schulische Ausbildung, andererseits durch freiwilliges persönliches Erlernen, eine Methode, auf Grund derer ich bereits sehr früh einen reichen Erfahrungsschatz ansammeln konnte.

Thomas: Warum hört man so wenig von PowerBasic - im Vergleich zu QBasic?
Andreas: QBasic liegt MS-DOS ab der Version 3.3 bei. PowerBasic oder Ähnliches muss extra erworben/heruntergeladen werden. Viele Leute wollen sich diese Mühe nicht machen und verwenden das mitgelieferte QBasic, da sie dessen Funktionaltität für ausreichend halten.

Thomas: Hast Du noch andere Hobbies außer Programmieren? Was macht Andreas alles privat?
Andreas: Selbstverständlich. Wichtig ist auch der richtige Ausgleich zur Programmierung, oder was man sonst so am Computer macht. Insbesonders Sport ist hierfür wunderbar. Ich selbst gehe u.a. sehr viel Rad fahren. Ebenso viel Zeit wie mein Projekt Tutorials.at in Anspruch nimmt, nehmen Mädchen ein, oder besser gesagt eines - auch eine schöne Freizeitbeschäftigung. ;-)

Thomas: Vielen Dank Andreas für die höchst aufschlussreichen Antworten! Ich bin überzeugt, dass der Leser jetzt erstmal voller Neugier Deine Seite www.tutorials.at/ ansurfen wird.





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