Warum sollte es C++ sein?



  • Java macht durchaus Sinn, wenn man mit dem Programmieren Geld verdienen will. Gibt immer noch MASSIG viele Java Jobs.
    C# ist allerdings im Aufholen.

    dot schrieb:

    Und wer C# kann, kann praktisch sowieso Java auch...

    Das stimmt mehr oder weniger.
    Wobei es halt auch sehr wichtig ist das Framework zu kennen und diverse Standardmuster die in der jeweiligen Sprache gerne eingesetzt werden.



  • 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.

    Höh? Ein Dictionary wie in C++ kannst du auch in Python mit Sprachmittel bauen.

    Unterschiede sind halt:
    1. In Python gibt es eine schöne Syntax { "Key1" : 12, "Key2" : 10 }, in C++ nicht.
    2. In Python ist die Implementierung im Spracckern sinnvoll da Dictionaries extrem wichtig für Python sind und es so einfach performanter ist.



  • Hallo Dexxxter,

    ich würde dir auch zu C# raten (und MS Visual Studio Express als Entwicklungsumgebung). Die Sprache ist m.E. konsistenter als C++, und einfacher erlernbar.

    Zum Reinschnuppern kann ich dir das Open-Book Visual C# 2010 bzw. Visual C# 2008 (noch mit größeren WinForms-Kapiteln) empfehlen.
    Wenn du ein etwas alternativeres Buch suchst (mit direkterer Lernmethodik), dann gibt es C# von Kopf bis Fuß.

    Am besten, du fängst mit Konsolenprogrammen an, und wenn die Grundlagen der Sprache beherrscht sind (mind. 5-10 größere Übungsprogramme), dann wechselst du zur GUI-Programmierung. Und hier würde ich [trotzdem] zuerst (das als veraltet geltende) WinForms empfehlen (um auch hier die Grundlagen kennenzulernen), um erst danach dann auf WPF umzusteigen (da hier auch noch eine weitere Sprache XAML ins Spiel kommt).

    Viel Erfolg!



  • Ethon schrieb:

    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.

    Höh? Ein Dictionary wie in C++ kannst du auch in Python mit Sprachmittel bauen.

    Na klar. Aber das würde ich nicht nutzen wollen, weil ...

    Ethon schrieb:

    [...] die Implementierung im Spracckern [...] einfach performanter

    ist.

    zero-cost abstraction ist es, was ich im Text bei C++ hervorheben wollte.



  • So einige Sachen werden in C++ mit Insintrics und Assembler erledigt, wenn Performance zählt. 🙂



  • cooky451 schrieb:

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

    👍 😉



  • C++ solltest du nur nutzen, wenn du Segfaults handlen kannst.



  • Ach ja, gut dass du das gerade sagst.
    Habe seit 8 Stunden an einem gehangen.
    Jetzt erst behoben...
    Konstruktoren sind was tolles. 😃



  • Dexxxter schrieb:

    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.

    C++ ist komplex, aber es ist eben nicht so, dass Du alles perfekt können musst, bevor Du das erste sinnvolle Programm schreibst.

    Ich persönlich halte C++ für eine sehr gute Einstiegssprache, weil man die bösen Fehler schon kennenlernt, bevor man große Programme schreibt. Das mag am Anfang frustrierend sein, aber das gehört zum Lernen dazu.
    Außerdem bietet C++ einen recht gradlinigen Weg, man ist von wenig abhängig: Es gibt keinen GarbageCollector, was ich als Vorteil ansehe.
    Ich hatte das Problem mal in JavaScript mal und kürzlich hatten wir das Problem auch in C#: Ein Objekt, mit dem man noch arbeiten wollte war aus dem Speicher entfernt worden, so dass der Zugriff darauf eine Exception auslöste. Darauf hat man als Entwickler wenig Einfluss und ich habe ehrlich gesagt weder eine Ahnung, wie noch ob die Kollegen das Problem in den Griff bekommen haben.

    Da Du Dich nicht wirklich geäußert hast, was Du eigentlich in der nächsten Zeit mit Deinen Programmierkenntnissen anfangen möchtest, sondern nur auf irgendwann später verweist, siehe hier: http://www.proggen.org/doku.php?id=start:language

    PS: Von C# will ich Dich nicht unbedingt abbringen. Als Sprache zur Anwendungsentwicklung würde ich zwar von einem Rückschritt zu C++ sprechen, aber C# ist gut lesbar und für den Anfang sicher eine angenehme Sprache, auch angenehmer als Java. Trotzdem möchte ich heute weder in C# noch in Java noch programmieren.



  • wenn ich mir ansehe, wie dringend gute C++ Entwickler bei uns in der Gegend gesucht werden, kann ich dir nur empfehlen, C++ zu lernen.
    Von C++ nach C# oder Java geht problemlos, umgekehrt musst du hingegen einiges lernen.

    Auch für C++ gibt es schöne Frameworks, mit denen du schöne GUIs entwickeln kannst. Und noch dazu plattformübergreifend!

    Und wie bereits erwähnt, man muss nicht alles perfekt beherrschen um sinnvolle C++ Programme schreiben zu können.



  • hghfhfghgh schrieb:

    wenn ich mir ansehe, wie dringend gute C++ Entwickler bei uns in der Gegend gesucht werden, kann ich dir nur empfehlen, C++ zu lernen.

    Das ist ein Argument C++ zu lernen, aber kein Argument mit C++ Programmieren zu lernen...

    hghfhfghgh schrieb:

    Auch für C++ gibt es schöne Frameworks, mit denen du schöne GUIs entwickeln kannst. Und noch dazu plattformübergreifend!

    Hui, das ist mir neu, sowas such ich schon seit Jahren, kannst du mir da vielleicht was empfehlen? 😉



  • SFML 2.0 und SFGUI.



  • Nathan schrieb:

    SFML 2.0 und SFGUI.

    Das ist vielleicht nett für Spiele, für ernsthafte Anwendungsentwicklung aber leider unbrauchbar...



  • Hallo, ich musste gezwungenermaßen das Programmieren lernen und da habe ich mit C++ angefangen. Ich denke viel wichtiger als die Sprache ist die Motivarion und Geduld.



  • Die Eigenheiten der Lernprozesse der verschiedenen Sprachen korrelieren aber mit Motivation und der Anforderung an die Geduld erheblich!



  • Hallo zusammen,

    ich habe mich nach langer Überlegung und reiflicher Abwägung möglicher Sprachen nun gegen C++ und für C# als Einstiegssprache entschieden.

    Ich bedanke mich nochmal für alle Wortmeldungen, Ihr habt mir bei meiner Entscheidung sehr weitergeholfen 🙂

    Lg Dexx



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

    Bähh, nein. Wie kann man nur? :p

    Für den Einstieg auch sicherlich nicht so einfach, da C auf einem sehr niedrigen Abstraktionsniveau ist, wo man über Bytes, Speicherbereichen, Speicherlöchern,... spricht. Und die fehlenden Container tun ihr übrigens.

    Die Sünden der Vergangenheit, rächen sich bis in alle Ewigkeit.



  • Ich glaub das war Sarkasmus... 😉



  • Lichtweite schrieb:

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

    Die Aussage halte ich aber für gewagt 😃

    Kleines Tutorial für Anfänger: hier



  • dot schrieb:

    Ich glaub das war Sarkasmus... 😉

    Nope, nicht wirklich. Ich halte C89 immer noch für eine schöne Anfängersprache. Sie ist sauber, extrem simpel, und relativ intuitiv. Allerdings muss ich natürlich eingestehen, dass es eher darauf ankommt welche Motivation man hat. Aber für jemanden wie mich, dessen Motivation vor allem war zu verstehen wie das Zauberkästchen da funktioniert, war es genau das Richtige. Und ich denke nicht, dass ich da so völlig alleine bin.


Anmelden zum Antworten