#1 28.08.2018 09:15:12

Nebulan
Mitglied

C noch aktuell?

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

Offline

#2 28.08.2018 11:18:57

TBone
Mitglied

Re: C noch aktuell?

Das trifft auf einige Menschen bestimmt zu.
Die Frage ist ja, was du mit lohnst meinst. Das ist ja subjektiv. Geld in einem Unternehmen mit der Sprache zu verdienen? Erkenntnis darüber, wie bestimmte Sachen funktionieren? Um für dich selbst eine Android-App zu entwickeln? Um eine Website zu entwickeln? Um für Mikrocontroller zu entwickeln? Um damit auf dem Pausenhof anzugeben?

Beitrag geändert von TBone (28.08.2018 11:20:46)

Offline

#3 28.08.2018 11:30:04

stefanhusmann
Moderator

Re: C noch aktuell?

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.

Offline

#4 28.08.2018 13:01:58

brikler
Mitglied

Re: C noch aktuell?

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.

Offline

#5 28.08.2018 13:33:25

GerBra
Mitglied

Re: C noch aktuell?

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?

Offline

#6 28.08.2018 16:15:12

schard
Mitglied

Re: C noch aktuell?

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

Beitrag geändert von schard (28.08.2018 16:54:48)

Offline

#7 29.08.2018 07:55:19

T.M.
Mitglied

Re: C noch aktuell?

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.

Offline

#8 29.08.2018 20:10:36

hm
Gast

Re: C noch aktuell?

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..."

#9 30.08.2018 00:48:43

schard
Mitglied

Re: C noch aktuell?

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.

Beitrag geändert von schard (30.08.2018 16:38:59)

Offline

#10 30.08.2018 01:49:38

TBone
Mitglied

Re: C noch aktuell?

"Perfekt" ist halt auch situationsabhängig.

Offline

#11 30.08.2018 14:24:07

HarleyDavidson
Mitglied

Re: C noch aktuell?

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.

Offline

#12 31.08.2018 13:11:45

Simplify
Gast

Re: C noch aktuell?

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.

#13 31.08.2018 15:15:56

stefanhusmann
Moderator

Re: C noch aktuell?

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

Wohl eher ein komplettes Betriebssystem .

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums