Unterschiede C/C++ (Anfänger)
-
Hallo,
vielen Dank für eure Antworten.
Aber wieso verwendet man dann noch C wenn es im Gegensatz zu C++
doch so "veraltet" ist?
Ich habe vor kurzem mit C++ angefangen, aber ab den Kapiteln mit
Klassen, Vererbung usw., habe ich mich entschlossen erst einmal alles
ohne diese Themen zu lernen und doch erst mit C anzufangen.
Aber aus euren Antworten höre ich heraus das C von gestern ist und ich
gleich mit C++ weitermachen soll.Liege ich da richtig?
Grüße,
Tutorialfresser
-
Auf Betriebssystemebene wird C (hoffentlich) noch einige Jahrzehnte Standard sein, nicht zuletzt weil die Objektorientiertheit, Polymorphie etc. doch einiges an Overhead mitbringt...
-
C ist nicht "veraltet", sondern wird ebenso weiterentwickelt wie C++ auch. So gesehen ist C gerade sogar "aktueller".
Für Desktopanwendungen ist C++ sicher die bessere Wahl. Für Mikrocontroller eher C. Kommt halt drauf an was du machen willst (wobei man für Desktopanwendungen auch gleich C# lernen könnte, aber das ist eine andere Geschichte).
@CStoll:
Wie kommst du darauf, dass jemand Objektorientierung in C nachbilden will? Das war ja nicht die Frage.
-
Es war nicht gefragt, welche Bestandteile von C++ man nachbilden wollte, deshalb bin ich vom "schlimmsten" ausgegangen
-
LordJaxom schrieb:
Auf Betriebssystemebene wird C (hoffentlich) noch einige Jahrzehnte Standard sein, nicht zuletzt weil die Objektorientiertheit, Polymorphie etc. doch einiges an Overhead mitbringt...
Unsinn! Verrate uns doch mal, von welchem Overhead du sprichst. Und warum entsprechende C Äquivalente diesen nicht haben.
TutorialFresser schrieb:
Ich habe vor kurzem mit C++ angefangen, aber ab den Kapiteln mit
Klassen, Vererbung usw., habe ich mich entschlossen erst einmal alles
ohne diese Themen zu lernen und doch erst mit C anzufangen.Ich verstehe ehrlich gesagt deinen Standpunkt nicht wirklich. Wenn du Klassen und Vererbung in C++ erstmal weglässt, dann hast du doch immer noch C++. Was also willst du mit C?
-
@groovemaster: Naja natürlich kann man auch C++ ohne Klassen schreiben, aber das meine ich dann nicht mit C++
Was den Kernelbereich angeht halte ich den Overhead von Vererbung und Polymorphie für durchaus relevant, nicht zuletzt weil naturgemäß keine Standardbibliotheken zur Verfügung stehen...
-
LordJaxom schrieb:
Was den Kernelbereich angeht halte ich den Overhead von Vererbung und Polymorphie für durchaus relevant, nicht zuletzt weil naturgemäß keine Standardbibliotheken zur Verfügung stehen...
Naja, das sind aber Funkalitäten, die auf so einer Ebene kein Schwein braucht, darum muß man sich nicht wundern, wenn man in so einem Fall gleich C vorgesetzt bekommt, auch deswegen, weil die Sprache einfacher und Compiler leichter zu implementieren sind.
Übrigens ist das hier die Standardreaktion für ein Posting, in dem 'C' und 'C++' vorkommt. Sofort hat man eine handvoll Leute, die alle erklären, daß C++ viel besser ist, und überhaupt, praktischer als geschnittenes Brot.
-
Ich habe nicht behauptet dass was besser ist
Beides hat seine Berechtigung und ich nutze auch Beide, je nach Anwendungsfall und Kundenwunsch (ja es gibt auch Fälle wo C++ einfach zu teuer ist).
-
LordJaxom schrieb:
Was den Kernelbereich angeht halte ich den Overhead von Vererbung und Polymorphie für durchaus relevant
Du redest immer von Overhead. Werde doch mal konkret. Von welchem Overhead sprichst du denn?
-
um es vorwegzunehmen, wer bestimmte features von c++ nicht benutzt, die es in ansi c nicht gibt, wird sehr wahrscheinlich gleichen code bekommen. ein anstaendiger compiler optimiert sowas.