Warum sollte es C++ sein?



  • Hallo zusammen,

    Ich möchte eine solide Programmiersprache erlernen und versuche mich ein wenig in den zahlreichen Programmiersprachen zu orientieren, habe ein wenig mit Java herumexperimentiert, ein wenig mit VisualBasic 2010 und auch in die skriptsprache PHP habe ich mich ein klein wenig eingelesen, dann bin ich rein zufällig über C++ gestolpert (über ein Youtube Tutorial (:P) das sich zwar als fehlerhaft erwies, aber mir hat die Syntax irgendwie auf Anhieb gefallen)

    Was möchte ich erreichen?

    In erster Linie möchte ich eine Programmiersprache erlernen, ich möchte eine solide Basis haben auf der ich aufbauen, und mich inhaltlich erweitern kann, primär möchte ich mich in der Softwareentwicklung etablieren, anfangs wird es wohl eher der Bereich Anwendungsentwicklung sein. später wird sicherlich die Systementwcklung hinzukommen, in beiden Bereichen soll ich offenbar mit C++ effizient arbeiten können.

    Die Frage ist bereits gestellt, was spricht dafür C++ zu lernen, was hat euch dazu getrieben und warum wäre dies die Sprache erster Wahl?

    Ich hoffe auf fruchtbaren Input 🙂

    Lg Dexxxter



  • Meine Empfehlung für dich wär C#. Rein prinzpiell ist es aber egal, mit welcher Sprache du anfangst, weil zunächst heißt es sowieso erstmal Programmieren lernen...

    C++ ist eine extrem mächtige aber auch extrem komplizierte Sprache und für den Anfang imo nicht unbedingt eine besonders gute Wahl, da es in C++ viele technische Details zu beachten gibt, die einem Anfänger nur die Sicht aufs Wesentliche versperren. Sobald du mal programmieren kannst, kannst du immer noch C++ lernen. Insbesondere wenn du Anwendungsentwicklung betreiben willst, ist C# aber potentiell sowieso die bessere Wahl...



  • Oder du nimmst C, da kannst du dich ganz auf die technischen Details konzentrieren und wirst nicht dauernd durch irgendwelche Wesentlichkeiten abgelenkt. 😉



  • Ich beginne auch gerade mit C# und das ist wirklich eine tolle Sprache mit einem riesigem Framework. Die Sprache ist fast nur für Windows einsetzbar, aber mal im ernst, die Leute die kein Windows auf ihrem Rechner habe sind doch im einstelligen Prozentbereich zu suchen. Selbst auf den Schminkkoffern läuft meist noch ein Windows mit Parallels mit drauf, weil es eben das System mit der größten Hard- und Softwareunterstürzung ist.

    Ich habe auch ein wenig Erfahrung in C und C++. C brauche ich für meine Mikrocontroller-Projekte und C++ habe ich angefangen zu lernen weil es halt das schwierigste ist was man lernen kann, halt die Königssprache. Hat teilweise was von Selbstgeißelung^^ Man kann da leider unglaublich schnell viel unpermformanten Code schreiben, das ist wirklich nix für Anfänger wenn man es produktiv einsetzten möchte.

    Um mal schnell zu Potte zu kommen ist sicherlich C# schon ein schönes Ding, wenn man auf die Nischensysteme mit Desktop verzichten kann.



  • Lichtweite schrieb:

    Ich beginne auch gerade mit C# und das ist wirklich eine tolle Sprache mit einem riesigem Framework. Die Sprache ist fast nur für Windows einsetzbar, aber mal im ernst, die Leute die kein Windows auf ihrem Rechner habe sind doch im einstelligen Prozentbereich zu suchen.

    Was soll den der Satz? oO
    Beweise mir das Leute die was anderes als Windows benutzen im einstelligen Prozentbereich sind...

    C++ ist schon schwer für den Anfang, ich habe früher mit C angefangen und bin danach auf C++ gewechselt.
    Die Frage bleibt immer was du machen willst.

    Wo ich C++ atm beutzt habe war im Embedded-bereich und auch in der Anwendungsprogrammierung

    Kannst auch mal Python und Ruby ansehen, auch gut zum Programmieren am meisten python, dafür gibt es soviele lib's , das man vieles machen kann.



  • Lichtweite schrieb:

    die Leute die kein Windows auf ihrem Rechner habe sind doch im einstelligen Prozentbereich zu suchen.

    mac.



  • rotesTeufelchen schrieb:

    Beweise mir das Leute die was anderes als Windows benutzen im einstelligen Prozentbereich sind...

    Ich bin als Administrator und Programmierer durch viele Firmen und auch Privathaushalten gekommen. Ich habe drei Leute gesehen die einen MAc hatten und zwei davon nutzen auch ab und an Windows auf ihrem Mac.

    Erzähl mir nicht die Macuser auf der Welt kommen auf einen zweistelligen Prozentbereich. Ich spreche hier von keiner Statistik, sondern aus Erfahrung. Sucht dir mal wahllos 10 Firmen aus und geh dabei wahllos bei 10 Menschen nach Hause. Ich wette über 90% nutzen Windows.



  • Lichtweite schrieb:

    Ich spreche hier von keiner Statistik, sondern aus Erfahrung.

    Oh, na dann. 😉
    Edit: Damit zweifel ich nicht dein Ergebnis (davon hab ich keine Ahnung), sondern nur die implizierte Überlegenheit deiner Methode der Wissensgewinnung an.

    Wenn du irgendwann mal was fürs Handy schreiben willst, ist der Windows-Anteil wesentlich geringer, im Serverbereich auch. Es kommt also auf deine Zielgruppe an. 🙂


  • Mod

    Wieso sollte es wichtig sein, was die Leute Zuhause benutzen? Das ist doch mit viel gutem Willen vielleicht ein Drittel aller benutzter Computer. Kenne deine Nutzer. Wenn du Software für den Heimanwender schreibst, dann ist eine Spezialisierung auf Windows (und damit C#) sicher eine gute Wahl. Aber die Computerwelt ist wesentlich größer als deine Mudda am PC*.

    *: Hier hätte noch eine Pointe stehen sollen, wie große deine Mudda ist, aber dann fiel mir keine ein. 😞



  • Typisches Bier + Chips - Thema 😃

    Wie definiert ihr Rechner?
    Nur dieses Bigtower und ähnlichen Kram 😕

    Oder auch eure Waschmaschine?
    Oder die Rechner in eurem fahrbaren Untersatz (Auto)?
    Smartphone?
    Tablet-PC?
    Spielekonsole?

    hab da bestimmt noch das Eine oder Andere vergessen in den so ein Rechner werkelt. 😃

    So dann biegt das mal so hin das die jeweilige bevorzugte Betriebssystem-Statistik passt. 🙄

    MfG f.-th.



  • C# läuft auch auf Linux und Mac und iOS und Android...


  • Mod

    dot schrieb:

    C# läuft auch auf Linux und Mac und iOS und Android...

    Und GNU gibt's auch für Windows. Nur weil etwas technisch gesehen funktioniert, ist es nicht unbedingt toll.



  • f.-th. schrieb:

    Ich bin doof in der Grütze und hab nix besseres zu tun, also zu versuchen einfache Dinge unnötig kompliziert zu reden. Weiss zwar jeder wie "Rechner" in diesem Kontext zu verstehen ist, aber ich stell mich trotzdem mal ganz dumm (noch dümmer als ich bin, jau), und to so als tät ichs nicht checken. (...)

    *schnarch*

    ...und?



  • Die Frage müsste doch heißen: Wann sollte es C++ sein? Nicht "warum". Das würde ich beantworten mit "Wenn man die Stärken von C++ ausspielen kann". Die Stärken kann man von den Design-Zielen ablesen. Der Erfinder wollte eine Sprache, die bessere/mehr Abstraktionsmöglichkeiten gegenüber C bietet, ohne dass sich das negativ auf die Performance auswirkt. Und das ist IMHO auch gut erreicht worden. Was ich für hervorhebungswürdig halte, ist, dass es C++ einem erlaubt, die Verwendung von benutzerdefinierten Typen sehr angenehm zu gestalten. Benutzerdefinierte Typen mit schönen Schnittstellen sind ja eine Art von Abstraktion. Wo du in anderen Sprachen Dinge im Sprachkern definieren musstest, beispielsweise Dictionaries in Python, ist C++ mächtig genug, dass man solche Dinge wie Maps, Strings selbst in C++ implementieren kann und dies auch schon in der Standardbibliothek getan wurde.



  • SeppJ schrieb:

    dot schrieb:

    C# läuft auch auf Linux und Mac und iOS und Android...

    Und GNU gibt's auch für Windows. Nur weil etwas technisch gesehen funktioniert, ist es nicht unbedingt toll.

    Das mag im Allgemeinen richtig sein, im Falle von C# wär mir aber neu, dass es nicht toll funktioniert...



  • Dexxxter schrieb:

    Die Frage ist bereits gestellt, was spricht dafür C++ zu lernen, was hat euch dazu getrieben und warum wäre dies die Sprache erster Wahl?

    Ich würde einfach anfangen zu lernen und mich nicht zu sehr auf eine Sprache versteifen. Das meiste was du lernst, kannst du eh nahezu 1zu1 auf andere Sprachen übertragen. Ich programmiere bspw. eine 2D Engine in C++ und LUA, habe die allerdings auch ohne große Schwierigkeiten schon zu Java/Android portiert. An den Konzepten ändert sich eben nichts. Sei es jetzt eine while-Schleife, OOP oder ein Algorithmus zur Kollisionserkennung. Was sich halt ändert ist der Syntax - mei gott. Den schlägt man mal so beiläufig nach 😉 ! Klar - ein richtiger Guru wird man so natürlich nicht, allerdings muss man auch nicht alle Implementierungsdetails und die gesamte STL auswendig kennen, um guten Code zu schreiben.

    Zu deiner Ausgangsfrage: Ich programmiere im Beruf C / C++ / ASM / Perl im embedded/Automotive Bereich. Nicht weil ich will, sondern weil ich muss 🤡 ...



  • Hallo zusammen,

    erst mal danke für die zahlreichen Antworten.

    In einem scheint Einigkeit zu herrschen, C++ ist recht komplex für einen Einstieg, auch wurde erwähnt dasss C# vielleicht ein bessere Einstieg sein könnte, im wesentlichen bleibt es sich aber auch gleich, da ich ohnehin als Anfänger einsteigen, mich mit den verschiedenen Möglichkeiten und Konzepten von Grund auf befassen muss.

    Dennoch keine einfach Entscheidung ...

    Ich werde dieses Wochenende einfach mal in den örtlichen Buchhandel einfliegen und mir eine Übersicht sowohl für C#, als auch C++ verschaffen, dann einfach nach Bauchgefühl entscheiden (geblättertes Papier ist hierfür wohl besser für mich geeignet als dutzende Seiten im Netz durchzuklicken).

    Ich melde mich in jedem Fall nochmal zurück, entweder hier oder im C# Unterforum 😃

    Schönes Wochenende

    Dexxxter

    P.S. VisualBasic 2010 ist nicht wirklich ebenbürtig zu C-Sprachen oder?



  • Visual Basic .NET ist im Prinzip nichts anderes als eine alternative Syntax für C# und existiert wohl nur, weil Microsoft den zahlreichen Visual Basic 6.0 Entwicklern das damals neue .NET Framework, welches Visual Basic 6.0 ersetzen sollte, schmackhaft machen wollte. Für jemandem, der nicht einfach schon von Visual Basic Seite kommt, macht VB.NET imo keinen Sinn. C# ist die Amtssprache im .NET Land...



  • Vor einem Jahr hätte ich gesagt "fang mit Java an" - jetzt würde ich auch eher zu C# tendieren. Oder eine Interpretersprache, in denen hab ich allerdings nur wenig Erfahrung und würde das Empfehlen daher den anderen überlassen 😉



  • Interpretersprache zum Anfangen: Python

    Meine Empfehlung im konkreten Fall hier bleibt aber C#. Von Java würde ich auf jeden Fall abraten; insbesondere angesichts dessen, dass selbst das Plattformunabhängigkeitsargument dank Mono etc. immer mehr an Gewicht verliert. Und wer C# kann, kann praktisch sowieso Java auch...


Log in to reply