Einstieg in C++



  • Hallo,

    habe mal ne allgemeine Frage:
    Ich habe ein wenig mit C# herumprobiert, zuvor habe ich Ansi-C programmiert.
    Um jedoch Plattformunabhängig zu bleiben, wäre C++ wahrscheinlich besser.
    st das richtig?

    Mein Problem ist nämlich: Ich möchte Grafische Oberflächen programmieren, die aber auch unter Linux kompiliert werden könnten.

    Ist C++ hier überhaupt das ricthige?

    Danke für Eure Antworten



  • C++ ist eine System-nahe Sprache mit der man aber auch hoch Abstrakt programmieren kann. Wenn man z.B. nur plattform-unabhängige APIs nutzt, kannst du natürlich mit C++ auch unter Linux GUIs bauen. Wenn nicht, musst du dann halt doppelt programmieren und mit bedingter Kompilierung entwickeln.

    Anmerken möchte ich, das du auch mittels MONO unter Linux und Windows in C# arbeiten kannst.



  • Danke nochmal für die Antwort.
    Programmierst DU ANwendung Plattformunabhängig. Welchen Editor kanns Du empfehlern um C++ auf Linux zu programmieren. Kann man dann wirklich die DInger "einfach" unter Windows kompilieren?

    Vielen Dank



  • Also: Mein Problem ist, dass ich mich nicht einfach festlegen kann, was ich machen möchte. Möchte meine Zeit halt eben nicht mit etwas verschwenden, was mir nachher nichts bringt. Auf den ersten Blick sehen C# und C++ in einigen Punkten/Regeln sehr ähnlich aus. Kann man sagen, welche Sprache die "bessere" ist?

    Könnt ihr mir Pro und Contra C# bzw. C++ geben.

    Und welche Entwicklungsumgebung nutzt ihr inter Ubuntu?

    Vielen Dank für Eure Unterstützung,

    ....



  • HerrRatlose schrieb:

    Kann man sagen, welche Sprache die "bessere" ist?

    Nein kann man nicht, weil es keine "bessere" Sprache gibt.

    HerrRatlose schrieb:

    Könnt ihr mir Pro und Contra C# bzw. C++ geben.

    C++ wird zu nativen Binärcode kompiliert, C# zu CIL.

    HerrRatlose schrieb:

    Und welche Entwicklungsumgebung nutzt ihr inter Ubuntu?

    Emacs/Sublime Text 3 + Terminal



  • Wenn du "nur" ein bisschen GUi machen möchtest, mit wenig dahinter, dann würde ich dir zu C# raten (falls das gut genug unter Linux umgesetzt ist, kenne mich da nicht aus mit MONO oder so) oder vielleicht noch zu Java, das ist auf jedenfall Plattformunabhängig und hat mit Eclipse/Netbeans eine super IDE.



  • Was willst du denn genau erreichen? C++ und C# ähneln sich in der Syntax sehr stark. Aber der Einsatz ist doch schon sehr unterschiedlich.

    Für C++ musst du viel mehr und länger lernen, denn C++ ist sehr mächtig und hat aber auch viele Stolperfallen, die man erlenen muß. Du kannst mit C++ das gleiche erreichen wie mit C#.

    Meine Erfahrung ist, das wenn man Anwendungen programmieren will, man mit z.B. C# keinen Nachteil hat. Nur in sehr speziellen Fällen kann C++ von Vorteil sein. Aber den Vorteil kann man nur ausspielen, wenn man C++ viel länger benutzt/gelernt hat. Z.B. kann man in C++ seine eigenen Allokatoren prorgammieren. Aber wer macht das schon? 99% der C++-Programmierer tun das nicht.

    Für C++ kann ich als Linux-IDE den Qt Creator empfehlen. Für die GUIs dann entsprechend Qt, das es auch für Windows gibt. Mit Qt Creator macht C++ richtig spaß, wenn man z.B. schon VisualC# gewohnt ist.

    Aber die Frage ist, warum du von C# weg willst? C# ist schließlich auch unter Linux möglich. Mit MonoDevelop gibt es auch eine recht moderne Linux-IDE. Für Windows wäre SharpDevelop zu nennen. Es gibt auch für Linux und Windows Gtk#. Ist auch ziemlich einfach zu benutzen, habe ich schon selber ausprobiert.

    OK, Gtk# hängt etwas in der Version hinterher, aber ich denke mal, die werden das bald wieder aufholen und an GTK+ 3 angleichen.

    Aber das wird hier so langsam Off-Topic.



  • Vielen Dank für die Antowrten,

    habe bisher nicht gewußt, das ich C# auch unter Linux programmieren kann. Werde mir das mal ansehen und ausprobieren. Wollte mich eben nicht auf eine Sprache festlegen und mich damit an ein System binden. Spiele schon länger mit dem Gedanken von Windows wegzugehen.

    Habe auf einem zweiten Rechner Linux installiert, teste eben noch ein bisschenweiter.

    Nochmal vielen Dank.



  • C# ist auf folgenden Systemen verfügbar:

    - Windows NT (.NET, Mono)
    - Windows RT (.NET)
    - Windows Phone (.NET)
    - diverse Linux Distributionen (Mono)
    - Mac OS X (Mono)
    - Android (Xamarin)
    - iOS (Xamarin)

    Es werden somit alle wichtigen Systeme abgedeckt.

    Mono: http://www.mono-project.com/
    GTK#: http://www.mono-project.com/GtkSharp

    IDE: http://monodevelop.com/



  • Artchi schrieb:

    - Mac OS X (Mono)

    Miniergänzung: +Xamarin



  • Artchi schrieb:

    - Android (Xamarin)

    + dot42 (http://www.dot42.com/)



  • Xamarin != Mono?



  • Xamarin baut auf Mono auf. Ob Mono einfach so auf iOS oder Android läuft? Wahrscheinlich nicht. Also ist es korrekt Xamarin zu nennen. 🙂



  • µ schrieb:

    Artchi schrieb:

    - Android (Xamarin)

    + dot42 (http://www.dot42.com/)

    Danke für den Hinweis. Kannte ich bisher nicht. 👍


Log in to reply