Welche Low-Level-Programmiersprache ist für den Anfang gut?
Hallo, mich interessiert es eine Programmiersprache, die Hardwarenah ist, weil ich gerne uneingeschränkt Programmieren möchte, ohne jetzt eine Runtime zu gebrauchen (wie .NET oder JDK mit JRE z.B.), aber zumindest ein Compiler wie GCC. Ich bin auch interessiert in Betriebssysteme wie Linux und verwende auch Linux.
Mir ist es bewusst, dass solche Programmiersprachen ein Sicherheitsrisiko sind, wegen Memory Leaks und andere Risiken, wenn man nicht vorsichtig damit umgeht. Besonders bei C, Assembly und C++.
Und ich habe schon Erfahrungen mit C# auf Visual Studio in der Schule seit 4 Jahren.
Was würdet ihr mir für den Anfang empfehlen?
Ich werde mir auch das Video von der Harward CS50 anschauen (aber nicht den kompletten Course), wo sie C erklären, weil von was ich kurz gesehen habe, gefällt es mir, werde mir aber kein Zertifikat holen.
3 Antworten
Dann wirst du um C kaum herumkommen.
Auch C++ ist noch relativ "hardwarenah", aber die modernen (und angenehmen) Teile von C++ sind nun mal wesentlich höhere Abstraktionen. Die Sprache ist auch riesengroß und daher schwer umfassend zu beherrschen. Das sehe ich auch bei Rust ähnlich.
Mein persönlicher Favorit für eine wirklich tolle "hardwarenahe Hochsprache" wäre Ada, aber das ist nun mal leider eine Nischensprache. Schade!
Go war an sich auch mal als moderner C-Nachfolger geplant und hat viele Eigenschaften, die es auch für hardwarenähere Programme nutzbar machen. In der Praxis verwendet es dafür kaum jemand, es ist aber insgesamt eine recht nützliche Sprache für viele Zwecke.
Einerseits ist C zu empfehlen wie jo135 schon schreibt, andererseits Rust:
https://www.computerwoche.de/a/so-programmieren-sie-mit-rust,3613291
https://www.linux-magazin.de/ausgaben/2022/11/rust/
Teilweise wird im Linux-Kernel und bei Microsoft schon Rust genutzt.
C, C++ oder Rust sehe ich da als gute Möglichkeiten.
Gerade Rust hat viele Vorteile. 😅 Wenn Iced mehr Features hätte, würde ich damit programmieren statt mit C++/Qt. Cargo nimmt einem viel Arbeit ab. Echt praktisch.
In C werden aber immer noch die meisten Kernelteile und Treiber geschrieben. Wobei auch hier Rust an Boden gewinnt.