Du bist nicht angemeldet.

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Deine Antwort

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

Geringdingdingdingdingdin
14.02.2019 17:00:21
schard schrieb:

C ist wohl eher Manjaro und Assembler ist Arch.

Gegenvorschlag:
Go ist Manjaro, C ist Arch und Assembler ist LFS. big_smile

stefanhusmann
31.08.2018 15:15:56

Ein OS-Kernel nur in Rust programmiert befindet sich wohl auch in Entwicklung.

Wohl eher ein komplettes Betriebssystem .

Simplify
31.08.2018 13:11:45

Solche absoluten Aussagen sollte man wie auch überall sonst mit großer Vorsicht genießen.

Jede Programmiersprache und ihre Werkzeuge wurde(n) für ein spezielles Einsatzfeld entwurfen. C wurde zur Ende der 60er zur µC sowie plattformunabhängigen Treiber - und OS-Entwicklung entwurfen, das manuellen Speichermanagement sowie (De)/Referenzieren von Objekten im Speicher ist Absicht um Hardware (Speicherbereiche, Interrupts) ansprechen zu können und die Laufzeit optimieren zu können (Maskieren, Shift). Wer mit eingebetteten Systemen zu tun hat, für den ist C Pflicht, ob es ihm gefällt oder nicht.

C schlug sich dann bis zur Anwendungsentwicklung durch. Dort gehört es natürlich (überwiegend) nicht hin, da der Programmierer problemorientiert arbeiten möchte. Objektorientierung und automatische Speicherverwaltung sind dabei eine große Stütze.  Für zeitkritische Umsetzungen von Algorithmen findet es jedoch auch hier häufig Anwendung, schließlich ist C mit anderen Programmiersprachen interoperapel.

An dieser Stelle bekommt C allerdings seit geraumer Zeit von Rust starke Konkurrenz, welches ich allerdings nur vom Hörensagen kenne. Ein OS-Kernel nur in Rust programmiert befindet sich wohl auch in Entwicklung. Rust ist auf sauberes (vgl. C), funktionales Programmieren mit guten Laufzeiteigenschaften getrimmt.

Zur Lehre ist meiner Meinung nach C eine gute Sache, denn die Lehre soll zum Nachdenken und zum Verständnis des Werkzeuges - dem Computer dienen. Das schafft es ganz gut, zumindest bis zum Schritt der Objektorientierung.

HarleyDavidson
30.08.2018 14:24:07

Angefangen habe ich mit Turbo Pascal, dann bin ich im Studium auf Ada gestossen.
Nach dem Studium bin ich letztendlich über C# bei Java geblieben.
Wie schon erwähnt ist eine solch systemnahe Sprache nur sinnvoll, wenn man wirklich nahe an der Hardware programmieren muss.
Ansonsten würde ich das dem Compiler überlassen.

Aber ich bin mir sicher, einer deiner Kumpels Friedrichtasche, zitaloffler oder Azurophil haben einen passenden Link für dich.

schard
30.08.2018 00:48:43
hm schrieb:

irgendwo habe ich gelesen:
"Arch Linux ist eine perfekte Distribution für erfahrene Anwender — und solche, die es werden wollen..."

genauso gilt für C:
"C ist eine perfekte Programmiersprache für erfahrene Entwickler — und solche, die es werden wollen..."

C ist wohl eher Manjaro und Assembler ist Arch.

hm
29.08.2018 20:10:36

irgendwo habe ich gelesen:
"Arch Linux ist eine perfekte Distribution für erfahrene Anwender — und solche, die es werden wollen..."

genauso gilt für C:
"C ist eine perfekte Programmiersprache für erfahrene Entwickler — und solche, die es werden wollen..."

T.M.
29.08.2018 07:55:19
schard schrieb:

Meine ganz persönliche Meinung ist, dass C sich nur lohnt zu lernen, wenn man mit C programmieren muss.
Z.B. Betriebssystemkerne und systemnahe Anwendungen.

Es gehört noch mehr dazu. C zwingt einen, auch die C tool chain zu benutzen, d.h. den Zusammenhang zwischen Quelltext, Compiler, Objekt- und Bibliotheksdateien, Linker und ausführbarem Programm zu begreifen. Und dieser ist nun einmal noch immer (solange nicht echte Prozessoren Quelltexte interpretieren) ein wesentliches Merkmal zeitgemässer Technik. Wer immer nur in Scriptsprachen programmiert, erfährt möglicherweise nie etwas darüber, wie sein Betriebssystem Programme ausführt (und wie diese folglich gemacht sein müssen).

Ich find's zudem auch gut, einen solchen Low-Level-Programmierzugang einmal zu haben, nämlich um beurteilen zu können, wie aufwendig und teuer bestimmte Dinge sind, die andere Umgebungen von vornherein zur Verfügung stellen, beispielsweise Speicherverwaltung, Container- und Algorithmenbibliotheken, Parser.

Auch wenn einer später nie mit C arbeiten muss, ist das Verständnis dieser Themen zumindest nützlich.

schard
28.08.2018 16:15:12

Ich habe zwischendurch mal immer wieder aus Spaß etwas C programmiert.
Das tolle an C ist, dass man systemnah und extrem performant programmieren kann.
Was jedoch alltägliche Anwendungssoftware und Webanwendungen betrifft, welche andere Flaschenhälse haben und Systemnähe nicht unbedingt erfordern, ist das Problem, dass ich tausend Zeilen C Code, einschließlich der darin enthaltenen Bugs und Memory Leaks in zwanzig Zeilen Python abfassen kann, ohne diese Probleme zu haben.
Meine ganz persönliche Meinung ist, dass C sich nur lohnt zu lernen, wenn man mit C programmieren muss.
Z.B. Betriebssystemkerne und systemnahe Anwendungen.
Ansonsten sagt meine Erfahrung, dass man stets die höchstmögliche Programmiersprache nehmen sollte.
Man spart damit Zeit in Entwicklung und Debugging und die kritischen Flaschenhälse bezüglich Rechenzeit- und Speicherperformanz liegen meiner Erfahrung nach meist nicht in der verwendeten Programmiersprache.
Dazu - old but gold: Greg Wilson - What We Actually Know About Software Development, and Why We Believe It’s True

GerBra
28.08.2018 13:33:25
Nebulan schrieb:

In einem Interview hat der Stack Overflow Gründer gesagt,

Hast du eigentlich einen Link zu dem Interview, so daß man ggf. mal den Zusammenhang der Aussage verfolgen kann?

brikler
28.08.2018 13:01:58

C ist die sprache mit der man "alles" machen kann, zb hardware nahe programmieren oder so irgendwelche programme.
C ist ist schnell, weil man pointer nutzen kann und drum nicht so viel in die regster kopiert werden muß, aber hat den "nachteil", daß man sich um vieles selber kümmern muß, zb "aufräumen", man muß schaun, daß die pointer korrekt sitzen, und es sagt einem auch nicht, wenn man in einem array einen nicht vorhandenen index referenziert…alles ehrlich, ohne netz und doppelten boden.

natürlich gibts bequemere sprachen, aber wer C kann, kommt mit den meisten anderen sprachen auch zurecht.

stefanhusmann
28.08.2018 11:30:04

Das halte ich in dieser Zuspitzung für absoluten Blödsinn. Viele relevante Projekte, und nicht nur uralte, verwenden weiterhin C, und ich meine C und nicht etwa C++.

Linux, Emacs (okay, ist uralt), Gimp, ReactOS.

Eine andere Frage wäre, ob man heute noch neue Projekte in C beginnen sollte. Darüber könnte man mal nachdenken. Aber selbst das kann sinnvoll sein.

Nebulan
28.08.2018 09:15:12

In einem Interview hat der Stack Overflow Gründer gesagt, dass es sich jetzt nicht mehr lohnt C zu lernen. Was haltet ihr davon?

Fußzeile des Forums

Powered by FluxBB