c# oder c++?

immnn

Mitglied
hallo,

hab die suchfunktion schon verwendet, jedoch keine threads mit diesem inhalt gefunden ...

also öhm, ich bin grad am überlegen ob ich meine c++ kenntnisse weiter vertiefe, oder mich in c# einarbeite.
kann mir mal jemand sagen wo die vorteile der sprachen liegen?
was kann ich womit realisieren?
was würdet ihr empfehlen?
 
Hi

also, ich habe letztes Jahr in der Schule C gelernt. heuer machen wir C++, und ich kann sagen, dass es wesentlich leichter ist C++ zu lernen wenn man C kann.

C wird soweit ich weis kaum verendet, so ziemlich die wichtigste Anwendung dafür sind zB Gameboyspiele ;)

Mit C++ kann man halt schon einiges mehr machen (beispielsweise Hardwarenahes Proggen) - größter Vorteil ist die Objektorientierung, die einem viel mehr möglichkeiten gibt seine Programme zu strukturieren.

MFC zB ist nur in C++ möglich, da es objektorientiert ist - exaktes gegenstück dazu ist die WinApi, nicht Objektorientiert und deshalb C ^^

Ich würde dir so oder so dazu raten, mit C anzufangen, einfach schon mal deshalb, da der Sprachumfang nicht so groß ist wie der in C++.
Es ist sicherlich keine verlorene Zeit C zu machen, is jedoch deine entscheidung

MFG Masda
 
Du kannst mit beiden sogut wie fast alles realsieren. Allerdings ist C# natürlich etwas langsamer als C++. Der Unterschied dürfte sich bei den meisten Anwendungen allerdings gering halten. Des Weiteren bietet C# mehr 'managed'-Funktionen, d.h. es verwaltet beispielsweise den Speicher. Bei C++ musst du dahingehend sehr viel mehr selber machen, was ebensoviel Disziplin erfordert wie Wissen. Machst du gerade da etwas falsch, kansnt du viele Sicherheits- und Speicherlöcher erschaffen. Allerdings bringt gerade soetwas Performanz.

Das Problem an C# ist die direkte Abhängigkeit an eine Firma, die als einzige Zugriff auf die Standarisierung und Interoperatibitlität der Sprache hat. Auch wenn das Mono-Projekt versucht unter Linux .NET und damit C# laufen zu lassen, ist man doch von der Firma abhängig. Mit einem Lizenz-Schlag von Microsoft, kann die ganze Mono-Blase zerfliegen.
Falls dich plattformunabhängigkeit aber nicht interssiert, ist das natürlich kein Aspekt. Auch wenn eine Abhängigkeit an eine Firma natürlich auch Vorteile hat. C# bzw. .NET stammt von Microsoft genauso wie Windows, daher ist natürlich naturgemäß eine Grundlage da.

Im Endeffekt ist die Frage nach der richtigen Programmiersprache immer mit mehren Kernfragen verbunden, die nur du beantworten kannst. Zusätzlich spielen natürlich auch persönliche Vorlieben eine Rolle.
Die Fragen, die du hier beantworten musst: Möchte ich lieber aufwendiger und dafür performanter, oder eher weniger performant programmieren und dafür eine große Komfortabiltität genießen können? Willst du letzters, sollte C# deine Wahl sein, ansonsten C++.

Ich würde dir allerdings, empfehlen auch mal die Wikipedia-Seiten zu C#/.NET bzw. C++ anzugucken.

Besonders interssant ist dahingehend folgendes:
Wikipedia hat gesagt.:
Ein wesentlicher Unterschied zwischen diesen Sprachen und C++ besteht darin, dass C++ über generische Sprachmerkmale (Templates) verfügt. Es gibt zwar in Java eine generischen Spracherweiterung und bei C# wird an ebensolcher (s. generischer Typ) gearbeitet (Stand: 2004), die Entwicklung geht dort aber in eine etwas andere Richtung als bei C++.

Gerade die generische Programmierung macht aber C++ zu einem mächtigen Programmierwerkzeug. Während die objektorientierte Programmierung in Java und C# als der Gipfel der vorhandenen Abstraktionsmechanismen angesehen wird, ist diese Art der Programmierung in C++ rückläufig. So werden tiefe Klassenhierarchieen vermieden, und zu Gunsten der Effizienz und der Minimierung des Ressourcenverbrauchs verzichtet man in vielen Fällen auf Polymorphie, dem Kernmechanismus der objektorientierten Programmierung. Auch in Punkto Wiederverwertbarkeit einmal kodierter Algorithmen übertreffen generische Techniken nach Meinung vieler Fachleute die objektorientierte Programmierung.



@Vorposter
Es dreht sich hier nicht um die Frage C oder C#, sondern vielmehr um die Frage nach C# und C++! Das ist ein großer Unterschied.

Ich würde dir so oder so dazu raten, mit C anzufangen, einfach schon mal deshalb, da der Sprachumfang nicht so groß ist wie der in C++.
Es ist sicherlich keine verlorene Zeit C zu machen, is jedoch deine entscheidung
Das stimmt so nicht. Gerade das Wissen, welches du durch C erlangst, kann bei erlenen von C++ hinderlich sein. Es ist schwer sich von einmal erlenten Paradigmen zutrennen. Wächst man programmiertechnisch sozusagen direkt mit C++ und der Objektorientierung auf, hat man es wesentlich einfahcer.

C wird soweit ich weis kaum verendet, so ziemlich die wichtigste Anwendung dafür sind zB Gameboyspiele

Mit C++ kann man halt schon einiges mehr machen (beispielsweise Hardwarenahes Proggen)
Hardware nahes Programmieren ist ebenso mit C möglich. Es gibt natürlich (!) auch wichtigere Anwendungen für C. Beispielsweise ist Windows oder auch Linux in großen Teilen in C geschrieben; was die Hardwarenähe beweisen dürfte.
Nur wird heute mit C kaum mehr etwas gemacht, da es wesentlich bessere/schönere Sprachen gibt, die die gleiche Performanz liefern.
 
Zuletzt bearbeitet:
Biergamasda, hast du dir seinen Beitrag überhaupt durchgelesen?
Erstens kann er schon ein wenig C++ und zweitens will er einen Vergleich zwischen C# und C++ und nicht zwischen C und C++.

Ich kann nur sagen, dass mit C# (bzw. .NET) vieles leichter ist als mit C++. Dir wird viel Arbeit abgenommen. Man denke nur mal an die Erstellung eines komplexen GUI mit C++ :rolleyes:
Außerden ist C# relativ neu und Teil eines großen Frameworks, welches dir u.a. die Möglichkeit eröffnet eine andere Sprache zu verwenden (z.B. VB.NET), aber trotzdem die selben Möglichkeiten zu haben. So kannst du auch Webanwendungen (ASP.NET) mit gewohntem C# Syntax und .NET Klassen erstellen.
Dahingegen ist C++ performanter und man hat mehr Einfluss (z.B. Speicherbereinigung etc.).
Wegen letzterem kannst du dir aber auch mit C++ richtig ins Bein schießen :)

Letztendlich sollte es davon abhängen, was du programmieren willst und dann kannst du dir die geeignete Sprache aussuchen.
Das sind jetzt nur mal ein paar Stichpunkte und ich überlasse tiefere Erörterungen Leuten, die davon richtig viel Ahnung haben *Norbert und Christian anguck* ;-)

PS: Im Coders Talk gibt es so viele Themen die sich mit der Frage nach einer Programmiersprache beschäftigen. Darin enthalten sind oftmals auch Diskussionen zu dem Thema C# und C++. Musst du einfach mal gucken.
 
Zuletzt bearbeitet:
hallo,

joa, c++ ist mir wohl shcon recht gut bekannt. schreibe schon seit 2 oder 3 jahren mit dieser sprache, jedoch eher im kleinen styl. lerne es auch in der schule und arbeite momentan an ein projekt was eine arztpraxissoftware werden wird. natürlich alles mit oop. ich will gern in die windows programmierung. unter c++ hab ich mich schon so weit eingearbeitet, dass es kein problem mehr ist ein einfaches fenster zu erstellen, jedoch wirds mir ehrlich gesagt zu viel wenn ich das schon seh *g*

sorry, hätte das vielleicht eher sagen sollen .. hoffe mir wird noch mal verziehn =)

so, ich denke eine passendere frage wäre ob es sich überhaupt für mich noch lohnen würde mit c# anzufangen. vb 6.0 ist mir ebenfalls recht gut bekannt, der umstieg auf vb .net sollte nicht alzu schwierig sein, bin aber eh eher von den c-sprachen angetan.
 
Also ich würde ich auf jeden Fall raten das .NET Framework zu testen. Sei es nun mit C# oder VB.NET, das musst du selber wissen.
Vor allem wenn du mit Visual Studio arbeitest wird dir die GUI Programmierung viel Spaß machen, da du schnell große Erfolge erzielen kannst.

Am besten du lädst dir mal eine voll funktionsfähige Visual Studio Express 2005 Beta kostenlos herunter und fängst einfach mal an was zu programmieren.
Danach kannst du ja selber entscheiden, ob es dich anspricht, oder du doch weiterhin auf der C++-Schiene fahren willst.
Es kann auf jeden Fall nicht schaden sich mal andere Programmiersprachen/-frameworks anzuschaun und somit seinen Horizont etwas zu erweitern.
 
Man kann ja auch beides parallell benutzen. C++ eben dann, wenn Performanz dringend nötig ist und C# für alles andere :)
 
suye hat gesagt.:
Also ich würde ich auf jeden Fall raten das .NET Framework zu testen. Sei es nun mit C# oder VB.NET, das musst du selber wissen.
Vor allem wenn du mit Visual Studio arbeitest wird dir die GUI Programmierung viel Spaß machen, da du schnell große Erfolge erzielen kannst.

Am besten du lädst dir mal eine voll funktionsfähige Visual Studio Express 2005 Beta kostenlos herunter und fängst einfach mal an was zu programmieren.
Danach kannst du ja selber entscheiden, ob es dich anspricht, oder du doch weiterhin auf der C++-Schiene fahren willst.
Es kann auf jeden Fall nicht schaden sich mal andere Programmiersprachen/-frameworks anzuschaun und somit seinen Horizont etwas zu erweitern.

hallo,

jau, hab mich jetzt auch mal für c# entschieden, werd mir einfach mal ein buch anschaffen und mich einarbeiten. die optionen die es so bietet sind ja doch wohl beeidruckent.
progge aber selbst lieber mit der visual studio 2003 und ab und zu sogar noch mit der 6.0er, diese versionen braucht nich so viele resourcen.
... als student sind die entwicklungsumgebungen kostenfrei für mich ;)
 
Zurück