warum gerade C ?
-
Cacheline schrieb:
Wahrscheinlich war es ein Glück, daß die Rechner, auf denen C 1972 entwickelt
wurde, nur 4K bzw. 28K RAM hatten - das motivierte natürlich dazu, eine Sprache
zu definieren, die keine überflüssig langen Konstrukte wie LET oder begin...end
enthält.das glaube ich nicht. so'n compiler wandelt die schlüsselwörter in 1-byte tokens um (das machten selbst die basic-interpreter antiker homecomputer so), dabei ist es egal, wie lang die keywords sind. ich glaub' eher dass die erfinder von c ziemlicher unix-häcker waren, die einfach wenig tippen wollten und c für ihresgleichen machten, d.h. leute mit einigermassen hohem abstraktionsvermögen.
aber c ist ja sowas wie eine portable assemblersprache. deshalb ist es im auch lowlevel bereich so beliebt
-
dali schrieb:
Da C++ ja von C abgeleitet ist treffen ja bekanntlich all deine Vorteile auch auf C++ zu. Einziger Vorteil ist dass es vielleicht mehr C Compiler gibt da sie leicher zu bauen und kleiner(?)sind aber heutzutage gibts ja auch massenhaft gute C++ Compiler und Speicherplatz ist auch kein Thema mehr. Ein großes Programm heutzutage prozedural programmieren ist totaler humbug. Aber wer es macht mir solls egal sein.
Versteht das bitte nicht falsch; Ich mag C++ genauso wie C und alle Vorteile, die ich im letzten Posting aufgezählt habe treffen auch auf C++ zu. Aber der Thread ging nunmal um C
-
Also ich programmiere in C, weil ich damals als ich angefangen habe nur C++ kannte, das kannte jeder vom Namen und da hab ich mir ein Buch gekauft wo in Riesenschrift C++ drauf stand aber eigentlich war es ein C Buch wo höchstens mal printf durch cout ersetzt war. Und deshalb programmiere ich in C jetzt ein paar Jahre.
-
dali schrieb:
und Speicherplatz ist auch kein Thema mehr. Ein großes Programm heutzutage prozedural programmieren ist totaler humbug. Aber wer es macht mir solls egal sein.
Du denkst nur in deiner Erlebniswelt. 75% der Software wird in der Industrie nicht für PCs implementiert sondern für Mikrocontroller. Da stimmt deine Aussage einfach nicht.
-
Tsss ich denke da wird der Hauptbewegungsgrund wenn es so sein sollte der sein dass die Leute die da arbeiten halt noch alteingesessene C Hardcorecoder sind :p
-
Herrje, man hat die glib genannt, sieh dir das Ding doch einfach mal an. Das _ist_ objektorientiert und das ganz ohne C++.
-
NochNRealist schrieb:
dali schrieb:
und Speicherplatz ist auch kein Thema mehr. Ein großes Programm heutzutage prozedural programmieren ist totaler humbug. Aber wer es macht mir solls egal sein.
Du denkst nur in deiner Erlebniswelt. 75% der Software wird in der Industrie nicht für PCs implementiert sondern für Mikrocontroller. Da stimmt deine Aussage einfach nicht.
dali schrieb:
Tsss ich denke da wird der Hauptbewegungsgrund wenn es so sein sollte der sein dass die Leute die da arbeiten halt noch alteingesessene C Hardcorecoder sind :p
Quark! C++ ist viel komplexer als C. Das wäre doch Verschwendung die Hardware nach der Sprache und nicht nach dem Zweck zu designen.
-
hackbert schrieb:
Quark! C++ ist viel komplexer als C. Das wäre doch Verschwendung die Hardware nach der Sprache und nicht nach dem Zweck zu designen.
HW kann sein wie sie will Compiler schreib ja nicht ich und die HW hat ja garnichts mit der Sprache selbst zu tun
Hier noch ein paar Kommentare von Stroustrup:I never saw a project for which C was better than C++ for any reason but the lack of a good C++ compiler.
I have never seen a program that could be expressed better in C than in C++ (and I don't think such a program could exist - every construct in C has an obvious C++ equivalent). However, there still exist a few environments where the support for C++ is so weak that there is an advantage to using C instead.
Why is the code generated for the "Hello world" program ten times larger for C++ than for C?
It isn't on my machine, and it shouldn't be on yours. I have even seen the C++ version of the "hello world" program smaller than the C version. When I recently (2004) tested using gcc -o2 on a Unix, the two versions (iostreams and stdio) yielded identical sizes. There is no language reason why the one version should be larger than the other. It is all an issue on how the implementor organized the libraries. If one version is significantly larger than the other, report the problem to the implementor of the larger.
-
ich weiß es:
C ist eine schlechte Programmiersprache.
Und schlechte Programmierer arbeiten auch gerne mit schlechten Programmiersprachen.
Und da es so viele schlechte Programmierer gibt...
-
dali schrieb:
Hier noch ein paar Kommentare von Stroustrup:
ach, wen wundert's dass er nur gutes über c++ schreibt. ist ja auch seine erfindung
er könnte ja mal ein c-programm nehmen und das für c++ umstricken mit allen schikanen wie vererbung, sorglose verwendung von new und delete, schön immer stl-objekte nehmen wo man nur kann usw, wie's c++ coder nunmal so machen. das wird 'ne ganze ecke fetter...
-
dali schrieb:
Tsss ich denke da wird der Hauptbewegungsgrund wenn es so sein sollte der sein dass die Leute die da arbeiten halt noch alteingesessene C Hardcorecoder sind :p
Na du musst es ja wissen
dali schrieb:
HW kann sein wie sie will Compiler schreib ja nicht ich und die HW hat ja garnichts mit der Sprache selbst zu tun
Hier noch ein paar Kommentare von Stroustrup:Du hasts nicht gerafft
C++ hat viel zu viel Overhead für Sachen die schnell sein müssen auf uC.
-
Der Overhead ist besteht aber nur in der Dateigröße.
-
@net: Die STL ist sicher ne nette Sache und halt designt damit es effizient im assymptotischen Sinne ist also zb dass die Elemente halt in aufsteigender Form sortiert werden damit man halt binäre Suche durchführen kann, logarithmisches einfügen oder löschen etc. Aber eben man sollte halt dann schon annehmen können dass nem "guten" Programmierer klar ist dass sie für Echtzeitanwendungen manchmal Performanzeschwierigkeiten wegen dem Overhead in Zeit und Speicher hat.
In C kannst genauso mit malloc Speicherlöcher schießen
Ein Programmierer sollte halt wissen was er macht@Dingo: Ne ich hab noch nie nen Controller geschrieben und du?
Oh mann klar kannst auch dein ganzen Programm in Assembler schreiben mir solls wirklich egal.
-
overhead projektor schrieb:
Der Overhead ist besteht aber nur in der Dateigröße.
Ich dachte das Problem wäre die darunterliegende C++ VM
</nonsense>
-
dali schrieb:
In C kannst genauso mit malloc Speicherlöcher schießen
klar, aber in c kann man gut auf malloc verzichten. manchmal ist ram viel zu wertvoll, als dass man noch 'ne heapverwaltung draufsetzt, die den speicher fragmentiert und sich selber auch was davon abzwackt. wenn man z.b. nur 4kb ram hat, macht malloc() keinen sinn. ...und stell dir mal vor du darfst als c++-coder kein 'new' verwenden. das würde da echt fehlen und dich unheimlich einschränken. c++ ohne 'new' ist nur noch die hälfte wert
-
Ok da kannst du vielleicht recht haben... Muss zugeben auf solchen Geräten habe ich noch nie etwas gemacht. Aber hätte gedacht gerade bei solchen Plattformen ist heutzutage C++ die bevorzugte Sprache aber anscheinend nimmt man da doch noch vorwiegend C? Kennt jemand vielleicht ne gute Site dazu?
-
dali schrieb:
Aber hätte gedacht gerade bei solchen Plattformen ist heutzutage C++ die bevorzugte Sprache aber anscheinend nimmt man da doch noch vorwiegend C?
bei den ganz kleinen ja, da sind sogar komplette assembler-programme noch angesagt. es gibt auch einen subset von c++: http://www.caravan.net/ec2plus/
aber irgendwie will das kaum einer benutzen.
-
dali schrieb:
@Dingo: Ne ich hab noch nie nen Controller geschrieben und du?
Oh mann klar kannst auch dein ganzen Programm in Assembler schreiben mir solls wirklich egal.Ja.
Für Massenproduktion muss die Hardware so billig wie möglich sein, da auft man keine zu große Hardware nur damit der Programmierer komfortabel entwickeln kann und Ressourcen verschwenden kann.
-
net schrieb:
ich glaub' eher dass die erfinder von c ziemlicher unix-häcker waren, die einfach wenig tippen wollten und c für ihresgleichen machten, d.h. leute mit einigermassen hohem abstraktionsvermögen.
C wurde von Microsoft erfunden!!
-
[quote="oenone"]
net schrieb:
Cacheline schrieb:
ich glaub' eher dass die erfinder von c ziemlicher unix-häcker waren, die einfach wenig tippen wollten und c für ihresgleichen machten, d.h. leute mit einigermassen hohem abstraktionsvermögen.
C wurde von Microsoft erfunden!!
rofl