www.mikrocontroller.net

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


Autor: Claus Andy (cand)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist der Unterschied? Was ist was....

Autor: tuppes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Claus Andy (cand)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Aufklärung im Programmiersprachenwirrwarrrr.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C# ist ne Katastrophe aus dem Hause Microsoft und C++ ist ne Katastrophe 
von internationalen Standardisierungskomitees.

Viel Spaß beim Zerfleischen ;-)

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C# ist ziemlich modern und versucht die Vorteile verschiedener 
Programmiersprachen zu vereinen.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.)

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Maria (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil man damit sicheren Code erzeugen kann? ;)

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Inzwischen setzt auch IBM massiv auf Linux

Seit wann ist Linux eine Programmiersprache?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ihgitt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jorge (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: xxlPerte (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: Saurod (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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/v...

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.