8 Stimmen

Muss jeder Programmierer C können? Ja, warum? Nein, warum?

Seit dem ersten Jahr an meiner Universität beneide ich meine Kommilitonen (die hauptsächlich von einer technisch orientierten Berufsschule kommen) darum, dass sie C beherrschen. Ich komme von einem naturwissenschaftlich orientierten Lyzeum und hatte nie Programmiererfahrung oder -kurse, sondern nur ein paar Sommerarbeiten mit PHP, die ich in einem PHP-in-7-Stunden-Kurs gelernt hatte (und mein Interesse am Programmieren war noch sehr jung). Ich möchte wissen ... war es ein legitimer Neid? Muss jeder Programmierer C können? Vermittelt C ein tiefes Verständnis dafür, wie ein System funktioniert oder wie man programmieren muss? Ich weiß, dass man beim Programmieren in C ein tiefes Verständnis von Puffern, Speicher und so weiter haben muss. Ich möchte also Ihre Meinung dazu hören.

3voto

tddmonkey Punkte 19992

Zusätzlich zu Gamecats Antwort habe ich die Erfahrung gemacht, dass bei der Arbeit mit Leuten, die andere Sprachen beherrschen, ein Unterschied in den Fähigkeiten zwischen denjenigen besteht, die C beherrschen, und denjenigen, die es nicht tun. Ich arbeite hauptsächlich in Java und weiß es sehr zu schätzen, dass ich vorher ein paar Jahre mit C gearbeitet habe. Darüber hinaus habe ich auch viel mit Perl gearbeitet. Ich würde sagen, dass es hilfreich ist, so viele Sprachen wie möglich zu kennen, um verschiedene Sichtweisen auf die eigene Arbeit zu erhalten und verschiedene Paradigmen anzuwenden.

2voto

C ist nicht meine bevorzugte Sprache, aber auch heute noch ist C überall zu finden.

Wenn ich einen kleinen Code in Lua mit LuaCurl mache, benutze ich eine C-Bibliothek. Lua selbst ist in C geschrieben.

Wenn ich eine Seaside-Webanwendung in Squeak Smalltalk entwickle, verwende ich eine in C generierte VM (die Squeak-VM wird in Smalltalk geschrieben und erzeugt dann C-Code als portablen Assembler).

Ich würde also nicht mit dem Programmieren in C beginnen (siehe dieses Thema für andere Möglichkeiten), aber als Programmierer ist es sehr nützlich, C zu kennen, auch wenn es nicht die Sprache Ihrer Wahl ist.

2voto

Zabbala Punkte 2063

Genauso wie nicht jeder Mechaniker das Innenleben eines Motors kennen muss, um ein Auto zu reparieren, muss auch nicht jeder Programmierer C lernen, um Code zu erstellen. Diejenigen, die es tun, erwerben jedoch ein besseres Verständnis des Handwerks und haben letztlich mehr Erfolg.

1voto

Dane Punkte 9421

Ich bin der gleichen Meinung wie die anderen in diesem Thread, aber um die Frage zu beantworten, die gestellt wurde:

Die einzigen Programmierer, die haben die C kennen, sind C-Programmierer.

1voto

wishi Punkte 6766

Ich glaube, das haben Sie.

Sprachen haben ihre eigene Entwicklung. Sie entwickelten sich im Rahmen einer sehr faszinierenden und schnellen Entwicklung von Computersystemen. Die CPU-Leistung wuchs, die Funktionen wuchsen, Assembler wurde komplexer... alles wurde leistungsfähiger.

Die Sache ist die: Wenn Sie nie die niedrigen und "einfachen" Anfänge gesehen haben und mit Hochsprachen wie C#, C++ oder Java beginnen, werden Sie die Eleganz oder die Backend-Perspektive dieser sehr mächtigen Sprachen nicht verstehen.

Ich denke, Sie brauchen LISP nicht zu lernen, weil es sich stark von den üblichen C-ähnlichen Sprachen unterscheidet. Aber ein wenig C ist ein Muss. Es ist für Entwickler von Entwicklern, sehr nah am Maschinencode. Du musst wissen, was die Maschine macht, wenn du sie programmierst.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X