Forum: Mikrocontroller und Digitale Elektronik ADA lernen JA/NEIN? Einstieg in Embedded Systems.


von David (limeout)


Lesenswert?

Hallo Community,

ich möchte mich intensiver mit Embedded Systems und Echtzeitsystemen 
beschäftigen, finde aber den richtigen Einstieg nicht so recht.

Im Studium habe ich ein wenig mit ADA (Ravenscar-Subset) auf 
STM32-Boards gearbeitet. Als Hobby habe ich außerdem erste Erfahrungen 
mit dem ESP32 und FreeRTOS gesammelt sowie grundlegende Programmierung 
mit AVR und C ausprobiert.

Nun frage ich mich, welcher Weg langfristig am meisten Sinn ergibt. 
Besonders ADA mit Ravenscar hat mir viel Spaß gemacht: Die Sprache 
wirkte auf mich sehr logisch, robust und durchdacht – auch wenn die 
Programmierung teilweise etwas umständlich war.

Ich bin mir unsicher, ob es sich lohnt, tiefer in ADA einzusteigen, oder 
ob meine Zeit in anderen Sprachen besser investiert wäre. Hat jemand von 
euch Erfahrung damit? Welche Sprachen und Tools werden heutzutage 
typischerweise für Echtzeitsysteme eingesetzt? Ist ADA noch relevant 
oder eher ein Auslaufmodell?

Beeindruckt hat mich z.B. dieses Projekt hier – eine kleine 
2D-Physik-Engine in ADA:
https://github.com/Kidev/DemoAdaPhysics2D
Allerdings ist das verwendete Board auch schon über 10 Jahre alt und mit 
rund 50 € definitiv nicht das günstigste.

Wie seht ihr das? Hat ADA noch eine Zukunft in der Embedded-Welt – oder 
ist es eher ein Relikt vergangener Tage?

Ich freue mich auf eure Meinungen und Erfahrungen!

von Nemopuk (nemopuk)


Lesenswert?

Programmiersprachen kommen und gehen  wie unterschiedliche 
Schraubendreher. Interessanter sind die Produkte, die nan damit baut. 
Wenn du irgendeine eine Programmiersprache drauf hast  sammle damit 
Erfahrung. Diese auf eine andere Sprache umzusetzen, ist im Vergleich zu 
anderen Aufgaben eine der einfachen. Es ist besser, in wenigstens einer 
Programmiersprache sehr gut zu sein, als in vielen auf Anfänger Lebel.

von Vanye R. (vanye_rijan)


Lesenswert?

> Wie seht ihr das? Hat ADA noch eine Zukunft in der Embedded-Welt – oder
> ist es eher ein Relikt vergangener Tage?

In der Embedded Welt hat derzeit nur ein Relikt vergangener Tage eine 
Zukunft und das heisst C. Vielleicht noch C++. Es gibt auch ein paar die 
bruellen jedem ins Ohr das die Zukunft Rust sein wird, aber solange die 
noch bruellen ist das sehr sehr unsicher.

Aber zum programmieren gehoert sehr viel mehr als eine 
Programmiersprache. Sowas ist nur eine austauschbare Grundlage.

Vanye

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Erster Post von einer Neuanmeldung. Ist denn heute schon Freitag? Ach 
ne, nur langes Wochenende.

Für diejenigen, die irgendwann später diesen Thread finden weil sie 
wirklich das Problem haben:

Als "Studierter" in der Softwareentwicklung sollte man mehr können und 
wollen als nur Kodieraffe zu spielen.

Programmiersprachen sind nur ein kleiner Teilaspekt der 
Softwareentwicklung. Man baut seine Karriere nicht um eine 
Programmiersprache oder ein Tool herum auf. Zumindest nicht als 
"Studierter" der Karriere machen will statt nur Kodieraffe zu sein.

Programmiersprachen sind Handwerk von denen man mehrere kann. Was gerade 
benötigt wird. Man ist in der Lage sich schnell noch eine weitere drauf 
zu schaffen wenn es gefragt wird.

Spezifisch für ADA:

ADA spielt sich hauptsächlich in Nischen in der Luft- und Raumfahrt und 
in der Verteidigung ab. Kurz: Fliegt und/oder macht Bum. In 
Programmiersprachen-Indizes wie TIOBE ist ADA aus gegebenem Anlass 
aufsteigend (aktuell Platz 15 in TIOBE, vor 12 Monaten noch 22. 
Langzeitkurve über Jahrzehnte allerdings absteigend [1]).

Aktuelle findet man auf 
https://de.indeed.com/q-ada-programmierung-jobs.html sechs "ADA"-Jobs. 
Bei gerade mal zwei scheint es wirklich um die Programmiersprache zu 
gehen. Dabei in beiden Fällen als "nett zu können" gewünscht, kein 
absolutes Muss. Branche? Fliegt und macht Bum.

Wenn man da hin will und dort in eine ADA-Nische, dann lernt man halt 
mal ADA. Das schreibt man unten in seine Bewerbung mit rein. Nach den 
anderen Fähigkeiten mit denen man glänzen möchte. Neben all den anderen 
Programmiersprachen die man kann.

__
[1] Programmiersprachen-Indizes sind mit Vorsicht zu genießen.

: Bearbeitet durch User
von David (limeout)


Lesenswert?

Jup, ok Boomer.

Habe die Kernaussage verstanden. Programmiersprachen sind Werkzeuge und 
und manche eignen sich besser für einen Job als andere. Und Tischler ist 
man nicht dann, sobald man die Kreissäge beherrscht.

Kodieraffe möchte plane ich nicht zu werden, sondern ich möchte 
hobbymäßig qualitative, robuste Embedded Systeme entwerfen und suche das 
richtige Werkzeug dafür. In der Hoffnung Tipps von Experten zu erhalten 
bot sich dieses Forum an.

Danke dennoch für die Aufklärung.

von Oliver S. (oliverso)


Lesenswert?

David schrieb:
> ich möchte
> hobbymäßig qualitative, robuste Embedded Systeme entwerfen und suche das
> richtige Werkzeug dafür.

Das Merkmal eines Hobbies ist das Fehlen der Sinnanforderung. Ob du da 
Basic, Assembler, ADA, oder Brainfuck verwendest, ist dein reines 
Privatvergnügen.
Hilfreich ist es aber in all den Fällen, daß es eine brauchbare und gut 
verfügbare Toolchain für die Hardware deiner Wahl gibt.

Abgesehen davon brauchts zum Entwurf eh gar keine Programmiersprache.

Oliver

von Harald K. (kirnbichler)


Lesenswert?

David schrieb:
> Jup, ok Boomer.

Bist Du jetzt enttäuscht, weil Deine Begeisterung für Ada nicht geteilt 
wird?

von Ralf D. (doeblitz)


Lesenswert?

David schrieb:
> Kodieraffe möchte plane ich nicht zu werden, sondern ich möchte
> hobbymäßig qualitative, robuste Embedded Systeme entwerfen und suche das
> richtige Werkzeug dafür. In der Hoffnung Tipps von Experten zu erhalten
> bot sich dieses Forum an.

Wenn du es hobbymäßig für dich alleine machen willst: tu es.
Wenn du dich mit gleichgesinnten austauschen willst: such mal nach "ADA" 
in Foren wie diesem. Dann siehst du, wieviele sich darüber mit dir 
potentiell unterhalten könnten/würden. Wenn du kaum Treffer bekommst, 
dann solltest du eher die Finger davon lassen. Verbreitet sind eben 
immer noch C, C++ und Assembler. <schulterzuck>

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

David schrieb:
> Welche Sprachen und Tools werden heutzutage typischerweise für
> Echtzeitsysteme eingesetzt?
Auf der ganz harten Echtzeit im us-Bereich: C und C++. Wenn langsamer 
auch reicht: Java und Python. Aber in der Industrie programmiert kein 
Mensch in Ada.

> Nun frage ich mich, welcher Weg langfristig am meisten Sinn ergibt.
Dann schau mal von deinem "habe ich im Studium 
kennengelernt"-Suppenteller auf in die weite Welt hinein. Dann stellt 
sich diese Frage ganz anders: Was willst du in 10 Jahren machen?

von Pandur S. (jetztnicht)


Lesenswert?

Anwendungen .. Weltraum, Hochsicherheit. Seltsamerweise nicht 
Automotive.

Der Vorteil von ADA ... stark typisiert und durchgesetzt. Mehrdeutige 
Konstrukte wurden definiert, resp entfernt, sodass der Code maximal 
Lesbar und sicher ist. Man kann sich darauf verlassen, dass der Code 
macht, was er soll. Kein uups, Klammer vergessen und nicht gesehen. Kein 
Eingerueckt und daher Kommentar. Mit extensiven Checks gleich eingebaut
zB
var u:integer range 0..10_000
// irgendwo muss natuerlich definiert werden was bei ueberlauf 
geschieht.

Und Ada unterstuetzt Tasks und parallele Konzepte direkt in der Sprache, 
ohne spezielle Konstrukte ohne Libraries.

 task ABC is
  entry READ( ..)
  entry WRITE(..)
 end;

 task body ABC is
 TABLE: ...
  loop
   select
    accept READ( ...)
    end
   or
    accept WRITE(...)
    end
   or terminate
   end select
  end loop

Wobei obiges Konstrukt einem WaitMultipleObject entspricht, welches 
sonst eine eher aufwendige Geschichte ist. Hinter einem "select" steht 
ein semaphorengeschuetzter Eingang, allenfalls auch eine Warteschlange.


Der Nachteil .. der Preis des Compilers. Es ist nahezu unendlich 
aufwendig einen Compiler zertifizieren zu lassen. Fuer die Compiler gibt 
es Testsuites, welche durchlaufen werden muessen. Bedeutet der Compiler 
passt auf den Controller. Konfigurationsfehler darf es natuerlich nicht 
geben.

Ich hab grad nachgeschaut, es gibt Referenzmanuals fuer 20$, zur 
Inspiration. Meins war noch eine Ecke teurer.
Ich empfehl ein Studium davon, ohne es einzusetzen. Mir war der Compiler 
damals zu teuer. Ich mag mich noch an etwas von gegen 10k erinnern, fuer 
einen 8086, wobei ein Turbopascal fuer 100$ erhaeltlich war.

: Bearbeitet durch User
von Bruno V. (bruno_v)


Lesenswert?

David schrieb:
> Kodieraffe möchte plane ich nicht zu werden, sondern ich möchte
> hobbymäßig qualitative, robuste Embedded Systeme entwerfen und suche das
> richtige Werkzeug dafür.

Am Ende ist es Code in einer formalen Sprache. Ob 
Matlab/Simulink/Stateflow, C/C++ oder UML. Kodieraffen sind heute 
genauso selten wie Tippsen.

Und lass Dich nicht täuschen: Entwürfe in UML oder anderen 
"High-Level"-Sprachen sind oft eher vage Ideen unverstandener Genies.

von Florian (flori_n)


Lesenswert?

Die Frage ist halt, was du damit machen willst.
David schrieb:
> Welche Sprachen und Tools werden heutzutage
> typischerweise für Echtzeitsysteme eingesetzt?
Auf die Allgemeinheit bezogen, C und C++. Oder ein Betriebssystem kommt 
drauf und dann wird 'ganz normal' programmiert.

Soweit ich mitgekriegt habe, wird ADA in besonders sicherheitskritischen 
Bereichen verwendet, weil es von sich aus schon ziemlich sicher ist. 
Rust könnte ADA vielleicht ablösen, hat sich aber bisher noch nicht 
eindeutig durchgesetzt.

Ich würde sagen:
Wenn du ADA besonders magst, programmier ADA.
Wenn du allgemein Embedded Systems programmieren willst, nimm C oder 
C++.
Wenn du in den Sicherheitsbereich gehen willst, informiere dich über ADA 
und Rust.

von Martin S. (strubi)


Lesenswert?

Ada (Merke, keine Abkuerzung, wie 'ADA' suggeriert) ist schon nicht so 
doof, und wird auch noch verwendet. Die Firma Adacore bietet immer noch 
eine gut gewartete Toolchain an und der gnat-Compiler tickert hier in 
der Continuous Integration.

Fuer die Hardware-Ansteuerung nehme ich dann aber doch lieber schlicht 
C, der Sprachenmischmasch laesst sich per Gnu-Compiler ja problemlos 
linken.

Aber wie schon gesagt Nische und nur fuer Safety-Geschichten sinnvoll, 
wo die Anforderungen entsprechend stehen. Sonst laesst sich auch ein 
C-Code entsprechend fuer Safety verifizieren.

Ist halt ein bisschen verbose/geschwaetzig, was gegenueber der 
Unlesbarkeit von Rust aber schon Vorteile beim re(verse)-Engineering 
hat. Siehe auch endlose Diskussionen zum verwandten VHDL.

von Vanye R. (vanye_rijan)


Lesenswert?

> Siehe auch endlose Diskussionen zum verwandten VHDL.

Wurde das nicht von System-C abgeloesst? Oder ist es in einer 
internationalen Welt wo alle cool auf English stehen nicht Zeit auf 
Verilog zu wechseln? :-p

Vanye

von Lotta  . (mercedes)


Lesenswert?

Vanye R. schrieb:
>> Siehe auch endlose Diskussionen zum verwandten VHDL.
>
> Wurde das nicht von System-C abgeloesst? Oder ist es in einer
> internationalen Welt wo alle cool auf English stehen nicht Zeit auf
> Verilog zu wechseln? :-p
>
> Vanye

Ne dumme Frage:
Ist VHDL und Verilog nicht ne "Zusammenbausprache", ich
beschreib ja damit ein Modell?
Ada ist ja ne Programmiersprache, kann man die trotzdem
mit VDHL vergleichen?

lotta.

von David (limeout)


Lesenswert?

Danke an alle, die ihre Einschätzungen geteilt haben. Ich werde Ada 
vorerst ad acta legen und mir zunächst fundiertes Wissen zu 
Mikrocontrollern, Embedded- und Echtzeitsystemen aneignen und lernen, 
wie man diese Systeme in C programmiert.

Ich denke, das ist langfristig einfach sinnvoller. Sobald die 
Wissensbasis vorhanden ist, kann ich mir mit Ada immer noch ein neues 
„Werkzeug“ erschließen.

Mir ist klar geworden, dass die Programmiersprache, in der man Embedded 
Systems entwickelt, nur einen kleinen Teilaspekt der gesamten 
Entwicklung ausmacht. ;)

Danke dafür.

Galigrü David

von Florian (flori_n)


Lesenswert?

Lotta  . schrieb:
> Ist VHDL und Verilog nicht ne "Zusammenbausprache", ich
> beschreib ja damit ein Modell?
> Ada ist ja ne Programmiersprache, kann man die trotzdem
> mit VDHL vergleichen?
Auch wenn die Konstrukte unterschiedliche Auswirkungen haben, gibt es 
deutliche Überschneidungen. Zuweisungen, Bedingungen und Schleifen 
braucht man zum Beispiel in Beschreibungs- und Programmiersprachen. Da 
liegt dann die Ähnlichkeit.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Florian schrieb:
> Lotta  . schrieb:
>> Ist VHDL und Verilog nicht ne "Zusammenbausprache", ich
>> beschreib ja damit ein Modell?
>> Ada ist ja ne Programmiersprache, kann man die trotzdem
>> mit VDHL vergleichen?
> Auch wenn die Konstrukte unterschiedliche Auswirkungen haben, gibt es
> deutliche Überschneidungen.

So ist es. Es ist vor allem die (IHMO schreckliche ;-)) Syntax und
weniger die Semantik, die VHDL von Ada geerbt hat.

Aus https://en.wikipedia.org/wiki/VHDL:
1
Influenced by
2
Ada,[1] Pascal
3
4
Due to the Department of Defense requiring as much of the syntax as
5
possible to be based on Ada, in order to avoid re-inventing concepts
6
that had already been thoroughly tested in the development of
7
Ada,[citation needed] VHDL borrows heavily from the Ada programming
8
language in both concept and syntax.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

David schrieb:
> Ich werde Ada
> vorerst ad acta legen und mir zunächst fundiertes Wissen zu
> Mikrocontrollern, Embedded- und Echtzeitsystemen aneignen und lernen,
> wie man diese Systeme in C programmiert.
Jaaa....
Das scheint mir ein brauchbarer Ansatz zu sein.

Wobei ich über ADA nicht viel sagen kann, außer dass es mir im Data 
General AOS/VS Umfeld begegnet ist. Da hatten "wir" einen solchen 
Compiler und ein paar ADA Anwendungen im Einsatz.
Also: Mehr als ein Seepferdchen ist da nicht dran.

Den Freischwimmer habe ich, ungefähr zur gleichen Zeit, auf DG/UX und 
SCO Xenix in C gemacht.
C++ ist erst viel später, mit Arduino, bei mir aufgetaucht.

Wie auch immer, ich empfehle mit C++ zu beginnen.
Es kann viele C Quellen einfach so mit übersetzen.
Zumindest kann man C Objekt Dateien recht problemlos in C++ 
Hauptprogramme linken.
C++ ist gegenüber C deutlich mächtiger, OOP, Templates, Operator 
Überladungen usw.

Verallgemeinerungen:
Wer C++ lernt, lernt die C Grundlagen gleich mit. Automatisch.
Wer einmal eine prozedurale Sprache (z.B. C) richtig gelernt hat, hat es 
meist mit der OOP viel schwerer, als wenn er gleich damit angefangen 
wäre.
Klarer: Der Paradigmenwechsel ist nur in eine Richtung leicht.

: Bearbeitet durch User
von Lotta  . (mercedes)


Lesenswert?

Yalu X. schrieb:
> Florian schrieb:
>> Lotta  . schrieb:
>>> Ist VHDL und Verilog nicht ne "Zusammenbausprache", ich
>>> beschreib ja damit ein Modell?
>>> Ada ist ja ne Programmiersprache, kann man die trotzdem
>>> mit VDHL vergleichen?
>> Auch wenn die Konstrukte unterschiedliche Auswirkungen haben, gibt es
>> deutliche Überschneidungen.
>
> So ist es. Es ist vor allem die (IHMO schreckliche ;-)) Syntax und
> weniger die Semantik, die VHDL von Ada geerbt hat.
>
> Aus https://en.wikipedia.org/wiki/VHDL:
>
>
1
> Influenced by
2
> Ada,[1] Pascal
3
> 
4
> Due to the Department of Defense requiring as much of the syntax as
5
> possible to be based on Ada, in order to avoid re-inventing concepts
6
> that had already been thoroughly tested in the development of
7
> Ada,[citation needed] VHDL borrows heavily from the Ada programming
8
> language in both concept and syntax.
9
>

> Aus https://en.wikipedia.org/wiki/VHDL:
Boahhh, das ist ja ne neue Welt. :-O   Da besteht ja wirklich
ein Zusammenhang zwischen den Sprachen!

Lotta.

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

1
P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S
2
                                   ((1.0/C_M_LSB_BH) *
3
                                   G_M_INFO_DERIVE(T_ALG.E_BH)))

Obige Zeile ADA-Code führte 1996 zu einen Schaden in Höhe von mehreren 
hundert Millionen Euro. Und das obwohl derselbe Code all die Jahre zuvor 
es bestens tat und "seinem Schöpfer" in Lohn und Brot hielt.

Die Grund für diesen Zweck-Umkehr ist nicht im Code sondern im System 
(hier Wertebereich Sensor) zu suchen. Insofern biste mit "robuste 
Embedded Systeme" schon in der richtigen Richtung unterwegs. Und viel 
lernt man aus Fehlern. Also ist es eigentlich wurscht welche 
verschiedenen Programmiersprachen mal erlernt, Hauptsache man lernt was 
grundlegend Neues und füllt sich nicht mit kalten Kaffee ab.

Also mein Tipp ist daher, sich eher ein exotisches System zaufzubauen 
(bspw. DIY-PCB mit Padauk MCU) und from the scratch aka vom Datenblatt 
weg zu programmieren. Dann beginnt man, das System zu verstehen.

PS: Ref. für den Code oben: https://de.wikipedia.org/wiki/Ariane_V88

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

> Ist VHDL und Verilog nicht ne "Zusammenbausprache", ich
> beschreib ja damit ein Modell?
> Ada ist ja ne Programmiersprache, kann man die trotzdem
> mit VDHL vergleichen?

ADA und VHDL teilen sich die selbe Entstehungsgeschicht, beide stammen 
von Department of Defense der USA, resp. wurden von diesen als die von 
ihren "Zuliefern" zu verwendeten Sprachen vorgeschrieben. Und dienten zu 
Beginn hauptsächlich zur Überprüfung der Requirements (auf 
Vollständigkeit/Widersprüche/...)  und weniger der endgültigen 
Implementierung.
Das man aus ADA wie aus Verilog/VHDL ausführbaren Code bekommt, wurde da 
eher als "Zugabe" verstanden.

ADA und VHDL haben beide auch bestimmte "Features" die reine 
Programmiersprachen nicht kennen, wie "ranges" (Wertebereiche/Teilmengen 
von Typen) und Konstrukte zu Modellierung parall ("concurrently") 
laufender Funktionen ("tasks" resp. "processes")

https://www.accessengineeringlibrary.com/content/book/9780071545815/back-matter/appendix4

von Markus F. (mfro)


Lesenswert?

Pandur S. schrieb:
> er Nachteil .. der Preis des Compilers. Es ist nahezu unendlich
> aufwendig einen Compiler zertifizieren zu lassen.

Für "hobbymäßig" braucht man keinen zertifizierten Compiler - gnat ist 
kostenlos und braucht sich vor jenen auch nicht zu verstecken.

: Bearbeitet durch User
von Guido L. (guidol1970)


Lesenswert?

ADA von hier geht auch auf dem
Arduino DUE und einem ESP32:

https://github.com/reznikmm/esp32-gnat-rts

von Martin S. (strubi)


Lesenswert?

Vanye R. schrieb:
> Wurde das nicht von System-C abgeloesst? Oder ist es in einer
> internationalen Welt wo alle cool auf English stehen nicht Zeit auf
> Verilog zu wechseln? :-p

Bei uns wurde es von Python abgeloest. System C wuerde ich als HDL jetzt 
eher als broken by design ansehen, ausserhalb akademischer Kreise gibt's 
wohl einige, die damit modellieren, aber fuers Engineering ist man 
wieder bei einer Low-Level-Transfersprache wie Verilog. VHDL wird von 
einigen FPGA-Herstellern fortschreitend stiefmuetterlicher unterstuetzt.

von Markus F. (mfro)


Lesenswert?

Guido L. schrieb:
> ADA von hier geht auch auf dem
> Arduino DUE und einem ESP32:
>
> https://github.com/reznikmm/esp32-gnat-rts

Gnat (GNU Ada) geht auf so gut wie allem, wo's gcc für gibt (u.U. muß 
man eben selber compilieren und vielleicht die Adalib ein wenig 
anpassen).

Ich z.B. nutze Ada/GNAT auf Coldfire/m68k (auch wenn's dafür 
"eigentlich" keinen "offiziellen" Compiler gibt).

von Markus F. (mfro)


Lesenswert?

Lotta  . schrieb:
> Ada ist ja ne Programmiersprache, kann man die trotzdem
> mit VDHL vergleichen?

So wie Verilog/System Verilog riecht und schmeckt wie C, riecht und 
schmeckt VHDL wie Ada.
Auch viele Vor- und Nachteile (mangelnde Typsicherheit bei C, gefühlte 
Verbosität bei Ada) finden sich bei Verilog und VHDL wieder.

von Cartman E. (cartmaneric)


Lesenswert?

Du kannst dich ja mal in PL/1 einarbeiten.
Damit wärst du dann eine ganze Weile gut beschäftigt.

Wenn man einen lauffähigen Compiler sein eigen nennt,
kann man sich auch an Cobol versuchen.

Aber ADA?

Das benutzen doch nur Militaristen. Die sind glücklicherweise
nur eine absolute Mindermenge.

von Nemopuk (nemopuk)


Lesenswert?

Cartman E. schrieb:
> Wenn man einen lauffähigen Compiler sein eigen nennt,
> kann man sich auch an Cobol versuchen.

Bitte verarsche den TO nicht. Die letzten Cobol Entwickler freuen sich 
gerade auf ihren Ruhestand.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Nemopuk schrieb:
> Die letzten Cobol Entwickler freuen sich gerade auf ihren Ruhestand.

Cobol scheint aber noch aktive zu sein.  So hat GCC erst neulich ein 
Cobol Frontend bekommen:

https://gcc.gnu.org/gcc-15/changes.html#cobol

Für die vom TO genannten Architekturen ist das aber nix, und da stimme 
ich mit dir überein:

> Bitte verarsche den TO nicht.

von Markus F. (mfro)


Lesenswert?

Cartman E. schrieb:
> Du kannst dich ja mal in PL/1 einarbeiten.
> Damit wärst du dann eine ganze Weile gut beschäftigt.
>
> Wenn man einen lauffähigen Compiler sein eigen nennt,
> kann man sich auch an Cobol versuchen.
>
> Aber ADA?
>
> Das benutzen doch nur Militaristen. Die sind glücklicherweise
> nur eine absolute Mindermenge.

Du hast nicht die leiseste Ahnung von Ada, stimmt's?

Das hast Du wahrscheinlich gemein mit 90% der Leute, die hier antworten.

von Cartman E. (cartmaneric)


Lesenswert?

Johann L. schrieb:
> Nemopuk schrieb:
>> Die letzten Cobol Entwickler freuen sich gerade auf ihren Ruhestand.
>
> Cobol scheint aber noch aktive zu sein.  So hat GCC erst neulich ein
> Cobol Frontend bekommen:
>
> https://gcc.gnu.org/gcc-15/changes.html#cobol
>
> Für die vom TO genannten Architekturen ist das aber nix, und da stimme
> ich mit dir überein:

Es sollte schon ein nativer Cobolcompiler sein, und kein Frontend.
Z.B. der Cobolcompiler von MicroFocus (für x86).
Dazu passend als Editor SPFPC.


> Du hast nicht die leiseste Ahnung von Ada, stimmt's?

Ja, und ich sehe das nicht als Bildungslücke an.
Immerhin reicht es aber bei mir für VHDL.


Immerhin scheint niemand etwas gegen PL/1 zu haben.
Von der du bestimmt auch keine leiseste Ahnung hast.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Cartman E. schrieb:
> Johann L. schrieb:
>> Nemopuk schrieb:
>>> Die letzten Cobol Entwickler freuen sich gerade auf ihren Ruhestand.
>>
>> Cobol scheint aber noch aktive zu sein.  So hat GCC erst neulich ein
>> Cobol Frontend bekommen:
>>
>> https://gcc.gnu.org/gcc-15/changes.html#cobol
>>
>> Für die vom TO genannten Architekturen ist das aber nix, und da stimme
>> ich mit dir überein:
>
> Es sollte schon ein nativer Cobolcompiler sein, und kein Frontend.

Als "Frontend" bezeichnet man den sprachabhängigen Teil eines Compilers.

gcobol ist ein nativer Compiler, d.h. es wird _nicht_ in eine 
Zwischensprache wie C oder C++ übersetzt. Oder was meinst du mit 
"nativ"?

von Cartman E. (cartmaneric)


Lesenswert?

Johann L. schrieb:
> gcobol ist ein nativer Compiler, d.h. es wird _nicht_ in eine
> Zwischensprache wie C oder C++ übersetzt. Oder was meinst du mit
> "nativ"?

Das klingt ja schon spannend. Hoffentlich bringt er auch die passenden
Bibliotheken mit. Eingeweihte wissen was passend meint. ;-)

Sicher sehr erbaulich, den erzeugten Assemblercode zu inspizieren.


Werde ich mir auf jeden Fall einmal ansehen.

von Harald K. (kirnbichler)


Lesenswert?

Cartman E. schrieb:
> Immerhin scheint niemand etwas gegen PL/1 zu haben.

Ich hatte mal einen PL/9-Compiler ... das war eine Variation von PL/M, 
das wiederum auch irgendwie mit PL/1 zu tun hatte. PL/M wiederum führte 
zu CP/M.

(Ja, damals waren Schrägstriche der letzte Schrei, so wie später dann 
"2000" überall dranstehen musste)

von Martin S. (strubi)


Lesenswert?

Ehm..die Schraegstriche waren kein Schrei, sondern schlicht der 
amerikanische Marker fuer eine Abkuerzung. Also: Programming Language 
One, Control Program for Microcomputers...

Zum Thema Ada, VHDL und robuste Verifikation kann ich nur empfehlen, 
sich trotz allem negativem Geunke die ghdl-Toolchain von Tristan Gingold 
reinzuziehen. Das gehoert mitunter zum vorbildlichsten, nachhaltigsten 
Code der mir die letzten 20 Jahre untergekommen ist (unter 
Beruecksichtigung der unfassbaren Komplexitaet von VHDL).
Wird in der Digitalisierung unserer Gesellschaft immer wichtiger, 
robuste Systeme auch weit abseits DoD und Aerospace entwickeln zu 
koennen. Die Probleme, die mit dem Rust-Hype noch lange nicht 
abgefruehstueckt sind, deckt Ada lange schon ab.
Zugegeben, ich halte die Ada-Syntax fuer schwerfaellig, und VHDL ist 
eigentlich entsetzlich ineffizient, aber als 
Transfer-/Simulationssprache ist es immer noch geeigneeter als eine 
assemblerartige RTL.

Wenn es die zugrundelegenden Mechanismen erlauben, robusten Code, der 
ueber teilidiotische Ansaetze von statischer Analyse bis zu MISRA C 
hinausgeht, zu entwickeln, ist mir die Syntax relativ egal, solange sich 
im Klartext die Fehlerszenarien durchtickern lassen. Da ist v.a. die 
Lesbarkeit wichtig.

So als anekdotisches Beiprodukt: Um in Zeiten des sog. 
Fachkraeftemangels die Spreu vom Weizen zu trennen, wurde auch schon mal 
die Frage an einen 1-erKandidaten mit summa cum gestellt, ob er alten 
Cobol-Code auf einer DEC VAX anfassen wuerde. Nach der Belehrung, dass 
man sowas heute alles neu in Java macht, und Assemblerprogrammierung 
schwer 80er ist, durfte er sein Koefferchen wieder schliessen.

P.S. Die Cobol-Frage war eine fiese Troll-Frage.

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

> die Frage an einen 1-erKandidaten mit summa cum gestellt, ob er alten
> Cobol-Code auf einer DEC VAX anfassen wuerde. Nach der Belehrung, dass
> man sowas heute alles neu in Java macht, und Assemblerprogrammierung
> schwer 80er ist, durfte er sein Koefferchen wieder schliessen.

Ehrlich, einer mit soviel Verachtung für die Programmierarbeit seiner 
Mentoren hat "summa cum laude" bekommen ?! Das nennt man dann wohl 
"wegloben".

https://karriere-einsichten.de/2017/12/plaedoyer-fuer-die-kuendigung-unliebsame-mitarbeiter-mit-einem-lob-loswerden-ist-ganz-einfach/

von Lotta  . (mercedes)


Lesenswert?

Martin S. meinte:

> So als anekdotisches Beiprodukt: Um in Zeiten des sog.
> Fachkraeftemangels die Spreu vom Weizen zu trennen, wurde auch schon mal
> die Frage an einen 1-erKandidaten mit summa cum gestellt, ob er alten
> Cobol-Code auf einer DEC VAX anfassen wuerde. Nach der Belehrung, dass
> man sowas heute alles neu in Java macht, und Assemblerprogrammierung
> schwer 80er ist, durfte er sein Koefferchen wieder schliessen.

> P.S. Die Cobol-Frage war eine fiese Troll-Frage.

Mann, hier lesen bildet ungemein-
Ja, in unserer Welt gelten nicht Ehrlichkeit und Respekt untereinander,
sondern der beste Schauspieler gewinnt.

$1 Der Chef hat immer Recht!
§2 Sollte der Chef mal nicht Recht haben,
   tritt automatisch §1 in Kraft!  :-O

Was ist eigendlich mit dem russischen Offizier passiert,
der erkannt hat, das sein System spinnt, und die Atomrakete
Ende der 80'iger Jahre NICHT auf Deutschland abgefeuert hat?!?

§3 Undank ist der Welten Lohn!

mfg

von Nemopuk (nemopuk)


Lesenswert?

Martin S. schrieb:
> Nach der Belehrung, dass man sowas heute alles neu in Java macht, und
> Assemblerprogrammierung schwer 80er ist, durfte er sein Koefferchen
> wieder schliessen.

Heute können sich junge Softwareentwickler eben aussuchen, an welchen 
Projekten sie mit arbeiten wollen. Er hat da nichts falsch gemacht.

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

> Heute können sich junge Softwareentwickler eben aussuchen, an welchen
> Projekten sie mit arbeiten wollen. Er hat da nichts falsch gemacht.

Immer abhängig von der Hardware, die zur Verfügung steht. Und manchmal 
ist es halt eine DEC VAX die mal vor Unzeiten qualifiziert wurde und 
einfach so alles neuschreiben ist mancherorts sprichwörtlich ne 
Todsünde.

https://www.derstandard.at/story/1329870002486/vax-airbus-und-nuklearwaffen-laufen-mit-computern-aus-den-70ern
Aber im Embedded Bereich ist es eher ungewöhnlich, auf eine VAX zu 
treffen.

Apropos treffen, bei den vielen Zivilfliegern die von Militätraketen 
runtergeholt werden, fragt man sich, ob deren Programmierer auch solche 
Jungsporne sind, die nur Ballerspiele coden wollen. Und wenn was schief 
geht, alle Schuld auf den Projektleiter schieben.

von Markus F. (mfro)


Lesenswert?

Der Beitrag in der PC-World, auf den sich Der Standard hier bezieht, ist 
mittlerweile auch schon 15 Jahre alt. Ein Großteil davon dürfte 
mittlerweile nicht mehr wahr sein...

von Martin S. (strubi)


Lesenswert?

Nemopuk schrieb:
> Heute können sich junge Softwareentwickler eben aussuchen, an welchen
> Projekten sie mit arbeiten wollen. Er hat da nichts falsch gemacht.

Naja. Er hat:
1) sich als Topkandidat beworben
2) seine Art der Problemloesekompetenz demonstriert

Und viel aussuchen konnte er sich auch nicht mehr, da sich der Verdacht 
erschlich, dass er lange nur in einer akademischen Wohlfuehlumgebung 
'funktioniert' hat. Waere nach dem PhD sein erster hands-on Job gewesen.
Das schreit nach Troll-Frage, auch wenn's gemein ist. Der Fall mit der 
Vax kam woanders her, das Ding steuerte ne Fabrikanlage.

Lotta  . schrieb:
> Was ist eigendlich mit dem russischen Offizier passiert,
> der erkannt hat, das sein System spinnt, und die Atomrakete
> Ende der 80'iger Jahre NICHT auf Deutschland abgefeuert hat?!?

S. Petrov? falls du den meinst, soweit ich mich erinnere, wurde er nicht 
ins Straflager geschickt, aber seine Karriere war vorbei, der Rest wurde 
totgeschwiegen. Bei Wiki immerhin ein laengerer Eintrag, der wohl 
stimmen wird.

von Hmmm (hmmm)


Lesenswert?

Lotta  . schrieb:
> Was ist eigendlich mit dem russischen Offizier passiert,
> der erkannt hat, das sein System spinnt, und die Atomrakete
> Ende der 80'iger Jahre NICHT auf Deutschland abgefeuert hat?!?

Nicht viel. Er wurde einerseits gelobt und andererseits für Fehler im 
Papierkram kritisiert. Letzteres wohl pro forma, weil eine Medaille 
zuviel Aufmerksamkeit auf das unzuverlässige System gelenkt hätte.

https://en.wikipedia.org/wiki/Stanislav_Petrov#Aftermath

von Bradward B. (Firma: Starfleet) (ltjg_boimler)


Lesenswert?

> Nicht viel. Er wurde einerseits gelobt und andererseits für Fehler im
> Papierkram kritisiert. Letzteres wohl pro forma, weil eine Medaille
> zuviel Aufmerksamkeit auf das unzuverlässige System gelenkt hätte.
>
> https://en.wikipedia.org/wiki/Stanislav_Petrov#Aftermath

Da gibt es auch einen Dokumentarfilm/BioPic indem Petrov selbst 
"mitspielt": https://youtu.be/ydBzIeZznUU?t=3317

IMHO ein Beispiel des Absurden in der Russerei, gleichzeitig Held  und 
Beweis für die Unfähigkeit der Vorgesetzten und des ganzen Systems. Arm 
das Land das Helden braucht.

: Bearbeitet durch User
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.