Forum: PC-Programmierung Mal ne dumme Frage - C++ und C#


von Claus A. (cand)


Lesenswert?

Was ist der Unterschied? Was ist was....

von tuppes (Gast)


Lesenswert?


von Claus A. (cand)


Lesenswert?

Danke für die Aufklärung im Programmiersprachenwirrwarrrr.

von Sven P. (Gast)


Lesenswert?

C# ist ne Katastrophe aus dem Hause Microsoft und C++ ist ne Katastrophe 
von internationalen Standardisierungskomitees.

Viel Spaß beim Zerfleischen ;-)

von Johnny (Gast)


Lesenswert?

C# ist ziemlich modern und versucht die Vorteile verschiedener 
Programmiersprachen zu vereinen.

von Sven P. (Gast)


Lesenswert?

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.

von ... (Gast)


Lesenswert?

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.)

von Johnny (Gast)


Lesenswert?

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.

von Maria (Gast)


Lesenswert?

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?

von Marcus (Gast)


Lesenswert?

Weil man damit sicheren Code erzeugen kann? ;)

von Johnny (Gast)


Lesenswert?

> 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.

von I_ H. (i_h)


Lesenswert?

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.

von Johnny (Gast)


Lesenswert?

> Inzwischen setzt auch IBM massiv auf Linux

Seit wann ist Linux eine Programmiersprache?

von Gast (Gast)


Lesenswert?

>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

von Sven P. (Gast)


Lesenswert?

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

von ihgitt (Gast)


Lesenswert?

>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?

von Johnny (Gast)


Lesenswert?

> 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!

von Sven P. (Gast)


Lesenswert?

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.

von P. S. (Gast)


Lesenswert?

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...

von Johnny (Gast)


Lesenswert?

> 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...

von Sven P. (Gast)


Lesenswert?

@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.

von Johnny (Gast)


Lesenswert?

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.

von Kai G. (runtimeterror)


Lesenswert?

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.

von Jorge (Gast)


Lesenswert?

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...

von xxlPerte (Gast)


Lesenswert?

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 !

von Saurod (Gast)


Lesenswert?

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

von Sven P. (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> 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

von Jojo S. (Gast)


Lesenswert?

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 :-)

von Severino R. (severino)


Lesenswert?

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
Noch kein Account? Hier anmelden.