Frage zu Eclipse mit C?

...komplette Frage anzeigen

2 Antworten

C ist keine Objektorientierte Sprache und lässt daher die Implementierung weiterer Klassen logischerweise nicht zu.  Du könntest dir in der Theorie eine eigene Lib erstellen aber das ist dann wieder ein ganz anderes Thema und auch nicht wirklich sinnvoll.

C++ selber ist eigentlich auch keine objektorientierte Programmiersprache, allerdings lässt sie die Einbindung von Klassen etc. zu und kann mit diesen auch umgehen.

C# ist die eigentlich OOP-Sprache aus dem Hause C. Allerdings bietet diese Sprache bei weitem nicht so viele Anwendungsbereiche wie C und C++.
"Normale" Programme kannst du hier zwar schreiben aber Dinge wie Treiber, OS oder sonstiges sind quasi nicht realisierbar. Dafür ist der Umgang mit C# weitaus einfacher und du kannst dir auch nicht so leicht ins Bein schießen. (vallgrinds etc.)

Falls du wirklich mit Klassen arbeiten möchtest solltest du also in C++ programmieren. C# ist zwar einfacher, allerdings lernst du mit C++ alles, was du für C# brauchst. Somit kannst du also quasi beide Sprachen.

Liebe Grüße, JutenMorgen!

ceevee 02.05.2016, 16:08

C++ selber ist eigentlich auch keine objektorientierte Programmiersprache

Was ist C++ denn? C++ kann Vererbung, Polymorphie, Kapselung und die Gang-Of-Four-Muster lassen sich auch alle in C++ umsetzen.

C# ist zwar einfacher, allerdings lernst du mit C++ alles, was du für C# brauchst. Somit kannst du also quasi beide Sprachen.

Wie nutzt man denn z.B. LINQ mit C++-Hausmitteln?

0
JutenMorgen 02.05.2016, 21:26
@ceevee

Zu Punkt 1:

Weiß ich alles und hab ich auch gesagt, trotzdem ist und vor allem war C++ nicht wirklich dazu gedacht als echte OO Sprache zu dienen. 

Ich habe ja auch nicht geschrieben C++ ist auf keinen Fall eine OO Sprache sondern eigentlich keine^^

C++ ist eine prozedurale Sprache mit der Möglichkeit zur Einbindung von Klassen, Methoden und Objekten. Im Grunde nur eine Erweiterung von C. Deswegen auch C++/C+1
Ja sie unterstützt ziemlich alle Funktionen einer OO Sprache aber C++ hatte ursprünglich z.B. keinen Garbage-Collector und stellt diesen, auch heute noch, nur als Option zu Verfügung. Viele Leute sehen einen Garbage Collector aber nun mal als einen nicht unerheblichen Teil einer echten, modernen OO Sprache an. Auch die Abwärtskompabilität von C++ zu einfachen C-Befehlen und prozeduraler Programmierung ist um es gelinde auszudrücken untypisch für OO Sprachen. Die Kapselung, welche du angesprochen hast ist in C++ ebenfalls nicht so umfangreich bzw. sicher genug für eine echte OO Sprache. So kann während der Laufzeit in einem C++-Programm der Speicher von Objekten durch andere Objekte sehr leicht manipuliert werden. Bei einer echten Kapselung darf das nicht der Fall sein...

Ich würde nicht widersprechen, wenn man sich darauf einigen würde, dass C++ eine OO Sprache ist, aber das ist halt momentan (bzw. schon lange) eher ein umstrittenes Thema statt Fakt, was man übrigens auch auf  endlos vielen Seiten nachlesen kann...

Zu Punkt 2:

Du solltest langsamer lesen. Ich hab nicht behauptet, dass man LINQ mit C++ aufrufen kann (Ich weiss gar nicht wie du auf das Beispiel kommst!?), ich hab gesagt, wenn man C/C++ versteht, versteht man auch C#, da C# sowie auch Java auf diesen Sprachen basieren. Für C++ gibt es zudem zahlreiche Alternativen zu LINQ. Selbst offizielle von Microsoft selber.
Wie gesagt ich hab nicht ganz verstanden was das Argument sollte...

Aber danke für deinen Downvote^^

Liebe Grüße, JutenMorgen!

0

und wie kann man eine Klasse in C richtig erstellen ?

Überhaupt nicht. C ist (im Gegensatz zu C++) nicht objektorientiert und kennt keine Klassen.

DAUUSER 02.05.2016, 15:57

Ok, aber wie beginne ich jetzt richtig ? Damit meine ich wo kann ich meinen Code Code reinschreiben ?

0
ceevee 02.05.2016, 16:04
@DAUUSER

Klassischerweise schreibst du deinen Code ins Editorfenster. Üblicherweise beginnst du mit einer Main-Methode. 

Und am besten suchst du dir ein C-Buch oder Tutorial, mit dem du lernst, wie man programmiert bzw. was du ins Editor-Fenster reinschreiben musst. Wenn du noch gar nicht programmieren kannst, dann ist C eine schlechte Wahl als Einstiegssprache.

0

Was möchtest Du wissen?