Was ist der Unterschied? Was ist was....
Lies doch mal hier und hier: http://de.wikipedia.org/wiki/C%2B%2B http://de.wikipedia.org/wiki/C-Sharp
C# ist ne Katastrophe aus dem Hause Microsoft und C++ ist ne Katastrophe von internationalen Standardisierungskomitees. Viel Spaß beim Zerfleischen ;-)
C# ist ziemlich modern und versucht die Vorteile verschiedener Programmiersprachen zu vereinen.
C# ist ein Staubkorn im in einem ganzen Haufen: - C# - C++ - (Visual) Basic (.NET) - Java - PHP - Perl - Python Die werden übrigens alle vor der Ausführung kompiliert und versuchen auch, Vorteile anderer Sprachen zu vereinen, allesamt mehr oder weniger gut. Microsoft hat da weder das "beste" noch das "modernste" oder das "erste überhaupt" erfunden. Jedem das Seine, jeder wie er will, kann und darf.
C# ist das beste was Microsoft jemals zustande gebracht hat. Könnte daran liegen, das sie den Entwickler von Borland gekauft haben. (Wobei Borland natürlich C++ technisch ziemlich erbärmlich ist.)
Wenn ich mich so im freien Markt umsehe, dann wird heutzutage (für Windows Programme) C# gegenüber dem C++ bevorzugt. Das liegt natürlich auch nicht zuletzt an der tollen Toolchain mit dem Visual Studio. C++ wird aber auch in Zukunft für Treiber, sehr effiziente und einigermassen portable Software eingesetzt werden. Man trifft auch häufig "Zwitter" an, wo das GUI und die Programmlogik in C# und .NET gemacht ist und die schnellen Berechnungsroutinen oder Hardwarezugriffe in einer C/C++ DLL gekapselt und von C# verwendet werden.
C# ist für Leute die früher Basic gemacht haben und so wie Basic ist C# im Hause Microsoft selbst nicht zugelassen. Warum wohl?
> wie Basic ist C# im Hause Microsoft selbst nicht zugelassen. Warum wohl?
Komplett falsche Aussage; das Media Center ist beispielsweise in C#
programmiert und kommt von Microsoft.
Bleib bei Assembler wenn Du mit Zeitgemässer Software nicht klarkommst.
Die ganze Diskussion gab es vor vielen Jahren auf dem Betriebssystemsektor. Propritär oder offen - C++ oder C#. Inzwischen setzt auch IBM massiv auf Linux.
> Inzwischen setzt auch IBM massiv auf Linux
Seit wann ist Linux eine Programmiersprache?
>C# ist ne Katastrophe aus dem Hause Microsoft und C++ ist ne Katastrophe >von internationalen Standardisierungskomitees. Und haku ist ne Katastrophe für mikrocontroller.net
Gast wrote: >>C# ist ne Katastrophe aus dem Hause Microsoft und C++ ist ne Katastrophe >>von internationalen Standardisierungskomitees. > > Und haku ist ne Katastrophe für mikrocontroller.net Ach danke für die Blumen, ich reih dich mal nahtlos in meine Sammlung ein, ja? Bitteschön: http://www.mikrocontroller.net/articles/Benutzer:Haku
>Seit wann ist Linux eine Programmiersprache?
Seit I_ H. so dämlich ist wie er es immer wieder beweist. Du wirst doch
dem großen I_ H. nicht widersprechen?
> Du wirst doch dem großen I_ H. nicht widersprechen?
Hast recht, ich sollte vor ihm kuschen und alles zurück nehmen.
Natürlich wird heutzutage in allen Firmen und allen Bereichen nur noch
Linux und C++ eingesetzt.
-> Wenn dem wirklich so wäre, dann wäre Microsoft schon lange pleite!
Meckern könnt ihr, nur lesen irgendwie nicht: I_ H. wrote: > Die ganze Diskussion gab es vor vielen Jahren auf dem > Betriebssystemsektor. Propritär oder offen - C++ oder C#. > > Inzwischen setzt auch IBM massiv auf Linux. Steht da irgendwo, dass Linux ne Programmiersprache sein soll? Ich lese daraus, dass es ne Diskussion um offen oder proprietär auf beim OS-Sektor gab. Als Beispiel nennt I_ H. den IBM-Konzern, der sich scheinbar für "offen" entschieden hat. Schließlich führt er ne Analogie zu C++ vs. C# an, wobei er davon ausgeht, dass C++ "offen" ist und C# dagegen "proprietär", was ja auch richtig ist, da es für C# ja offiziell (!) keinerlei Support für irgendwas, was nicht "Windows" heißt, gibt.
Sven Pauli wrote: > Als Beispiel nennt I_ H. den IBM-Konzern, der sich > scheinbar für "offen" entschieden hat. IBM hat sich dafuer entschieden, mit billigen Servern SUN vom Markt zu draengen, was auch wunderbar geklappt hat. Das war's dann auch schon...
> C# dagegen "proprietär"
Du verwechselst da was. C# ist offen für alle, ist ja auch nur eine
Programmiersprache. Was Du meinst ist das .NET Framework, dieses ist von
Microsoft nur für Windows erhältlich. Ist ja auch logisch, denn Windows
ist ja auch von Microsoft.
Wäre es anders, dann wäre es ja so wie wenn z.B. Sony ihre Fotoapparate
so macht, dass auch normale SD-Karten statt nur Sony Memory Sticks
funktionieren würden.
Oder wenn man in Canon Druckern auch HP Patronen einsetzen könnte.
Also überleg mal...
@Johny: Du hast da selbstverständlich Recht, C# ist genauso standardisiert, wie auch C und C++. Das Problem bei der Sache ist in diesem konkreten Fall, dass (abgesehen von den Betrebungen von Mono) keinerlei portierte Alternativen für andere Plattformen als Windows existieren, und so ist C# doch ziemlich extrem proprietär im Sinne von "an eine Plattform gebunden", nicht aber im Sinne von "es gehört Microsoft". Das kann sich natürlich durch weitere Bemühungen Dritter auch ändern, aber momentan ists halt so.
Ich denke der Punkt ist halt, dass C# alleine ohne das .NET Framework gegenüber C oder C++ kaum grossartige Vorteile bringt. Das .NET Framework wird von Microsoft derart schnell und konsequent vorangetrieben, dass für die Opensource-Gemeinde kaum eine Chance besteht, das im selben Tempo nachzuprogrammieren. Darüberhinaus haben die meisten Opensource Leute eh keinen Bock das zu machen, die hatten früher auch nie QBASIC, Delphi und son' Zeug nachprogramieren wollen. Wenn ich C# und .NET einsetzen kann, weil ich weiss, dass meine Kunden Windows PC's einsetzen, dann nutze ich es und komme schnell ans Ziel. Wenn meine Kunden gemischte Systeme haben, dann natürlich nicht. In der Schublade hab ich ja auch nicht nur Kreuzschraubenzieher sondern verschiedene.
C# ist eine gesunde Mischung aus Java und C++. Es sind viele Sachen nachgerüstet worden, die ich bei Java schwer vermisse (unsafe Blöcke, Operatorenüberlagerung, rectangular arrays, implicit/explicit type casts, structs). Die Akzeptanz und Verbreitung ist leider vergleichsweise gering, weshalb ich mich noch nicht dazu durchringen konnte größere Projekte damit umzusetzen.
Ich glaube auch nicht, dass C# als etwas verbessertes Java eine langfristige Perspektive hat, kann aber sein. Schliesslich hat sich auch Windows gegenüber dem besseren OS/2 durchgesetzt was m.E. hauptsächlich daran lag, dass die damaligen Kisten mit 286ern liefen und 16MB RAM noch schweineteuer war. Auch wäre eine SCSI Platte von Vorteil gewesen auch unbezahlbar. Mit Visual C++ unter .NET hat man doch so viele Möglichkeiten und C# ist doch auch nur ein C-Programm. Warum sollte man zusätzlich zu den Schwierigkeiten ein Produkt zu entwickeln und zu vermarkten auf eine proprietäre Plattform setzen die möglicherweise von Microsoft morgen nicht mehr unterstützt wird. Ich habe gehört MFC soll schwierig sein. Ich empfand es nie als schwierig. Auch die ActiveX Technologie hat man doch auch hauptsächlich über einen Programmgenerator/Wizard erledigt. Ich empfinde auch Java, C# und C++ nicht als schwierig also was soll das Ganze. Das Lager der M$-Anhänger kenne ich allerdings. Es gibt Leute, die glauben, wenn man C# macht, dann ist man ganz vorne mit dabei und auch beim kassieren, so eine Art Nachfolgeprägung wie beim Konrad Lorenz...
Also, wenn du zwei Frauen vergleichen tust, ganz konkret, dann ist die eine so lala und die andere konkret mehr lala. Bei C plus plus ist es die erste Frau und bei C scharf die zweite. Also, willst du HOT sein, nimm C scharf und jeder mag dich ! Vertrauen Sie mir ! Damit kannst du jeden beeindrucken !
Im Grunde genommen wurde schon jahrzehntelang nichts wirklich Neues erfunden. C# ist ähnlich wie JAVA, wobei JAVA allerdings auf einer Virtuellen Maschine läuft, die es praktisch für jedes größere Betriebssystem gibt. C# und C++ und C bis hin zu Turbopascal und Assembler liefern EXEcuteable Dateien direkt fürs Betriebssystem. Teils über den Umweg von Objektdateien usw. Bei JAVA gibts dann einfach die Dateien mit der Erweiterung *.java, die dann halt für die Virtuelle Maschine sowas wie EXE-Dateien sind. Ich weiß jetzt gar nicht, wie das mit Pointern im C# ist. An den Variablenreferenzen und der Speicherverwaltung sowie an den Zugriffsritualen auf die PC-Peripherie erkennt man die Unterschiede am besten. Um Programmieren zu lernen empfehle ich jene Sprache, die einem grade ins Auge fällt, weil Freunde damit hantieren oder weil man rein zufällig den Compiler da hat. JAVA-Compiler und Entwicklungsumgebung sind kostenfrei, sowie viele Entwicklungsumgebungen für C und C++. Bei C# muß man soweit ich weiß, schon in die Tasche greifen und ein paar Euros herbeizaubern. Deshalb nehme ich nicht C#. Und ich kenne es auch kaum. MfG Saurod
C# läuft auch in einer eigenen Laufzeitumgebung, die gibts auch für Linux - MONO. Folglich gibts auch freie Kompiler dafür. Direkter Speicherzugriff (Zeiger) ist in C# meines Wissens nach so nicht möglich, da C# managed Code ist. Stattdessen dürfte es aber Sprachkonstruktionen geben, die vorübergehend Privilegien für den direkten Zugriff bereitstellen.
> Bei C# muß man soweit ich weiß, schon in die Tasche greifen > und ein paar Euros herbeizaubern. Nö: http://www.microsoft.com/germany/express/product/vcsharp.aspx
und wenn man Hardcore mag nimmt man den Kommandozeilencompiler der mit dem Framework kommt und z.B. in c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe steht, der kostet auch nix :-)
Selten so viel Fehlinformation auf so knappem Raum... Saurod wrote: > Im Grunde genommen wurde schon jahrzehntelang nichts wirklich Neues > erfunden. C# ist ähnlich wie JAVA, wobei JAVA allerdings auf einer > Virtuellen Maschine läuft, die es praktisch für jedes größere > Betriebssystem gibt. ... auch für kleinere, embedded Systeme und auch Mobiltelefone. > C# und C++ und C bis hin zu Turbopascal und > Assembler liefern EXEcuteable Dateien direkt fürs Betriebssystem. C# eben nicht, es liefert IL (Intermediate Language), das dann in der .NET Laufzeitumgebung ausgeführt wird. > Ich weiß jetzt gar nicht, wie das mit Pointern im C# ist. Ist gar nicht, aber Du hast recht, Du weisst es jetzt gar nicht. > Bei C# muß man soweit ich weiß, schon in die Tasche greifen und ein paar > Euros herbeizaubern. auch falsch, siehe Post von Rufus > Deshalb nehme ich nicht C#. > Und ich kenne es auch kaum. und deshalb ist dem Fragesteller auch kaum geholfen. (übrigens möglicherweise auch mit meinem Beitrag nicht ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.