Noob braucht Hilfe: Programmieren in C++ / IDE, Compiler und sowas

  • Hallo liebe LM-Community,


    wollte mich hier mal etwas erkundigen, was das Programmieren in C bzw. C++ angeht.
    Ich will selbst anfangen, in C++ Programmieren zu lernen und wollte mal fragen, was ihr mir so für IDEs empfehlen könnt. Ich habe mir erst einmal provisorisch Code::Blocks runtergeladen, weil das auf vielen Seiten empfohlen wird (kommt ja integriert mit 'nem Compiler und ist free). War am Überlegen, das irgendwie auf Eclipse (meiner JS-IDE) zum Laufen zu bringen, schien mir aber doch etwas zu komplex für den Anfang (habs mehrmals versucht und nicht hingekriegt x[ ).


    Soweit ich weiß, liegen keine sonderlich großen Unterschiede zwischen den Compilern, aber falls ihr einen wählen müsstet (für manuelle Installation und Integration in eine IDE), welche würdet ihr wählen?


    Ich habe einige JS-Kenntnisse, daher sind mir grundlegende Sachen wie Variablen, Objekte, Funktionen usw. ein Begriff, jedoch weiß ich nicht wirklich, wie ich mit C++ anfangen soll. Kann mir hier jemand ein "Einsteiger"-Tutorial empfehlen, welches kostenlos ist (am besten basierend auf eigener Erfahrung)? Also erst einmal, um die Grundkenntnisse zu erlangen? Bin momentan auf cplusplus.com am Lesen und bin bis jetzt auch ganz zufrieden, nur ist das mehr eine Dokumentation als ein Tutorial. Daher ist es etwas schwer, all das, was da geschrieben steht, auch zu verstehen und die Anwendung zu lernen.


    Letzte Frage: Habt ihr noch irgendwelche anderen Tipps für einen Anfänger wie mich?



    Danke für eure Hilfe, schonmal im Voraus
    Freezy

    War ganz früh hier, aber lange nicht da! :face_with_tongue:

  • Eclipse bietet auch eine C++-Variante an. http://www.eclipse.org/downloa…ide-cc-developers/lunasr2
    Eclipse bietet die grundlegenden Sachen an, die eine IDE so braucht, mit Git-Implementation. Sehr schön für einen kleinen Überblick über die Sprache, bis hin zu kleineren Programmen im produktiven Einsatz. Der Vorteil ist, dass Eclipse sehr schlank ist, der Nachteil ist, dass dadurch auch schicke Funktionen wie ein GUI-Designer nicht vorhanden sind.


    Eine weitere Möglichkeit ist QtCreator. http://www.qt.io/developers/
    QtCreator bietet dir einfachen Zugriff auf die Qt-Library. Umfangreiche Hilfsmittel von Stringverarbeitung bis zur graphischen Oberfläche, mit mehr oder weniger schickem Designer. Die Qt-Library ist zudem auf Linux weit verbreitet, mit Windows und OS X allerdings auch kompatibel.


    Als allerletzte Möglichkeit gäbe es noch Visual Studio. https://www.visualstudio.com/
    Die eierlegende Wollmilchsau unter den IDEs. Neben C++ stehen auch C#, Visual Basic und einige weniger wichtige Programmiersprachen zur Verfügung. Die .NET-Klassenbibliothek ist übermäßig umfangreich, ist allerdings auch eher auf Windows verbreitet. Kann recht viel, ist aber auch entsprechend groß: Die IDE selbst ist ca. 8.3 GB groß, dazu kommen noch ca. 45 zusätzliche Programme mit Microsoft SQL-Server, Frameworks, Server Data Tools, Redistributables und CLR Types - nicht wirklich schön, wenn man nur kurz in die Sprache hineinschnuppern will; noch schlimmer, wenn man sie doch nicht so gut findet. Eine Registrierung ist notwendig.

  • Wenn du wirklich Objektorientierung nutzen willst, ist GUI-Programmierung ein guter roter Faden um gedanklich reinzukommen, weil dort die Objekte etwas wirklich logisch greifbares sind. "Dieser Knopf ist ein Objekt vom Typ QPushButton" oder so.


    Ich persönlich bin wahrscheinlich ein ziemlicher Extremist, was C/C++-Entwicklung betrifft. Ich code mit vi und zur Not mit Notepad++, hasse IDEs allgemein und VS insbesondere, aber es gibt einen wirklich objektiv guten Grund, warum du bei C++ um VS einen Bogen machen solltest, und zwar C++/CLI. Natürlich kann man die CLI-Unterstützung bei der Projekterstellung deaktivieren.


    Im übrigen hab ich in 14 Jahren GUI-Entwicklung noch nie einen guten GUI-Designer gesehen, aber darüber kann man sicher prima rumstreiten.

  • Das... scheint wirklich ganz schön extrem zu sein :grinning_squinting_face:


    Ich weiß dank Wikipedia jetzt zwar, was CLI ist, jedoch hätte ich gerne gewusst, wieso man das bei C++ vermeiden sollte..
    Performanceprobleme? Cross-Platform-Schwierigkeiten?


    Auf jeden Fall Dankeschön für die Antwort.. Wenn ich etwas Zeit finde (momentan etwas Schulstress), werde ich mich mal daran setzen^^


    LG

    War ganz früh hier, aber lange nicht da! :face_with_tongue:

  • Erstens schonmal Cross-Platform-Schwierigkeiten. Zweitens gibt es keine wirklich saubere Trennung von Features, die von CLI kommen und Features, die im C++-Standard vorgesehen sind. Will heißen, stell dir vor du benutzt eher unbewusst etwas aus CLI, gewöhnst dich daran und denkst: Hmmm, ich wechsel mal den Compiler wegen (was auch immer für ein Grund), und auf einmal lassen sich deine ganzen Quellcodes nicht mehr compilieren. Und um über dieses Problem zu stolpern, musst du nichtmal das OS wechseln. Außerdem folgt C++ normalerweise der RAII-Philosophie, CLI ist hingegen garbage collected, und RAII ist sehr schwer mit GC zu vereinbaren.