Windows Forms und Visual C++ MACHT KEINEN SINN!



  • Es ist einfach das Problem das sich kein Autor sich so wirklich an C++/CLR rantraut.

    Sie machen ja fast nur immer die einfachen Dialoge und gehen die Toolbox durch und machen irgend was damit was so kein schein juggt. Manch einer will vielleicht mit C++/CLR ne Datenbank Anwendung schreiben oder so. Oder Systemdaten auslesen.

    Und meisten finde ich Bücher für C# mit ASP.

    Die .Net wurde halt dafür geschrieben das Microsoft immer mehr Programme auf Linux und co. laufen lassen können ohne Probleme.

    Hab Selber angefange mit C++/CLR zuarbeiten und taste mich langsam vorran.

    Mircosoft war doch schon immer so die wollen immer was besseres rausbringen.

    MFG
    City Hunter



  • Warum sollte eine DB-Anwendung in C++/CLI schreiben, wenn dies in C# 10x schneller geht?
    C++/CLI ist eine *reine* InterOp Sprache! Das ist das erklärte Ziel von Microsoft! Wenn man mehr damit macht, dann ist dass Vergewaltigung (und nicht nur der Sprache, sondern auch des Programmierers).



  • Hmmm also ich sag mal was als fortgeschrittener Anwfänger dazu ......
    ich bin auf genau diese Therad gestossen weil ich nach einigen kapitel....Visual C++ aufgefallen ist das ich wieder irgendwie eine andere Sprache fast wieder lerne ...........nur von Sinn her ..
    stimmt das was ich in c und C++ überein..ich bring mir aber gerade C und bei und schiele schon so langsam nach C++ rüber und kommganz gut zurecht ...aber jetzt noch was neues ßßß denke das wird mich verwirren ...

    Natürlich reizen mich schöne Grafikoberflächen ...aber mich reizen auch Microcontroller ....und da bin ich mit C dran das ganze zu verstehen und für mich ist C Elementarer .um sagen wir mal ein wenig hinter die Kulissen zu schauen.

    ..).Ja Zeiger hab ich kapiert *stolz* :p 😃 ):
    was ich damit sagen will ..ich denke es kommt drauf an was man wirklich damit machen will oder eh ich das falsch =?? 😕

    Was mich vielmehr verwirrt ist das ....zum Beipsielkonfigurationssachen sowie Librarys installeríeren und einbinden ..oder so ... das haut nie so richtig hin

    🙄 😞



  • Ich habe mit .NET erst richtig angefangen zu verstehen wie man programmiert. wenn man neu ist und C++ lernt, ist das zeimlich trist und auch einfältig. da ist es einem sehr willkommen, als vorlage "Windows-Forms-Anwendung" vorzufinden. schnell draufgeklickt, etwas damit rumgespielt und der spaß war wieder da. ich finde, dass man mit dem .NET framework den quellcode sehr strukturieren kann und schnell erfolg verspürt. wenn man das mal kapiert hat, kann man auf normales c++ umsteigen. Dass .NET-Anwendungen auch erfolg haben können, sieht man an Paint.NET.
    Häufig benötigte klassen wie lists lassen sich einfach ohne iteratoren durchlaufen, was viel lästigen code verhindert.
    Nicht dass man mich falsch versteht: ich bin hobbyprogrammierer. wenn es mir mal wieder zu langweilig wird, mit c++ zu programmieren, mache ich mal wieder .NET, sowohl C++/CLI als auch C# und Visual Basic.

    grüße paulrei



  • Das ist, wie oft, die entscheidende Frage. Für reine Windows(XP,Vista,Win7,...)-Programme ist .NET, mit C# oder VB.NET, die erste Wahl. Hat man Interesse Richtung Mobil-Geräte ist eher Java, C++ und Objective-C angesagt. Bewegt man sich von Windows weg (hardwarenahe Prog., Linux, Mac,...) ist C, C++ und diverse Scriptspachen wie Python,Perl,Ruby,PHP,... ein Muss.
    Letztendlich lernt man nichts umsonst. Vieles lässt sich auf andere Programmiersystem übertragen. Wer Java berherrscht, hat auch mit .NET kein Problem. Letztlich ist beides das Gleiche, halt von unterschiedlichen Firmen.

    Mein persönlicher Favorit ist C++ und das QT-Framework.



  • Das soll sich ja mit VS11 wieder ändern, CLI bekommt ein Update und Intellisense.

    Nebenbei, sämtliche Fernunis lehren CLI als C++ Windowsprogrmmierung. Der Hintergrund wird warscheinlich sein, dass WINAPI und MFC zu komplex sind für die kurze Zeit und dann ein VS Pro, nicht Express erforderlich ist.



  • klar geht das...ist nur eine frage wie gut man ist



  • Leute die sagen, Windows Forms und Visual C++ macht keinen Sinn, haben einfach mal keine Ahnung !
    Ich als fortgeschrittener C++ Programmierer, habe Jahre lang DLL's und Consolen Anwendungen geschrieben und bin vor kurzen zu Forms gewechselt.
    Ich finde es unterscheidet sich kaum zu den anderen nur das alles bischen anders funktioniert durch die Strings, da ich vorher immer CHAR benutzt hatte .. einfach umwandeln und alles funktioniert wie bei den Consolen und DLL's.
    Ich denke, wenn man C++ programmieren kann und schonmal bischen an Visual Basic programmiert hat, wird damit keine Probleme haben ..



  • Jöööööhh, ein Troll 🙄



  • nun bin ich ein wenig Fortgeschrittener und mss dazu sagen -....
    ich habe einen technischen Beruf und bin ironischer Weise über MAtlab in die Progrmaaieren gekommen und an das Interrese Microcontroller irgendwann mal gut zu programmieren.
    Da ist C für Hardware unabdingbar. und man kommt auf C++. Ich denke als Anfänger ist es Wichtig erstmal das grosse Ganze zu begreifen das sich das ganze auf eine grudsprach aufbaut und das man eigentlich in dem Sinne nur noch erweiterte Biblotheken verwendet.
    Nun schau ich mir Visual C++ an und schau aber auch gern mal über den Horizont Richtung C# .
    Und warum nich? Meistens ....hilft es auch gerade mal dadurch mal die Unterschiede kennenzulernen....und man doch versuchen mal das Programm in Visual C++ zu schreiben und dann das gleiche Programm mal uaf der anderen GUI oder Programmiersprache.

    Zudem ist es so das Firmen jedenfalls im technischen Bereich oft .Net Umgebung haben und genutz haben möchte.



  • C++ != C++/CLI



  • Um diesen viel verlinkten Thread mal auf den aktuellen Stand zu bringen:

    Dean schrieb:

    Das soll sich ja mit VS11 wieder ändern, CLI bekommt ein Update und Intellisense.

    Aber unter "Breaking Changes in Visual C++" steht in der Hilfe:

    The following project templates no longer exist:
    - Windows Forms Application
    - Windows Forms Control Library

    Although we recommend that you do not create Windows Forms applications in C++/CLI, maintenance of existing C++/CLI UI applications is supported. If you have to create a Windows Forms application, or any other .NET UI application, use C# or Visual Basic. Use C++/CLI for interoperability purposes only.

    http://msdn.microsoft.com/en-us/library/bb531344



  • Das ist ja endlich mal eine gute Nachricht! Danke für den Hinweis! Bin noch nicht dazu gekommen VS2012 zu installieren...



  • C++ != C++/CLI

    Naja, kann man auch weiter argumentieren:

    Qt != c++ !!!

    Ich sag ja auch immer, das Qt mehr mit Java gemein hat als wie mit c++.

    Bleiben aber noch Fragen offen:
    - Ist das nicht mit allen GUI toolkits so ?
    - ist das was man als gutes C++ versteht, praxisfern ?
    - Ist C++ dann nicht eigentlich nur fuer hochperformante Module/Programme bzw. low level Zeugs geeignet ?

    Ciao ...



  • RHBaum schrieb:

    C++ != C++/CLI

    - Ist das nicht mit allen GUI toolkits so ?

    Das der Hersteller das Intellisense abschaltet und in der aktuellen Entwicklungsumgebung das Anlegen von neuen Projekten verhindert ?



  • Das der Hersteller das Intellisense abschaltet und in der aktuellen Entwicklungsumgebung das Anlegen von neuen Projekten verhindert ?

    Meinte es anders ...
    Anfaenger und Grafik-Programmierung ist eh nen heisses Eissen.
    Grafik geht halt ueber c++ hinaus, ist IMHO kein (gutes) EInsteiger-Thema, weil halt jedes Toolkit sich eher wie ne neue Sprache mit neuen Paradigmen anfuehlt, als wie c++

    Also wer oberflächen mit c++ programmiert, sollt schon wissen was er tut.

    Von daher kann ich die Aufregung so recht ned verstehen ...

    konkret:
    Schon mal nen Qt Projekt ohne VS Plugin ohne qmake fuer VS angelegt ? 🙂

    Also müsste man genau so warnen vor QT + Visual Studio Express (keine Plugins) für Anfaenger ...

    macht keiner ...
    Entweder nimmt man den QTCreator, oder VS Studio mit plugin, oder nen Buildgenerator (qmake, cmake)
    Oberflächen baut man in nem externen Tool zusammen,
    und Intellisense funktioniert auch eher schlecht als recht.

    Ähnliche Liga oder nicht ?
    (keine Ahnung, mache mit CLI nix)

    Ciao ...



  • RHBaum schrieb:

    Das der Hersteller das Intellisense abschaltet und in der aktuellen Entwicklungsumgebung das Anlegen von neuen Projekten verhindert ?

    Meinte es anders ...

    Da gibt es nichts anderes.

    Anlegen von C++/CLI Windows Forms Projekten gibt es nicht mehr ab VS 2012, Basta.

    Die aktuelle GUI Technik für .net ist WPF, die für Apps WinRT. Beides geht nicht mit C++/CLI, Basta.

    Das erste Visual Studio .net (2002) hatte gar keinen Formular Designer für Windows Forms. Was man dann später eingebaut hat, war wie das Werkzeug was dem Billigschrank aus dem Möbelmarkt beiliegt, ein Notbehelf für einfache Lösungen. Mehr nicht.



  • RHBaum verwechselt wohl die "normale" C++-Programmierung, für die VC12 sowohl GUI-Programmierung unterstützt (MFC, WinRT) und die InterOp-Anbindung C++/CLI, die mit den entfernten Projekt-Templates endgültig als "do not use for anything else than interop" bestempelt wurde...

    MfG SideWinder



  • Hallo allerseits.

    Ich wollte gerade diesen Thread anführen, um zu begründen, warum ich den Einsatz von C++/CLI + WinForms zur GUI-Programmierung nicht empfehlen würde.

    Und dann hat Microsoft eine 180° Wende gemacht...

    Da heißt es hier, C++/CLI sei laut Microsoft nur zur Interop-Programmierung? Pustekuchen:

    http://msdn.microsoft.com/en-us/library/60k1461a(v=vs.110).aspx schrieb:

    The .NET Framework class libraries (by using C++/CLI), STL/CLR, and the C++ Support Library

    For the development of managed apps.

    Über die "Breaking Changes" habe ich auch nichts finden können. In VS2012/2013 funktioniert der ganze Krempel ganz famos.

    Da war das Herausnehmen und degradieren von C++/CLI für Interop wohl nur eine nicht umgesetzte Idee...

    Allerdings habe ich VS2011 (gab es das wirklich? In allen Listen kommt nach 2010 immer 2012) nie gesehen...

    Unter .NET Programming in Visual C++ wird es sogar nochmal richtig umfangreich. Es gibt sogar integrationsartikel wie "Using a Windows Form User Control in MFC".

    Ehrlich, Leute, ich bin schockiert. Jetzt muss ich meine ganze Argumentationskette neu aufbauen.
    Aber zumindest habe ich viel gelernt. 😉



  • Ich seh nicht, wo auf der von dir verlinkten Seite auch nur angedeutet wäre, dass C++/CLI für irgendwas anderes als interop zu gebrauchen wäre...

    Yamakuzure schrieb:

    In VS2012/2013 funktioniert der ganze Krempel ganz famos.

    In VS 2012 und VS 2013 gibt es nichtmal entsprechende Projektvorlagen. Natürlich funktionieren alte Projekte weiterhin und man kann natürlich was basteln, wenn es sein muss. Windows Forms etc. sind nunmal Teil von .NET und in C++/CLI damit zwangsweise auch verwendbar. Das heißt noch lange nicht, dass C++/CLI zur Entwicklung von GUI Anwendungen mit .NET gedacht, gut geeignet oder gar empfohlen ist...

    Yamakuzure schrieb:

    Allerdings habe ich VS2011 (gab es das wirklich? In allen Listen kommt nach 2010 immer 2012) nie gesehen...

    Es gibt kein VS 2011, würd mich sehr interessieren, wo du das her hast...
    Es gibt VS 2012, welches die Versionsnummer 11 hat, was, insbesondere nachdem VS 2010 zufälligerweise die Versionsnummer 10 hatte, einige Leute zu verwirren scheint...

    VS 2008 <=> VS 9
    VS 2010 <=> VS 10
    VS 2012 <=> VS 11
    VS 2013 <=> VS 12


Anmelden zum Antworten