Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: C++/CLI mit .NET ::  Windows Forms und Visual C++ MACHT KEINEN SINN!  
Gehen Sie zu Seite 1, 2, 3, 4, 5, 6  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 12149
Beitrag Jochen Kalmbach Moderator 19:48:47 15.03.2010   Titel:   Windows Forms und Visual C++ MACHT KEINEN SINN!            Zitieren

Vielen Anfänger, welche C/C++ lernen wollen, suchen sich nach einer kostenlosen Entwicklungsumgebung und stossen dann früher oder später auf die Visual Studio 2008/2010 Express Edition.

Und ein Anfänger will natürlich gleich sichtbare Erfolge sehen und beginnt logischerweise gleich mit einer Fenster-Anwendung.

Leider enthält die VC2008/2010 Express Edition nur WinForms als graphische Oberfläche. Deshalb entwicklen die meisten dann nicht mit C/C++, sondern mit C++/CLI, was eine komplett andere Sprache ist und für die meisten nur zu Verwirrung führt.

Ich Rate jedem Anfänger davon ab VC 2008/2010 Express Edition für graphische Oberflächen zu verwenden, aus folgenden Gründen:

  • Der WinForms-Designer ist miserabel, da er die Implementierung von Methoden in der h-Datei vornimmt, was spätestens zu Problemen führt, wenn man mehr als ein Form hat und auf Methoden/Properties des anderen Forms zugreifen will (da man dann zyklische Abhängigkeiten in den h-Dateien hat, die man nur lösen kann, wenn man die Implementierung in die cpp-Datei verlegt)
  • Wenn man die Anwendung verteilen will, so muss man neben dem .NET-Framework auch die C-Runtime installieren; das muss man bei einer reinen .NET-Anwendung (z.B. C#) nicht
  • C++/CLI ist primär als InterOp Sprache zwischen .NET und native Code gedacht; das sieht man auch schon daran, dass seit VC2008 auch der Data-Wizard für C++/CLI entfernt wurde. Daraus ergibt sich gleich der nächste Punkt:
  • Der Data-Wizard wurde in VC 2008 entfernt um auch deutlich zu machen, dass der Focus auf native-managed InterOp liegt
  • Ca. 99% aller Beispiele im Internet sind mit C#; man findet fast keine Beispiele in C++/CLI
  • C++/CLI ist eine eigene Sprache und hat mit (ISO) C/C++ nichts zu tun; und das ganze zu mischen ist meistens noch viel sinnfreier, es sei denn, man weiss was man tut (was zu 99% nicht der Fall ist; zumindest in den Fragen, die ich aus den Foren entnehme)
  • C++/CLI wird oft als “Erweiterung” von C/C++ gesehen. Diese Sicht ist aber komplett falsch! Ganz einfacher Beweis: Versuch in einen STL-Vector ein CLR Objekt reinzustopfen (z.B. std::vector). Wenn es gehen würde, dann könnte man C++/CLI als Erweiterung sehen. Es geht aber nicht. Deshalb sind es zwei komplett getrennte Welten!
  • In VS 2010 wird es für C++/CLI Projekte kein Intellisense geben; das deutet auch stark darauf hin, dass es nicht als primäre Sprache für .NET geeignet ist

Empfehlung für Anfänger:
Wenn Ihr unbedingt graphische Oberflächen (RAD) machen wollt, dann nehmt lieber C# (gibt es auch als Express Edition).
Wenn Ihr wirklich C/C++ lernen wollt, dann nehmt die Professional-Version mit der MFC oder eine freie GUI-Bibliothek wie wxWidgets, GTK oder QT.

Empfehlung für Microsoft:
Wenn Ihr auch mit VC++ Anfänger erreichen wollt, dann liefert bitte die MFC in der Express-Edition mit; oder bindet von mir aus wxWidgets ein

_________________
Greetings
Jochen
(Microsoft MVP VC++) My blog about Win32 and .NET: http://blog.kalmbach-software.de/ (deutsch)


Zuletzt bearbeitet von Jochen Kalmbach am 19:22:31 19.07.2010, insgesamt 5-mal bearbeitet
Rhombicosidodecahedron
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.08.2006
Beiträge: 926
Beitrag Rhombicosidodecahedron Mitglied 21:57:11 15.03.2010   Titel:              Zitieren

Wie oft hast du das jetzt eigentlich schon geschreiben? :D :)
hmm....
Unregistrierter




Beitrag hmm.... Unregistrierter 22:00:15 15.03.2010   Titel:              Zitieren

Stirbt C++/CLI nicht langsam aus? Gabs doch vor kurzem ein Thread darüber
theta
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 4574
Beitrag theta Mitglied 22:05:47 15.03.2010   Titel:              Zitieren

Ich bin froh, dass das hier jetzt so festgehalten ist.
Ich hatte mir bei diesem Thema auch die Finger wundgeschrieben.
Simon
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 12149
Beitrag Jochen Kalmbach Moderator 23:29:29 15.03.2010   Titel:              Zitieren

Grudn:
Da ich nicht die ganzen Klicks nur auf meinem Blog haben wollte, sondern auch noch das C++-Forum etwas davon abbekommt ;)

Und nein, C++/CLI stirbt noicht aus, aber es ist nur für InterOp zu gebrauchen...

_________________
Greetings
Jochen
(Microsoft MVP VC++) My blog about Win32 and .NET: http://blog.kalmbach-software.de/ (deutsch)


Zuletzt bearbeitet von Jochen Kalmbach am 23:29:57 15.03.2010, insgesamt 1-mal bearbeitet
Fedaykin
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.01.2007
Beiträge: 972
Beitrag Fedaykin Mitglied 08:15:17 16.03.2010   Titel:              Zitieren

hmm.... schrieb:
Stirbt C++/CLI nicht langsam aus? Gabs doch vor kurzem ein Thread darüber


Wenn dann nur ganz langsam. Gerade große Branchenbereiche in der Industrie steigen nur langsam auf .net um. Dafür gibts aber viele alte Anwendungen im C++ und niemand wird sofort das ganze vorhandene Zeugs auf .net Portieren. Daher muss CLI als Bridge her. Ich denke da würden einige Firmen auf die Barrikaden gehen wenn das ganze auf einmal wegen "Aussterbens" nichts mehr angeboten würde.
Michael E.
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.10.2003
Beiträge: 5774
Beitrag Michael E. Mitglied 09:55:07 16.03.2010   Titel:              Zitieren

Jochen: So, wie du Krämpfe bekommst, wenn jemand C++ mit C++/CLI mischt, bekomme ich Krämpfe, wenn jemand durchgehend C/C++ schreibt. Ich versteh einfach nicht, warum du das machst.

_________________
Your password must be at least 18770 characters and cannot repeat any of your previous 30689 passwords. Please type a different password. Type a password that meets these requirements in both text boxes. (http://support.microsoft.com/kb/276304/en-us/)
nn
Unregistrierter




Beitrag nn Unregistrierter 11:05:14 16.03.2010   Titel:              Zitieren

Michael E. schrieb:
wenn jemand durchgehend C/C++ schreibt


Ist doch allgemein üblich, wenn ich in mein Bücherregal schaue, sehe ich zum Beispiel Jeffrey Richters "Windows via C/C++". Und man wohl nicht behaupten, dass der keine Ahnung hat ...
Und
Unregistrierter




Beitrag Und Unregistrierter 11:14:12 16.03.2010   Titel:              Zitieren

Wenn man bei Google nach C/C++ sucht, erscheint als zweiter Eintrag dieses Forum als C/C++ Ecke. :o)

Und auf c-plusplus.de findet man dann Reklame für das Buch "C/C++ Schnellübersicht". :o)
Michael E.
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.10.2003
Beiträge: 5774
Beitrag Michael E. Mitglied 11:33:30 16.03.2010   Titel:              Zitieren

Naja, Windows-Systemprogrammierer haben so ihre eigenen Vorstellungen von "C++" :(

Was manche Leute als C++ verkaufen, ist manchmal schon abenteuerlich.

Edit: Ich zitier mal, was ich grad gelesen hab (von http://c-plusplus.de/forum/viewtopic-var-t-is-263114.html):
Nexus schrieb:
Das stimmt bedingt. Wenn du C kannst, musst du dich nicht mehr um prozedurale Dinge wie Schleifen, If-Abfragen, Funktionen etc. kümmern. Falls du Zeiger schon verstanden hast, kommt dir das sicher auch zu Gute. Allerdings gibt es in C++ viele neue Sprachmittel wie Klassen, Templates, Operatoren, Namensräume, Exceptions, etc., die du auch alle lernen musst.

Das Wichtigste ist aber wohl, dass die Programmierparadigmen in C++ ganz anders als in C aussehen. Man hat viel mehr Möglichkeiten zur Abstraktion und kann fertige Klassen für Anwendungsbereiche wie Stringverarbeitung und Speicherverwaltung einsetzen. Die Philosophie ist eine andere. In C++ verwaltet man nur noch selten manuell Speicher, malloc() und free() braucht man so gut wie gar nie. Oder man benutzt typsichere Streams statt printf() mit variablen Argumentlisten. Es ist von zentraler Bedeutung, dass du dir neue Techniken anschaust, auch wenn die alten aufgrund der Abwärtskompatibilität zu C weiterhin funktionieren. Denn wenn du C in C++ programmierst, hast du C++ noch nicht verstanden.

_________________
Your password must be at least 18770 characters and cannot repeat any of your previous 30689 passwords. Please type a different password. Type a password that meets these requirements in both text boxes. (http://support.microsoft.com/kb/276304/en-us/)


Zuletzt bearbeitet von Michael E. am 11:37:43 16.03.2010, insgesamt 2-mal bearbeitet
C++ Forum :: C++/CLI mit .NET ::  Windows Forms und Visual C++ MACHT KEINEN SINN!  
Gehen Sie zu Seite 1, 2, 3, 4, 5, 6  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.