Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
C++.Net C#
Joerg
myCSharp.de - Member



Dabei seit:
Beiträge: 152

Themenstarter:

C++.Net C#

beantworten | zitieren | melden

Hallo,
Wo liegt der Unterschied zwischen C++.Net und C#?
Wann sollte man das eine und wann das andere nehmen?
Es gibt in VS verschiedene Auswahlmöglichkeiten bei C++:
.Net
ATL
MFC
Win32
Allgemein

Wo liegen hier die Unterschiede?


Gruß Joerg
private Nachricht | Beiträge des Benutzers
SimonKnight6600
myCSharp.de - Member



Dabei seit:
Beiträge: 789
Herkunft: Österreich

Allgemeine Unterschiede

beantworten | zitieren | melden

Wenn du vorher schon mit C++ programmiert hast, und davon nicht weg willst würde ich dir halt C++ empfehlen. C# wurde von MS komplett neu entwickelt und enthält Ideen von Java und C++. C# kann man eigentlich mit C++ nicht mehr so stark vergleichen. Aber wies von der Performance ausschaut weis ich nicht. Ich vermute aber, dass die ziemlich gleich ist, da ja beide Sprachencompiler IL Code erzeugen. Was der Unterschied zwischen diesem ATL, .NET, usw. ist frage ich mich auch.
Ich hoffe, das hilft
private Nachricht | Beiträge des Benutzers
maxE
myCSharp.de - Member



Dabei seit:
Beiträge: 456
Herkunft: Sachsen

beantworten | zitieren | melden

Bei C++/Cli hast du vom Prinzip her ein ganz "normales" C++ mit einigen Erweiterungen um .NET spezifische Techniken zu nutzen (Generics, Properties, Events,...). Auch ist es möglich nativen C++ Code und .NET Code zu mischen.
Da wären wir auch schon bei der Anwendung: Du kannst zeitkritische Routinen mit C++ optimieren. Außerdem bietet es dir die Möglichkeit auch alten unverwalteten Code relativ nahtlos zu integrieren (WinAPI, COM). Kurz gesagt: für die Migration von WinAPI nach .NET ist C++/Cli sehr gut geeignet. Auch bei hardwarenaher Programmierung bist du bei C++ gut aufgehoben. Für die allgemeine Anwendungsentwicklung wird wohl in Zukunft (speziell unter Windows) C# mehr Bedeutung erlangen. MS entwickelt auch deshalb fast jede neue Technologie für Longhorn in C# (Avalon, Indigo, Monad, Die .NET/WinFX Laufzeitbibliothek, ...)
Zitat
.Net
ATL
MFC
Win32
Allgemein
Win32 und MFC sind ab der nächsten Windowsversion quasi deprecated. MFC wird zwar noch gepfleget, aber das wird eher aus Gründen der Migration gemacht, um es den C++ Programmieren einfacher zu machen ihren Code zu portieren.
Wenn es nach MS geht, ist .NET/WinFX die Plattform, mit der in Zukunft Windowsanwendungen entwicklet werden.
I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Für reine .NET-Programmierung ist C# die bessere Wahl. Managed C++ ist eine Krücke.

C++ im Kontext von .NET einzusetzen macht nur bei der Integration von C++-Alt-Code Sinn.
private Nachricht | Beiträge des Benutzers
Noodles
myCSharp.de - Experte



Dabei seit:
Beiträge: 4802
Herkunft: Leipzig

beantworten | zitieren | melden

Zitat
Original von Joerg
Hallo,
Wo liegt der Unterschied zwischen C++.Net und C#?
Wann sollte man das eine und wann das andere nehmen?

Was willst Du denn machen ( "normale" Programme für Windows schreiben, systemnahe Programmierung ) ?
Zitat
Original von Joerg
Es gibt in VS verschiedene Auswahlmöglichkeiten bei C++:
.Net
ATL
MFC
Win32

Mal ganz grob gesagt, .NET ist managed und der Rest nicht.
private Nachricht | Beiträge des Benutzers
S.H.-Teichhof
myCSharp.de - Member

Avatar #avatar-2460.jpg


Dabei seit:
Beiträge: 1552
Herkunft: Sindringen

beantworten | zitieren | melden

Zitat
Was willst Du denn machen ( "normale" Programme für Windows schreiben, systemnahe Programmierung ) ?

bei systemnahe wirst du bei .NET warscheinlich scheitern aber grundsätzlich ist zu sagen das wenn du schon mit java gearbeitest hast du seher leicht mit C# anfangen kannst.
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
private Nachricht | Beiträge des Benutzers
Noodles
myCSharp.de - Experte



Dabei seit:
Beiträge: 4802
Herkunft: Leipzig

beantworten | zitieren | melden

Zitat
Original von S.H.-Teichhof
bei systemnahe wirst du bei .NET warscheinlich scheitern

Jep, aber ich meinte es ja auch nicht auf .NET bezogen, eher allgemein.
private Nachricht | Beiträge des Benutzers
Joerg
myCSharp.de - Member



Dabei seit:
Beiträge: 152

Themenstarter:

beantworten | zitieren | melden

Hallo
Danke für die zahlreichen Beiträge.
Zur Info:
Ich selber komme aus der VB Ecke!
Bei meinem neuen Arbeitgeber soll ich Programme für den PDA mit C# entwickeln.
Am allerliebsten wird hier aber C/C++ gesehen.
Der Sprung von VB/VB.NET zu C# ist für mich aber wesentlich einfacher als zu C/C++.
Früher oder später muss ich mich aber trotzdem in C/C++ einarbeiten.
Mein Arbeitgeber hält eigentlich nicht viel von dem neuen Sachen!Die Programme die hier über Jahre entwickelt wurden,sind alle in tiefsten C geschrieben.

Was soll dieses C++/Cli sein?

Ich als Quereinsteiger(seit einem Jahr mit der Umschulung fertig) wollte hier nur mal erfahren was die Auswahlmöglichkeiten in VS zu bedeuten haben und für was man die so einsetzt.

Bis hierher erstmal Danke!

Gruß Joerg
private Nachricht | Beiträge des Benutzers
S.H.-Teichhof
myCSharp.de - Member

Avatar #avatar-2460.jpg


Dabei seit:
Beiträge: 1552
Herkunft: Sindringen

beantworten | zitieren | melden

Auch wenn ich niemand auf falsche Ideen bringen möchte warum nimmst du wenn du schon VB Kannst nicht VB.NET
Auch wenn ich persönlich um jeden trauere der so „hässlichen“ Syntax Produziert
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Kleine Warnung: Im .NET/Compact Framework (also für PDAs) gibt es erhebliche Beschränkungen. Prüfe vorher genau, ob deine PDA-Anwendung überhaupt mit dem CF zu realisieren ist. Bei manchen Anwendungen muss man so oft auf das WinCE-SDK runter, dass man gleich in C++ arbeiten kann.

Gerade wenn man Chefs hat, die dieses "neue Zeugs" als Voodoo ansehen kommt man in Teufels Küche, wenn man später ankommt und sagt: Geht nicht wegen CF....

Und diese Chefs sind auch mit Sicherheit lernresistent.... was in ihrer Jugend/Anfängerzeit galt, wird IMMER gelten... ansonsten müßten sie sich und den anderen ja eingestehen, dass sie weniger wissen als ihre Mitarbeiter....no go!
private Nachricht | Beiträge des Benutzers
Joerg
myCSharp.de - Member



Dabei seit:
Beiträge: 152

Themenstarter:

beantworten | zitieren | melden

Hallo,
zu der Frage warum ich nicht VB.NET benutze:
Weil Chef eine Abneigung gegenüber VB hat und in C# nun mal ein C ist!
Er meint,wenn ich Probleme hätte könne er oder die Kollegen mir bei C# besser weiter helfen als bei VB!
Ein Problem bezüglich meines Programms für den PDA hatte ich schon, welches ich mit C# mit lösen konnte.

Herstellen einer DFÜ-Verbindung.
Diese Funktionalität hatten die Kollegen für andere Programme schon mal in C umgesetzt.Brauchte es also nur mit Embedded C++ für den PDA anpassen.
Rufe jetzt aus meinem C# Programm ein Unterprogramm zur Herstellung der DFÜ Verbindung auf.
Es gibt zwar den ConnectionManager, aber damit habe ich das Problem nicht lösen können!


Gruß Joerg
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8775
Herkunft: Berlin

beantworten | zitieren | melden

Zitat
Original von Joerg
Er meint,wenn ich Probleme hätte könne er oder die Kollegen mir bei C# besser weiter helfen als bei VB!

Ich dachte die können nur C++. Wir sollen die dir bei C# helfen? Weil ein "C" bei beiden davor steht?

Zitat
Herstellen einer DFÜ-Verbindung.
Diese Funktionalität hatten die Kollegen für andere Programme schon mal in C umgesetzt.Brauchte es also nur mit Embedded C++ für den PDA anpassen.

Du weisst aber, dass es die DFÜ-Verbindung so auf dem PDA gar nicht gibt!? Insofern wirst du ein Problem beim Umschreiben bekommen. Windows-Applikationen auf einen PDA zu portieren bedeutet in der Regel ein komplettes neucoden..... ist leider bei .NET auch nicht viel anders.
private Nachricht | Beiträge des Benutzers
Joerg
myCSharp.de - Member



Dabei seit:
Beiträge: 152

Themenstarter:

beantworten | zitieren | melden

Hallo,
Ja die Leute hier arbeiten hauptsächlich mit C/C++.
Wie schon gesagt es gibt diese Abneigung gegenüber VB. Ausserdem ist man der Meinung gleich in einer Programmiersprache zu programmieren womit man alle Aufgaben bewältigen kann.

Nochmal zum Thema DFÜ:
Hatte da den Vorteil,das eine fertige Function (in C) vorhanden war!
Bis auf einige Änderungen von Datentypen(Ansi ->Unicode) konnte ich die Function fast so übernehmen. Läuft!

Gruß Joerg
private Nachricht | Beiträge des Benutzers