C Programmierung
-
Mit C kannst du Programme schreiben!
-
Mit C kannst du C++ler an die Wand proggen.
-
c > c++
-
amsingh schrieb:
HALLO!
Ich bin gerade dabei c zu lernen. Ich habe ein Problem und zwar weiss ich nicht wie und wo man die Sprache C einsetzen kann.Einsetzen kannst du C auf jedem System, auf dem etwas programmiert werden soll und das einen C Compiler hat.
Mir ist z.B. kein Betriebssystem bekannt, für das es nicht einen C Compiler gäbe.
Man kann damit also so ziemlich alles programmieren.
Ob das sinnvoll ist, ist eine andere Frage. Codemasochisten schreiben mit C richtig fette Programme, obwohl sie mit C++ nur einen Bruchteil der Entwicklungszeit bräuchten.
-
amsingh schrieb:
Ich bin gerade dabei c zu lernen. Ich habe ein Problem und zwar weiss ich nicht wie und wo man die Sprache C einsetzen kann.
hauptsächlich für treiber, hardwarenahe programmierung und überall wo's auf speed und geringe grösse des kompilats ankommt (nur assembler ist besser, dafür aber umständlicher).
sothis_ schrieb:
c > c++
rechnerisch falsch, aber sonst stimmts.
Big Brother schrieb:
Mir ist z.B. kein Betriebssystem bekannt, für das es nicht einen C Compiler gäbe.
und mir ist kein betriebssystem bekannt, dass weitläufig genutzt wird, das aber nicht in C programmiert wurde.
Big Brother schrieb:
Codemasochisten schreiben mit C richtig fette Programme, obwohl sie mit C++ nur einen Bruchteil der Entwicklungszeit bräuchten.
richtig, denn programme werden erst richtig fett (obwohl sie's nicht müssten), *weil* C++ benutz wurde.
@amsingh: lass dich durch solche beiträge ahnungsloser nicht aus der bahn werfen. C ist zwar nicht so toll für 'richtig fette' programme geeignet, aber C++ noch weniger.
-
;fricky schrieb:
@amsingh: lass dich durch solche beiträge ahnungsloser nicht aus der bahn werfen. C ist zwar nicht so toll für 'richtig fette' programme geeignet, aber C++ noch weniger.
Große Programme, mit vielen KBytes/MBytes Quellcode, lassen sich mit C++ deutlich schneller fertig stellen. Diese Erfahrung habe ich schon mehrmals gemacht.
:p
-
Big Brother schrieb:
Große Programme, mit vielen KBytes/MBytes Quellcode, lassen sich mit C++ deutlich schneller fertig stellen. Diese Erfahrung habe ich schon mehrmals gemacht.
wieviele mbytes quellcode haste denn geschrieben? oder waren nur die executables etliche mbytes gross?
-
Big Brother schrieb:
;fricky schrieb:
@amsingh: lass dich durch solche beiträge ahnungsloser nicht aus der bahn werfen. C ist zwar nicht so toll für 'richtig fette' programme geeignet, aber C++ noch weniger.
Große Programme, mit vielen KBytes/MBytes Quellcode, lassen sich mit C++ deutlich schneller fertig stellen. Diese Erfahrung habe ich schon mehrmals gemacht.
:pDu hast schon mehrfach große Programme mit C und C++ umgesetzt?
-
;fricky schrieb:
Big Brother schrieb:
Große Programme, mit vielen KBytes/MBytes Quellcode, lassen sich mit C++ deutlich schneller fertig stellen. Diese Erfahrung habe ich schon mehrmals gemacht.
wieviele mbytes quellcode haste denn geschrieben? oder waren nur die executables etliche mbytes gross?
Das letzte Projekt war nicht so groß, eine Portierung von C nach C++. Es war möglichst die C++ STL zu benutzen. Aus rund 60 *.c Dateien mit insgesamt ca. 200 KBytes wurden rund 40 *.cpp Dateien mit insgesamt ca.100 KBytes.
Aber um die Quellcodemenge ging es mir ja auch nicht, sondern um den Aufwand und um die Entwicklungszeit.Tim schrieb:
Big Brother schrieb:
;fricky schrieb:
@amsingh: lass dich durch solche beiträge ahnungsloser nicht aus der bahn werfen. C ist zwar nicht so toll für 'richtig fette' programme geeignet, aber C++ noch weniger.
Große Programme, mit vielen KBytes/MBytes Quellcode, lassen sich mit C++ deutlich schneller fertig stellen. Diese Erfahrung habe ich schon mehrmals gemacht.
:pDu hast schon mehrfach große Programme mit C und C++ umgesetzt?
Jepp.
-
Big Brother schrieb:
Das letzte Projekt war nicht so groß, eine Portierung von C nach C++. Es war möglichst die C++ STL zu benutzen.
warum haste das gemacht? war das sowas wie 'ne übungsaufgabe? normalerweise isses nicht so sinnvoll, weil man von C++ aus auch bestehenden C-code verwenden kann.
Big Brother schrieb:
Aus rund 60 *.c Dateien mit insgesamt ca. 200 KBytes wurden rund 40 *.cpp Dateien mit insgesamt ca.100 KBytes.
den code der STL natürlich nicht mitgezählt, weil der ja als wiederverwenbar gilt, während c-code angeblich nicht wiederverwendbar ist, nicht wahr?
Big Brother schrieb:
Aber um die Quellcodemenge ging es mir ja auch nicht, sondern um den Aufwand und um die Entwicklungszeit.
neu entwickeln oder portieren in eine andere sprache kannste vielleicht nicht so ganz vergleichen. wo spart denn c++ gegenüber C entwicklungszeit?
-
;fricky schrieb:
Big Brother schrieb:
Das letzte Projekt war nicht so groß, eine Portierung von C nach C++. Es war möglichst die C++ STL zu benutzen.
warum haste das gemacht? war das sowas wie 'ne übungsaufgabe? normalerweise isses nicht so sinnvoll, weil man von C++ aus auch bestehenden C-code verwenden kann.
Big Brother schrieb:
Aus rund 60 *.c Dateien mit insgesamt ca. 200 KBytes wurden rund 40 *.cpp Dateien mit insgesamt ca.100 KBytes.
den code der STL natürlich nicht mitgezählt, weil der ja als wiederverwenbar gilt, während c-code angeblich nicht wiederverwendbar ist, nicht wahr?
Big Brother schrieb:
Aber um die Quellcodemenge ging es mir ja auch nicht, sondern um den Aufwand und um die Entwicklungszeit.
neu entwickeln oder portieren in eine andere sprache kannste vielleicht nicht so ganz vergleichen. wo spart denn c++ gegenüber C entwicklungszeit?
Durch die STL kann man recht viel Zeit sparen.
-
;fricky schrieb:
warum haste das gemacht? war das sowas wie 'ne übungsaufgabe? normalerweise isses nicht so sinnvoll, weil man von C++ aus auch bestehenden C-code verwenden kann.
Ich wollte mal ein bisschen cplusplussen, C++ lernen.
;fricky schrieb:
Aus rund 60 *.c Dateien mit insgesamt ca. 200 KBytes wurden rund 40 *.cpp Dateien mit insgesamt ca.100 KBytes.
den code der STL natürlich nicht mitgezählt, weil der ja als wiederverwenbar gilt, während c-code angeblich nicht wiederverwendbar ist, nicht wahr?Wer behauptet, das man C Code nicht wiederverwenden kann?
;fricky schrieb:
neu entwickeln oder portieren in eine andere sprache kannste vielleicht nicht so ganz vergleichen. wo spart denn c++ gegenüber C entwicklungszeit?
Wie schon erwähnt wurde, durch die STL.
-
Big Brother schrieb:
Wer behauptet, das man C Code nicht wiederverwenden kann?
man liest hier öfter mal (von c++ fanatikern z.b.), dass man sich in C immer jeden kleinkram neu schreiben müsse.
Big Brother schrieb:
;fricky schrieb:
neu entwickeln oder portieren in eine andere sprache kannste vielleicht nicht so ganz vergleichen. wo spart denn c++ gegenüber C entwicklungszeit?
Wie schon erwähnt wurde, durch die STL.
für C gibts auch libraries für stringverwaltung/stacks/listen/allgemeine algorithmen und eigentlich alles mögliche usw. damit sparste auch entwicklungszeit. die STL wäre für mich jedenfalls kein grund dieses furchtbare C++ zu benutzen.
-
;fricky schrieb:
für C gibts auch libraries für stringverwaltung/stacks/listen/allgemeine algorithmen und eigentlich alles mögliche usw. damit sparste auch entwicklungszeit. die STL wäre für mich jedenfalls kein grund dieses furchtbare C++ zu benutzen.
Die Libs gibt es, aber die muss man erstmal ranschaffen, sich über Lizenzen informieren, einbinden etc. Im Vergleich relativ aufwendig gegenüber der STL, wo man gleich alles unter einem Hut hat.
Die STL ist ja auch nicht der einzige Grund, der Entwicklungszeiten verkürzt, wenn man z.B. an Vererbung, Templates, Polymorphie denkt.
-
Big Brother schrieb:
Die Libs gibt es, aber die muss man erstmal ranschaffen, sich über Lizenzen informieren, einbinden etc. Im Vergleich relativ aufwendig gegenüber der STL, wo man gleich alles unter einem Hut hat.
Viel wichtiger an der STL ist, daß sie allgemein bekannt ist. Ich brauche nicht nachzufragen, ob der Neue mit der STL arbeiten kann; er kanns einfach und die Einarbeitungszeit dafür entfällt.
-
Big Brother schrieb:
;fricky schrieb:
für C gibts auch libraries für stringverwaltung/stacks/listen/allgemeine algorithmen und eigentlich alles mögliche usw. damit sparste auch entwicklungszeit. die STL wäre für mich jedenfalls kein grund dieses furchtbare C++ zu benutzen.
Die Libs gibt es, aber die muss man erstmal ranschaffen, sich über Lizenzen informieren, einbinden etc. Im Vergleich relativ aufwendig gegenüber der STL, wo man gleich alles unter einem Hut hat.
Die STL ist ja auch nicht der einzige Grund, der Entwicklungszeiten verkürzt, wenn man z.B. an Vererbung, Templates, Polymorphie denkt.Tut mir Leid, aber allein mit der STL kommst du nicht weit. Du wirst so oder so noch etliche externe libs dazunehmen müssen, bei denen du dich um den Lizenzkram kümmern musst. (GUI, Grafik, etc etc etc). Läuft also auf das selbe wie in C hinaus. Mit der STL bin ich öfters in segfaults getreten als mit wilden zeigern. Und sooo viel bietet die STL nicht. Immer wieder witzig wie sehr die STL angepriesen wird, wobei dessen Inhalt der STL in modernen Sprachen selbstverständlicher Teil der Sprache ist.
-
Ja ich lege segfaults aus.
und du trittst rein!
-
Schneewittchen schrieb:
Mit der STL bin ich öfters in segfaults getreten als mit wilden zeigern.
Damit wäre klar, warum du sie nicht als eine große Arbeitserleichterung ansiehst.
-
Big Brother schrieb:
Die Libs gibt es, aber die muss man erstmal ranschaffen, sich über Lizenzen informieren, einbinden etc. Im Vergleich relativ aufwendig gegenüber der STL, wo man gleich alles unter einem Hut hat.
stimmt schon, aber erstmal ist die stl sehr rudimentär, sie ist auf 'nen compiler angewiesen, der gut optimiert (sonst gibts code bloat), du kannst (oder darfst?) nicht von stl-containern erben, multithreading wird nicht unterstützt usw.
Big Brother schrieb:
Die STL ist ja auch nicht der einzige Grund, der Entwicklungszeiten verkürzt, wenn man z.B. an Vererbung, Templates, Polymorphie denkt.
OOP ist auch nicht immer sinnvoll, ausserdem ist C++ OOP ein wenig, äääh, merkwürdig und mit vielen seltsamen fallstricken versehen. aber wenn du dir mal 'ne schöne OOP (nicht nur OOP)-sprache ansehen willst, dann empfehle ich die: http://www.scala-lang.org/
ach ja, zu c++ templates lies mal dieses hier: http://yosefk.com/c++fqa/templates.htmlvolkard schrieb:
Ich brauche nicht nachzufragen, ob der Neue mit der STL arbeiten kann; er kanns einfach und die Einarbeitungszeit dafür entfällt.
ach ja? vielleicht kann er gerade mal rudimentär mit klassen umgehen, hat erst kürzlich gelernt, den schlimmsten C++macken auszuweichen und sich an die STL noch nicht mal rangewagt.
-
;fricky schrieb:
volkard schrieb:
Ich brauche nicht nachzufragen, ob der Neue mit der STL arbeiten kann; er kanns einfach und die Einarbeitungszeit dafür entfällt.
ach ja? vielleicht kann er gerade mal rudimentär mit klassen umgehen, hat erst kürzlich gelernt, den schlimmsten C++macken auszuweichen und sich an die STL noch nicht mal rangewagt.
Du sollst nicht von Dir auf andere schließen.