Ist mit 9,90 Euro auch nicht allzu teuer
Für meine Amigas habe ich noch das Originale Lattice C zur Hand, aber was nehme ich auf dem ST?
Da frage ich mich jedesmal, ob die nicht immens voneinander abweichen. GfA-Basic-Programme laufen mit einem Omicron-Compiler ja auch nicht. Und mit meinen mit TurboAss geschriebenen Sourcen konnte Devpac auch überhaupt nichts anfangen (echt der Hammer...).
Ich habe mich mal gestern noch ein wenig schlau gemacht;
Verstehe ich es richtig, daß die Sprache eigentlich komplett über die Bibliotheken definiert wird, die man verwendet?
Dann dürfte es ja eigentlich gar keine Kompatibilitätsprobleme geben, sofern jeder Compiler auch jede Bibliothek versteht.
Das heißt ja aber auch, daß die Möglichkeit einer Konvertierung z.B. eines PC-Programms in erster Linie davon abhängt, daß die verwendeten Bibliotheken für die Atari-Umgebung umgeschrieben wurden bzw. vorhanden sind - und wenn ja, man das Teil dann relativ einfach auf dem Atari kompilieren kann?
Sieht jedenfalls sehr flexibel aus, was ich da so lese.
Aber die Syntax wirkt trotzdem absolut abschreckend :-X
da liegt aber das Problem. Nicht jeder Compiler muß jede Lib-Verstehen. das war z.B. bei Szobzon und Gnu der Fall. Pure C war (weil closed Source) wiederum etwas anderes und hatte (auch) komplett eigene Biliotheken, die nicht austauschbar waren....
Pure C habe ich oft gehört - allerdings auch schon vor ...äh... zwanzig Jahren.
Ich habe einzig Schiss davor, sowas zu erleben wie mit Assembler damals:
Ich hatte immer mit den TurboAss. genommen und dann mal - weil vor allem die Engländer immer so davon schwärmten - den Devpac probiert. Und der hat einfachste Sourcen (nach TurboAss. Art) nicht angenommen (stellenweise ganz einfache Ausdrücke), wir hatten damals nie rausgefunden wieso - hatten aber auch kein Referenzbuch. Das hatte ziemlich demotiviert.
Sowas will ich vermeiden, also nicht daß ich mich in Pure C einlese (weils einfacher ist), irgendwann feststelle daß man damit nicht weiter kommt, ein anderes C probiere und wieder nichts klappt weil alles anders ist.
In C alles eine Sache der Library. Zum Anfangen auf dem ST würde ich übrigens entweder AHCC oder Pure C empfehlen. Alle anderen COmpiler sind entweder nicht zu benutzen (gcc) oder unterstützen nur antikes K&R C.
Wißt ihr was ich nicht verstehe?
Wir bauen neue Ataris, entwickeln ein ganzes Betriebssystem um. Aber warum nutzt ihr nicht GCC und seit für MiNT am Compatibelsten? Ist es nicht so egal ob man 5 oder 10minuten wartet bis die sourcen kompiliert sind?
Hmm ist aber genau der Stil der viele Anfänger abschreckt. Programmierer erklären C wie man es einem Programmierer erklärt.
Das Problem was ich sehe, ist das die Theorie einen erschlägt.
Ich stell mir das so vor das man sich Aufgaben ausdenkt, und dazu dann versucht mit den neulingen einen weg zu erarbeiten der zum Ziel führt.
Vorher natürlich sollten grundelemente Erklärt werden. Und erst wenn alles das verstanden haben sollte es weiter gehen.
Diesen Satz versteht KEIN Anfänger.
könntest Du nicht doch auch AHCC miteinbeziehen, zumindest in der Installation? Das ist nämlich wirklich verfügbar, Open Source und läuft auf wirklich jedem Atari.
Mensch Ragnar, ich freue mich schon richtig darauf.Ich mich auch denn mich plagte so ein Gedanke schon lange. Auf dem PC hatte ich aber nicht so richtig die Lust dazu und Atari Home kannte ich bis vor kurzem noch nicht - das lag daran, daß ich lange im Ausland war und meine lieben Ataris in Deutschland waren. Wir sind jedoch wieder glücklich vereint :)
#include<stdio.h>
int main()
{int n1;
int n2;
int n3;
char op;
op='j';
while(op=='j' or op=='J') {
printf("Bitte gib nun die 1. Zahl ein: ");
scanf("%d", &n1);
printf("und nun die 2. Zahl: ");
scanf("%d", &n2);
printf("Welche Rechenoperation möchtest Du wählen? ");
scanf("\n%c", &op);
printf("Dieses Zeichen wurde eingegeben: '%c' ", op);
if (op=='+') {n3=n1+n2;}
else if (op=='-') {n3=n1-n2;}
else if (op=='*') {n3=n1*n2;}
else if (op=='/') {n3=n1/n2;}
else {printf("Du hast leider as falsche Zeichen eingegeben. ");n3=0;}
printf("Ergebnis: %d\n", n3);
printf("Möchtest Du weiter rechnen? ");
scanf("\n%c", &op);
if (op=='j' or op=='J') printf("Gut, dann nochmal =) ");
if (op=='n' or op=='N') printf("Auf wieder sehn ");
}
}
switch(op) {
case '+':
n3=n1+n2;
break;
case '-':
n3=n1-n2;
break;
case '*':
n3=n1*n2;
break;
case '/':
n3=n1/n2;
break;
default:
printf("Du hast leider as falsche Zeichen eingegeben.);
n3=0;
break;
}
#include<stdio.h>
int main() {
int n1;
int n2;
int n3;
char op;
op='j';
while(op=='j' or op=='J')
{
printf("Bitte gib nun die 1. Zahl ein: ");
scanf("%d", &n1);
printf("und nun die 2. Zahl: ");
scanf("%d", &n2);
printf("Welche Rechenoperation möchtest Du wählen? ");
scanf("\n%c", &op);
printf("Dieses Zeichen wurde eingegeben: '%c' ", op);
switch(op) {
case '+':
n3=n1+n2;
break;
case '-':
n3=n1-n2;
break;
case '*':
n3=n1*n2;
break;
case '/':
n3=n1/n2;
break;
default:
printf("Du hast leider as falsche Zeichen eingegeben.);
n3=0;
break;
}
}
printf("Ergebnis: %d\n", n3);
printf("Möchtest Du weiter rechnen? ");
scanf("\n%c", &op);
if (op=='j' or op=='J') printf("Gut, dann nochmal =) ");
if (op=='n' or op=='N') printf("Auf wieder sehn ");
}
Wer C lernen will, kann sich doch den Kurs der ATOS nehmen. Warum das Rad wieder neu erfinden? Die Leidensfähigkeit der Atari-Community ist wirklich unübertroffen - war aber schon immer so ;D
Geht doch lieber auf Spezifika des Atari ein (GEM/Mint/MagiC).
Besonders die IPC von Mint/Magic und das Verstehen von ereignisprogrammierter Software halte ich für wichtiger, als noch einen C-Kurs.
Gruß, Arne
autodidaktisch bei Programmieraufgaben vorzugehen ist die erste Lektion die man zu lernen hat. Ich meine nicht damit, alle selbst zu "erdenken" - aber selbststaendig erlenen wie man ein Ziel erreicht beim Programmieren, das muss einfach drinner sein - sonst kannst Du es gleich sein lassen. Ist meine Meinung und ich glaube das wird auch ein grossteil der anderen programmierer so sehen. Natuerlich wuerdest Du immer wieder hilfe bekommen.... Aber ohne selbst-erarbeitung von Wissen wirst du meiner meinung nach, keine Eigene Software erstellen koennen.