warum gerade C ?
-
@ dali, C ist dann also kein standart mehr ?
welche sprachen sollte man denn stattdessen nehmen ?
jo ok, datenbanken, is mir klar, da nehmmt man kein c .. da wird z.b. auf evil access zugegriffen oder auf mysql ...
aber sonst .. warum kein c ?
linux z.b. ist doch komplett in C
-
doomcalyptica schrieb:
@ dali, C ist dann also kein stan**** mehr ?
welche sprachen sollte man denn stattdessen nehmen ?D
doomcalyptica schrieb:
jo ok, datenbanken, is mir klar, da nehmmt man kein c .. da wird z.b. auf evil access zugegriffen oder auf mysql ...
Hä?
doomcalyptica schrieb:
aber sonst .. warum kein c ?
Wer sagt das? Bzw. wofür soll man kein C verwenden?
doomcalyptica schrieb:
linux z.b. ist doch komplett in C
Gewürzt mit einer kleinen Brise Assembler, ja. Sowie die meisten anderen Kernel auch.
-
TactX schrieb:
doomcalyptica schrieb:
linux z.b. ist doch komplett in C
Gewürzt mit einer kleinen Brise Assembler, ja. Sowie die meisten anderen Kernel auch.
Meiner is in C++
-
doomcalyptica schrieb:
mal eine frage, wieso programmiert ihr gerade mit C ... es gibt doch auch C++ oder andere sprachen.
der zweck heiligt die mittel. c gibt es für jeden popeligen controller. verständlich, denn die entwicklung eines c-compilers für eine neue plattform ist wesentlich einfacher als einen c++ compiler zu schreiben. einige bauen z.b. einfach den hier um: http://www.cs.princeton.edu/software/lcc/
-
C is ne nette Sprache, mit der man auch grosse Projekte realisieren kann wenn man bissl mitdenkt. (ja klar hat man dann mehere tausend funktionen, aber man hat ja auch mehere 1000 methoden in c++).
Zu C sollt ich die glib erwaehnen,mit helfer typen/funktion fuer fast alles und sogar nem objekt system...sehr geil
Nur zu tippen ist C manchmal mehr als C++ str+="x". vs g_string_append(str,"x")
-
Ich nehme an du hast das objektorientierte Paradigma nicht verstanden.
-
Warum ich C mag?
1. C ist relativ maschinennahe.
2. In C lassen sich lustige Pointerkonstruktionen bauen (geht z.B. in Java net)
3. C ist relativ performant
4. C ist einfach zu erlernen
5. Es gibt bei den meisten Compilern auch die Möglichkeit Assembler-Direktiven mit in den C-Code einzubauen.
6. C-Compiler gibt es für so gut wie jede Hard- und Softwareplattform
7. C bietet mir einen Präprozessor, der mir in so manchen anderen Sprachen fehlt
.
.
.Ok. Ich bin voreingenommen. Der Hauptgrund ist wohl: Weil ich C mag
-
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.
-
hackbert schrieb:
Warum ich C mag?
1. C ist relativ maschinennahe.
2. In C lassen sich lustige Pointerkonstruktionen bauen (geht z.B. in Java net)
3. C ist relativ performant
4. C ist einfach zu erlernen
5. Es gibt bei den meisten Compilern auch die Möglichkeit Assembler-Direktiven mit in den C-Code einzubauen.
6. C-Compiler gibt es für so gut wie jede Hard- und Softwareplattform
7. C bietet mir einen Präprozessor, der mir in so manchen anderen Sprachen fehlt
.
.
.Ok. Ich bin voreingenommen. Der Hauptgrund ist wohl: Weil ich C mag
1.) Ja
2.) Toller Grund
3.) Ja (Gilt aber genauso, wenn richtig gemacht, für C++)
4.) Einfach verglichen mit z.B. Java.Wohl nicht so richtig.
5.) Ja (Geht mit C++ genauso).
6.) Von embedded mal abgesehen gibt es C++-Compiler wohl auch recht häufig.
7.) Kann man in C++ auch nutzen. Sollte man aber mit Bedacht verwenden. Wobei
der Nachteil der Gleiche ist wie auch in C.
-
Ausserdem hat C-Code eine Ästhetik, die keine andere Programmiersprache
(außer C++) hat - optisch ist komprimierter C-Code
... if((*a->b||!(op--))>=c++[d]) ...
irgendetwas zwischen Ordnung und Chaos und an Knappheit bei gleichzeitiger
Lesbarkeit kaum zu überbieten.Knapp ist Forth-Code auch (sogar knapper), aber eben erheblich schwerer lesbar,
da man sich bei Forth-Code ständig den Stackinhalt vorstellen muß.
Andere Sprachen wie Pascal sind zwar lesbarer, aber mit viel längeren
Schlüsselwörtern begin...end und nicht so knapp wie C.Vermutlich hat diese Ästhetik wesentlich zur Beliebtheit von C/C++ beigetragen -
das ist doch einfach abwechslungsreicher.Alle anderen Gründe (Maschinennähe, Portabilität, Effizienz etc..) wurden ja
schon genannt.
-
C ist keine general-purpose programmiersprache, sondern auf die Manipulation der Register und des Speichers auf von-Neumann Rechnern spezialisiert. Genauso wie wohl die meisten anderen bekannten Hochsprachen.
C ist wirklich sehr einfach gehalten und daher wohl so beliebt, weil man mit wenig Grundstoff relativ viel erreichen kann.auf bald
oenone
-
C ist keine general-purpose programmiersprache, sondern auf die Manipulation der Register und des Speichers auf von-Neumann Rechnern spezialisiert.<<
Nicht-von-Neumann-Rechner spielen ja heute auch eine große Rolle bei der
Anwendungsentwicklung.
C ist nicht *eine* general-Purpose-Sprache, es ist *die* general purpose-Sprache.Noch was: C ist auch deshalb so beliebt, weil es eine ProgrammierERsprache ist,
die von Programmierern für Programmierer entwickelt wurde, um damit zu
programmieren.Andere Sprachen wie BASIC, COBOL oder FORTRAN sind dafür gedacht,
Nicht-Programmierern das Programmieren zu ermöglichen oder sind eher aus
akademischen oder edukativen Gründen (PASCAL) heraus entstanden.
-
Cacheline schrieb:
Ausserdem hat C-Code eine Ästhetik, die keine andere Programmiersprache
(außer C++) hat...doch, apl, aber das benutzt heute keiner mehr
übrigens, ich finde c ist gar nicht so toll lesbar. das meinen wir nur weil wir uns daran gewöhnt haben. die meisten anderen sprachen mit nicht-c ähnlicher syntax sind lesbarer.
-
die meisten anderen sprachen mit nicht-c ähnlicher syntax sind lesbarer.<<
Sicherlich - ein COBOL- oder MODULA-Programm ist auf den ersten BLick
leichter lesbar als ein C-Programm - aber eben auch länger.Gerade die in Programmen besonders häufigen Elemente wie Block, Indirektion, Inkrement und
Nulltest etc. sind in C mit {...},*,++,! etc. äußerst kurz formuliert, was zu
kurzem Programmtext führt.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.
-
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++.