C und C++
-
ja
-
Michael991 schrieb:
kann man eigentlich auch C + C++ zusammen einsetzen, also mit beiden Sprachen ein Programm entwickeln?
Ja kann man. Du kannst mit dem C++-Schlüsselwort extern "C" C-Funktionen in C++ aufrufen und C++ funktionen für C verfügbar machen. Schöner ist es aber, C++ zu verwenden, meiner Meinung nach. Ich muss im Studium im moment alles mit C machen und hätte doch schon mal gerne C++

-
Wenn man beides beherscht sind eine also "keine Grenzen" mehr Gesetzt ein Programm zu entwickeln, man hat alles was man brauch?!
-
sagen wir mal ja.
wenn du C++ lernst, dann lernst du C im prinzip implizit mit
wenn du C schon kannst, dann kannst du einen (kleinen) teil von C++.
so einfach ist das.
-
C eignet sich besser für hardwarenahe Programmierung für Microcontroller etc.
weil C-Programme mit weniger Speicherplatz auskommen.
Mit C++ ist das meist noch nicht möglich, soviel ich weiss.Mit C++ kannst du Programme, bzw. Funktionen schreiben und in sogenannten Klassen abspeichern.
Diese können ihren Programmcode an andere Klassen "weitervererben".
Eine Klasse kann also Quellcode von einer oder sogar mehreren Klassen erben, das kann C nicht. ( Die Frage ist, ob man solche Spielereien braucht ).
Wie auch immer ist dies ein sehr interessanter Aspekt wie ich finde.
Mich hat das mal sehr interessiert, habe C++ gepaukt wie blöde und trotztem komme ich heute mit C völlig aus.Mit C++ hast du eine einfachere Speicherverwaltung, die weniger Fehleranfällig ist. ( Konstruktoren, Destruktoren, Smartpointer ).
Dann gibts da noch Templates, die STL und ach..blah und blubb...Bei größeren Programmen kann man bei C schon mal an die Grenze einer Krise kommen, wenn vor lauter Zeigern der Bildschirm langsam vor den Augen verschwimmt.

Ansonsten, einfach mal beides ausprobieren und dann weiter schauen.
dot schrieb:
naja, wenn du schon C lernst, dann lern erstmal C und dann lern C++ oder Java oder C# (oder am besten gleich alle ;))
Machst du das so ?
-
dot schrieb:
sagen wir mal ja.
wenn du C++ lernst, dann lernst du C im prinzip implizit mit
wenn du C schon kannst, dann kannst du einen (kleinen) teil von C++.
so einfach ist das.Also wäre es gut wenn ich C erst ein mal ausgiebiger lerne und DANN C++?
-
proggingmania schrieb:
C eignet sich besser für hardwarenahe Programmierung für Microcontroller etc.
weil C-Programme mit weniger Speicherplatz auskommen.
Mit C++ ist das meist noch nicht möglich, soviel ich weiss.Das halte ich für ein Gerücht, vor allem da C nährungsweise eine Untermenge von C++ ist...
Mit C++ kannst du Programme, bzw. Funktionen schreiben und in sogenannten Klassen abspeichern.
Diese können ihren Programmcode an andere Klassen "weitervererben".
Eine Klasse kann also Quellcode von einer oder sogar mehreren Klassen erben, das kann C nicht. ( Die Frage ist, ob man solche Spielereien braucht ).Klar kannst du so was auch in C machen. Schau dir Objective C an. Der Code der generiert wird ist reines C!
Bei größeren Programmen kann man bei C schon mal an die Grenze einer Krise kommen, wenn vor lauter Zeigern der Bildschirm langsam vor den Augen verschwimmt.

das liegt wohl eher an deinem Programmierstil :p
-
proggingmania schrieb:
Die Frage ist, ob man solche Spielereien braucht
fernsehen und radio braucht man auch nicht :p
Michael991 schrieb:
Also wäre es gut wenn ich C erst ein mal ausgiebiger lerne und DANN C++?
was ich damit sagen wollte ist:
es is total egal. lern programmieren

wenn du C++ lernst, dann hast du mit C keine probleme, wenn du C lernst kannst du immer noch C++ lernen, wenn du programmierern kannst, dann kannst du sowieso jede sprache recht schnell lernen.
-
dot schrieb:
btw windows ist wohl größtenteils in C geschrieben. soviel also zum thema GUI erstellen...
Nicht nur Windows, die meisten Betriebssysteme sind in ihrem Kern, bzw. zum größten Teil in C programmiert.
-
was ich damit sagen wollte ist:
es is total egal. lern programmieren
muss mich ja auf etwas spezialisieren

-
Michael991 schrieb:
muss mich ja auf etwas spezialisieren

warum?
-
proggingmania schrieb:
dot schrieb:
btw windows ist wohl größtenteils in C geschrieben. soviel also zum thema GUI erstellen...
Nicht nur Windows, die meisten Betriebssysteme sind in ihrem Kern, bzw. zum größten Teil in C programmiert.
Weil C besser für Betriebssysteme geeignet ist? Wird dafür etwa kein Asm verwendet?
-
dot schrieb:
Michael991 schrieb:
muss mich ja auf etwas spezialisieren

warum?
Weil ich mich gerne in einen oder zweien (C, C++) sehr gut auskennen würde...
-
proggingmania schrieb:
Nicht nur Windows, die meisten Betriebssysteme sind in ihrem Kern, bzw. zum größten Teil in C programmiert.
jep. das da oben war eigentlich mehr als illustration für die sache mit GUI = objektorientiert gedacht...immerhin seh ich in windows recht viel so gui rumliegen. und reines C is jetzt wohl eher nicht die OO sprache

-
Michael991 schrieb:
Weil ich mich gerne in einen oder zweien (C, C++) sehr gut auskennen würde...
nochmal etwas bildhafter:
wenn du bis 5 zählen kannst, dann kannst du bist 5 zählen (<-- C)
wenn du bist 30 zählen kannst (<-- C++), dann kannst du auch bis 5 zählenverstehst du?
-
rüdiger schrieb:
Das halte ich für ein Gerücht, vor allem da C nährungsweise eine Untermenge von C++ ist...
Bei Microcontrollern mit wenigen KByte RAM bleibt dir nichts anderes übrig als C zu benutzen.
Die Dinge, die C++ ausmachen( Templates, Vererbung, STL) kannst du da in die Tonne hauen.
-
dot schrieb:
Michael991 schrieb:
Weil ich mich gerne in einen oder zweien (C, C++) sehr gut auskennen würde...
nochmal etwas bildhafter:
wenn du bis 5 zählen kannst, dann kannst du bist 5 zählen (<-- C)
wenn du bist 30 zählen kannst (<-- C++), dann kannst du auch bis 5 zählenverstehst du?
kann man in mehreren Weisen interpretieren.
Meinst du das ich es aufarbeiten soll so weit wie ich möchte?
-
Michael991 schrieb:
Weil C besser für Betriebssysteme geeignet ist? Wird dafür etwa kein Asm verwendet?
Asm benutzt man meist für Treiber-Software als Schnittstelle zwischen Hardware und Betriebssystem.
Da Ausnahmen die Regel bestätigen, findet man im Internet auch Spielkälber die mit Assembler sogar Windowsprogramme erstellen. Das ist aber eher Hobby bzw. Spielerei.
-
ich meine du sollst lernen soweit zu zählen wie du willst.
-
dot schrieb:
wenn du bis 5 zählen kannst, dann kannst du bist 5 zählen (<-- C)
wenn du bist 30 zählen kannst (<-- C++), dann kannst du auch bis 5 zählenAber du brauchst Jahre, um bis 30 zählen zu lernen, und verlierst dabei völlig aus den Augen, dass es auch negative und rationale Zahlen gibt.