Forum: Mikrocontroller und Digitale Elektronik AVR-Ada v0.3 released


von tex (Gast)


Lesenswert?

Gerade fand ich den News-Beitrag AVR-Ada v0.3 released
Das schaut mir so ein bisschen wie Pascal aus, oder zumindest daran
angeleht, was natürlich auch bedeuten könnte, das Pascal an ada
angelehnt ist.
Kennt sich jemand damit aus und kann eine Silbe mehr dazu sagen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


von Bri (Gast)


Lesenswert?

Ada Programmierer reiten gerne drauf rum, dass Ada für
sicherheitskritische Anwendungen entwickelt wurde und deshalb viel
besser und toller als C ist. Aber die Ariane 5 ist beim ersten Start
trotzdem explodiert :-)

von tex (Gast)


Lesenswert?

@Bri
Schon, aber das lag daran, das ein Dödel die Software von der Ariane 4
in das system geladen hatte.

von tex (Gast)


Lesenswert?

die Anzahl der Ada Programmierer in diesem Forum scheint aber
überschaubar klein zu sein ...
Falsches Forum?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Beides ist durchaus möglich.
Ich würde mir vermutlich 'nen anderen Job suchen als in Ada
programmieren zu müssen. Ja, das ist ein Vorurteil, aber ich will auch
nicht in Pascal-artigen Sprachen programmieren müssen.

von tex (Gast)


Lesenswert?

warum nicht?
Ich finde es angenehmer als C, wobei C zugegeben hardwarenaher ist.

von Santa Klaus (Gast)


Lesenswert?

>aber ich will auch
>nicht in Pascal-artigen Sprachen programmieren müssen.

Warum nicht?  Was findest Du an pascal-artigen Sprachen "besonders
wenig gut"?  Programmierst Du lieber in C?  Wenn ja, worin liegen für
Dich die Vorteile gegenüber pascal-artigen (oder anderen) Sprachen?

PS: Diese Fragen sind nicht provokant gemeint, und werden hoffentlich
nicht zu einem dieser wohlbekannten
"Programmiersprachen-Glaubenskriege" führen.  Du bist mir durch Deine
stets kompetenten Beiträge in diesem Forum aufgefallen, und mein
Interesse an Deiner Meinung ist rein sachlicher Natur.

von Holzfäller (Gast)


Lesenswert?

Ich weiß nicht wie es euch geht aber ich programmiere in C++ schneller
als in Pascal. Das liegt an den ganzen 'begin's, 'end's, 'then's,
etc... Das macht den Code auch irgendwie unübersichtlicher. Auch das
':=' kann ich nicht leiden.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

@Santa Klaus:

Ich habe keine wirklich sachlichen Argumente für meine Bevorzugung von
C gegenüber Pascal; aber mir gefällt einiges an Pascal nicht, was ich
in C besser realisiert finde. Das sind persönliche Geschmacksansichten,
also bitte nicht als Evangelismus werten.

Mir gefällt die Syntax nicht:

- Wann und wann nicht am Zeilenende ein Semikolon zu setzen ist, hat
mich beim Pascal-Programmieren schon fluchen lassen
- Das IMHO völlig entbehrliche Schlüsselwort "then"
- Der Punkt am Ende ("Compiler out of sync or no .")

Systemfunktionen sind teilweise sehr seltsam (oder von mir nicht
verstanden):

- Die vergurkten und absolut uneinheitlichen Funktionen für
Dateizugriffe
- Die (s.o.) Funktionen für formatierte Ausgabe von Zahlen oder Text
auf eine etwaige Konsole

Anderes:

- mit der Sprache selbst nicht realisierbare Funktionen mit variabler
Argumentenliste sind Sprachbestandteil
(writeln kann man beliebig viele Argumente übergeben, aber wie schreibt
man in Pascal ein Äquivalent?)
- Strings sind nur 255 Zeichen lang
(wenn ich mich recht erinnere, wird ein String im Speicher mit einem
vorangestellten Längenbyte abgelegt)
- das sehr akademische Pointerkonzept
- lokale Funktionen in beliebiger Schachtelungstiefe
(Theoretisch schick, leitet aber nicht gerade dazu an, Code
wiederverwendbar zu schreiben)
- wenn ich mich nicht völlig irre: Keine Funktionspointer
- das nicht wirklich vorhandene Modulkonzept

Zwar gibt es mit TurboPascal und dessen Units einen Versuch, Module zu
unterstützen, aber ein Äquivalent zum Arbeiten in C ist IMHO nicht
möglich. Ohne den Quelltext einer Unit vorliegen zu haben, kann man
nichts über deren Interface in Erfahrung bringen; bei einer übersetzten
Objektdatei ist das Interface in der zugehörigen C-Headerdatei
beschrieben.
Außerdem ist TurboPascal != Pascal. Wenn auch Delphi/Kylix die
TurboPascal-Konzepte fortführen, so ist eine borland-spezifische
Spracherweiterung nicht in anderen Pascalcompilern zu finden. Was mache
ich auf einer nicht von Borland unterstützten Plattform?

Zum Programmieren_lernen_ ist Pascal sicherlich 'ne ganz nette Sache,
weil man sich dabei auf bestimmte Konzepte der strukturierten
Programmierung konzentrieren kann, aber wenn man auch nur etwas
hardwarenaher programmiert (mein täglich Brot), dann verzweifelt man
schnell aufgrund aller möglichen Einschränkungen.

Ich habe "damals", als ich mich mit Pascal nicht anfreunden konnte,
mit drei verschiedenen Pascal-Compiler gearbeitet; UCSD-Pascal auf
einem Apple II (was ich schnellstmöglichst einstellte, was weniger an
der Sprache an sich als am Diskettenjonglieren lag), einem anderen
8-Bit-Compiler auf einem 6809 und TurboPascal 4 bis 5.5 auf einem PC.

Naja, dazu kommt noch, daß ich auf einigen Plattformen gearbeitet habe,
für die (zumindest für mich) kein Pascal-Compiler verfügbar/zugänglich
war. C-Compiler hingegen immer, auch wenn ich C erst mit der Einführung
von ANSI-C habe schätzen lernen können.

Ich programmiere halt schon seit etwa fünfzehn Jahren zum Gelderwerb in
C und habe daher auch etwas Erfahrung damit gesammelt, daß bestimmte
wirklich unangenehme Eigenheiten von C, über die Anfänger oft (oder
fast schon immer) stolpern, mir halt bekannt sind.
Als eine größere Fingerübung zum C-Programmieren lernen habe ich mal
einen C-Compiler ("Small C") auf einen von mir verwendeten Prozessor
portiert und ein, zwei Sprachelemente von "richtigem C" nachgerüstet.
Das Endergebnis war zwar nicht von großer Tragweite, aber ich habe dabei
viel gelernt.

Also: viel persönliches Bauchgefühl, aber vielleicht auch der eine oder
andere "härtere" Kritikpunkt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.