Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Inhaltsverzeichnis Home Geschichtliches

1 Einleitung

Herzlich Willkommen zu unserem C-Kurs für die ATOS

Das Ziel des Kurses ist lediglich ANSI C. Die Programmierung von GEM oder spezieller Atari Hardware wird hier nicht behandelt. Dies würde zum einen den Rahmen des Kurses sprengen, zum anderen ist für die GEM Programmierung schon ein gewisses Maß an C Kenntnissen erforderlich.

Warum nun gerade C, wo doch mittlerweile Java und C++ in aller Munde sind?

Im Gegensatz zu Java existiert C auch für Atari Computer. C setzt weniger Anforderungen an die Leistung der Hardware als die weiterführenden Konzepte von C++ und Java voraus. Auch embedded systems (die berühmte Kaffeemaschine) werden nicht mit Java programmiert, um nicht einen 500 MHZ Pentium reinzustecken. Da sitzen durchaus noch 8 Bit Mikrocontroller drin.

Die für Java vielgepriesene Portierbarkeit spielt für solche Geräte sowieso keine Rolle, - wer möchte schon die Steuerung für seine Kaffeemaschine als Betriebssystem auf seinem PC laufen lassen - Kaffee kochen kann er sowieso nicht. Außerdem ist der Zugriff auf die spezielle Hardware nötig. Deshalb kommt man mit Java allein nicht weiter. Auch hierfür eignet sich C deutlich besser.

C ist eine universelle Programmiersprache die nicht an spezielle Aufgabenstellungen gebunden ist. C Compiler erzeugen recht schnelle Programme und auch hardwarenahes Programmieren ist möglich, wie z.B. die in C geschriebenen Betriebssysteme (UNIX, TOS) zeigen.

ANSI C ist normiert und bei Beachtung einiger Regeln lassen sich die Programme leicht auf andere Plattformen portieren. Leider hat diese schöne Eigenschaft ein paar Haken. Die Programmierung einer grafischen Oberfläche oder der Zugriff auf Hardware (auch schon serielle Schnittstellen!) gehört nicht zur ANSI Norm. Damit lassen sich nur Programme leicht portieren, die über die Tastatur bedient werden. Eine gute Auteilung der Programme kann aber auch solche Portierungen erleichtern.

Der Sprachumfang von C ist Bestandteil des Sprachumfangs von C++. Damit könnte ein C++ Kurs auf einen C Kurs aufbauen. Es gibt aber auch die Meinung, daß Kenntnisse in C es erschweren, objektorientiertes Programmieren zu erlernen.

C ist eine kleine Sprache die nur aus relativ wenig Sprachelementen besteht und damit leicht zu lernen ist. Die Anwendung von Zeigern ist aber dennoch eine kleine Hürde für einen Programmieranfänger. ANSI C enthält im Sprachumfang noch eine umfangreiche Sammlung von Bibliotheken.

Der Kurs ist so aufgebaut, daß er auch für Anfängern, die noch keine Programmiersprache beherrschen, geeignet ist. Das Beispiel, das im Rahmen des Kurses entwickelt wird, dient dazu den Cookie-Jar auszulesen und die Informationen anzuzeigen. Damit ist auch der Bezug zu Atari Computern hergestellt ;-) Das Beispiel ist aber auch nicht auf andere Coputer portierbar. Umfangreichere Projekte würden nur den Blick auf das Wesentliche verdecken. Es ist jedem freigestellt, die Beispiele entsprechend zu modifizieren und weiterzuentwickeln, um eigene Vorstellungen zu verwirklichen.

Experten mögen mir verzeihen, daß ich an manchen Stellen zuerst einige Dinge vereinfache und eher lockere Erklärungen bevorzuge. Aber der Kurs wird in der Freizeit von den Teilnehmern verfolgt und Aktivitäten in der Freizeit sollten immer auch Feude machen.

Ich werde keine Übungsaufgaben stellen, da ich zum einen sehr ungern andere Menschen bewerten möchte. Auch ist es in einem Kurs in einem Magazin sehr unpraktisch, Lösungen der Teilnehmer zu besprechen. Es könnten nur Musterlösungen vorgestelt werden. Dafür werden sie häufiger aufgefordert, einige Dinge selbst zu probieren. Dadurch gewinnt man Anschauung und Anschauung erleichtert das Verständnis. Wie man nun das technische Wissen über C in eine Lösung für ein konkretes Problem umsetzt lernt man nur durch Übung. Dafür gibt es keine Richtlinien und das macht die Softwareentwicklung auch zu einem kreativen und zu einem anspruchsvollen Vorgang. Zu einem guten Programmierer gehört ein entsprechendes Wissen und entsprechende Erfahrung, also auch Übung.


Home Inhaltsverzeichnis Home Geschichtliches


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum