• Hallo Gast, du kaufst gerne günstig ein und erfährst oft vor deinen Freunden von interessanten Angeboten? Dann kannst du dein Talent als Schnäppchenjäger jetzt zu Geld machen und anderen PCGH-Lesern beim Sparen helfen! Schau einfach mal rein - beim Test der Community Deals!

Alternative zu Bascom und Turbo Pacal

wuschi

PC-Selbstbauer(in)
Wie der Titel es schon beschreibt suche ich eine alternative zu den genannten Programiersprachen resp tutorials zu den Sprachen... Wieso? Ich hab mal wieder lust zu programmieren weil ich beim aufräumen meinen atmega32 wiedergefunden habe und jetzt bisl hilfe brauch um wieder rein zu kommen
 
TE
wuschi

wuschi

PC-Selbstbauer(in)
hm dan hab ich da wohl was falsch verstanden in der schule haben wir den code in bascom geschrieben (AVR studio4) und dann auf den atmega gespielt ...kann natürlich sein dass da im hintergrund ein converter gelaufen ist :schief:
 
TE
wuschi

wuschi

PC-Selbstbauer(in)
OK jetzt bin ich schon wieder bisschen schlauer:daumen:
was ist eigentlich der grösste unterschied zwischen BAscom und C , resp wird C noch gebraucht ??
 
TE
wuschi

wuschi

PC-Selbstbauer(in)
ok supi dan glaub ich werd ich mich mal in c hinein knien
Ist C++ eine erweiterte "form" von C
 

thysol

BIOS-Overclocker(in)
C. Mit was anderem kannst du die atmegas gar nicht programmieren.

Nein, die kann mann auch mit Fortran, Objective-C, Objective-C++ und ein paar weiteren programmieren. GCC hat für die genannten Sprachen front-ends und bietet AVR als target plattform an.

hm dan hab ich da wohl was falsch verstanden in der schule haben wir den code in bascom geschrieben (AVR studio4) und dann auf den atmega gespielt ...kann natürlich sein dass da im hintergrund ein converter gelaufen ist :schief:

Ich will mal bezweifeln das da ein Converter läuft.

AVR Studio compiled das ganze zu C.

Woher hast du das? Alle compiler die ich kenne machen sowas nicht. Wenn mehrere Programmier Sprachen unterstützt werden wie bei GCC zum Beispiel, dann hat der Compiler einfach mehrere Front-ends. Jede Programmier Sprachen spezifische front-end kompiliert dann den Code in einen internen temp code, der dann wiederum in den Maschinen Code umgewandelt wird. Siehe hier:

File:Compiler.svg - Wikipedia, the free encyclopedia

Und überleg mal, der Aufwand eine Programmiersprache in C zu konvertieren dürfte in etwa die gleiche sein wie den Code in internen temp code zu kompilieren, nur das wenn mann erst in C umwandelt der gleiche Spass nochmal von vorne beginnt, total ineffizient.

ok supi dan glaub ich werd ich mich mal in c hinein knien
Ist C++ eine erweiterte "form" von C

C++ ist C++. Ist eine andere Programmiersprache.

C++ ist trotzdem eine erweiterte Form von C, alleine der Name schon..........
 

Leandros

PCGH-Community-Veteran(in)
C++ bzw früher "C with classes" ist eine andere Programmiersprache. Deiner Logik nach könntest du genau so sagen, Java ist C++ nur erweitert.

Ja. Du hast natürlich Recht. Da wird nichts "converted". Ist mir schon klar. War nur einfacher zu sagen. :D
Kommt eh immer assembly bei raus.

Das avr target für gcc ist doch extern? Ich bin mir nicht sicher das es alle frontends unterstützt.
 

Crysis nerd

Freizeitschrauber(in)
C++ ist trotzdem eine erweiterte Form von C, alleine der Name schon..........

Wenn der Name zählt, ist ja auch Javascript eine Erweiterung von Java...

C++ ist komplett abwärtskompatibel zu C90 (dem Standard der '90 verabschiedet wurde). Abwärtskompatibel heißt, dass C90 Code mit einem C++ Compiler immer noch compiliert. Daher scheint es, als wäre es eine Erweiterung. Das stimmt aber nicht, wie Leandros schon gesagt hat. C++ fügt mehr core-language features hinzu, als C überhaupt schon hatte. Ich will nicht die C-Fans entzürnen, aber es ist, als würde man sagen, ein Haus ist die Erweiterung eines Steins :P
Darüber hinaus wurden C++ und C weiterentwickelt und haben sich voneinander entfernt. Es gab die C Standards C99 und C11 sowie die C++ Standard C++03, C++11 und C++14. Jeder dieser Standards hat neue Features hinzugefügt, einige davon sind nur in C und einige nur in C++ verfügbar. Also: Zwei verschiedene Sprachen.
 

thysol

BIOS-Overclocker(in)
C++ bzw früher "C with classes" ist eine andere Programmiersprache. Deiner Logik nach könntest du genau so sagen, Java ist C++ nur erweitert.

Wenn der Name zählt, ist ja auch Javascript eine Erweiterung von Java...

C++ ist komplett abwärtskompatibel zu C90 (dem Standard der '90 verabschiedet wurde). Abwärtskompatibel heißt, dass C90 Code mit einem C++ Compiler immer noch compiliert. Daher scheint es, als wäre es eine Erweiterung. Das stimmt aber nicht, wie Leandros schon gesagt hat. C++ fügt mehr core-language features hinzu, als C überhaupt schon hatte. Ich will nicht die C-Fans entzürnen, aber es ist, als würde man sagen, ein Haus ist die Erweiterung eines Steins :P
Darüber hinaus wurden C++ und C weiterentwickelt und haben sich voneinander entfernt. Es gab die C Standards C99 und C11 sowie die C++ Standard C++03, C++11 und C++14. Jeder dieser Standards hat neue Features hinzugefügt, einige davon sind nur in C und einige nur in C++ verfügbar. Also: Zwei verschiedene Sprachen.

Na gut, ich dachte halt nur weil C code gleichzeitig auch valider C++ code ist, das ist ja bei Java und C++ nicht der Fall, aber ihr habt Recht, mein Fehler.:)

Ja. Du hast natürlich Recht. Da wird nichts "converted". Ist mir schon klar. War nur einfacher zu sagen. :D
Kommt eh immer assembly bei raus.

Das avr target für gcc ist doch extern? Ich bin mir nicht sicher das es alle frontends unterstützt.

Ich glaube du hast Recht. Es gibt ein seperates avr-gcc.
 
Oben Unten