Welche Programmiersprache soll ich jetzt lernen?



  • Daniel E. schrieb:

    Weil die Klasseninterfaces recht unübersichtlich lang werden. Deswegen werden solche Dokumentationstools viel häufiger eingesetzt als in zB C++ oder TP/Delphi, wo Interface und Implementierung getrennt aufgeführt werden (können).

    Hmmm... ich sehe das etwas anders. C++ sollte eigentlich ausgiebiger als Javacode dokumentiert werden. Und zwar, weil man in C++ Ausdrucksformen hat, die sich nicht komplett im Code wiederfinden. Stell Dir ein Template vor, bei dem die Typen, mit denen Du das Template parametrisierst, eine gewisse Schnittstelle bieten müssen. Wie verankert man die Information über diese Schnittstelle im Code? AFAIK normalerweise gar nicht, auch wenn es da sicherlich irgendwelche abgedrehten Möglichkeiten gibt, die keiner nutzt. 😉 Zumindest muss man solche Informationen normalerweise in der Doku unterbringen. ...ok, aber andererseits kann soetwas natürlich auch nicht von automatischen Doku-Tools generiert werden. Man muss also alles per Hand machen. Der Dokumentationsaufwand sollte aber deutlich größer sein. ...und auch die Dokumentationsnutzung bei der Programmierung mit irgendeiner Bibliothek.



  • Gregor schrieb:

    Daniel E. schrieb:

    Weil die Klasseninterfaces recht unübersichtlich lang werden. Deswegen werden solche Dokumentationstools viel häufiger eingesetzt als in zB C++ oder TP/Delphi, wo Interface und Implementierung getrennt aufgeführt werden (können).

    Hmmm... ich sehe das etwas anders. C++ sollte eigentlich ausgiebiger als Javacode dokumentiert werden. Und zwar, weil man in C++ Ausdrucksformen hat, die sich nicht komplett im Code wiederfinden. Stell Dir ein Template vor, bei dem die Typen, mit denen Du das Template parametrisierst, eine gewisse Schnittstelle bieten müssen. Wie verankert man die Information über diese Schnittstelle im Code? AFAIK normalerweise gar nicht, auch wenn es da sicherlich irgendwelche abgedrehten Möglichkeiten gibt, die keiner nutzt. 😉 Zumindest muss man solche Informationen normalerweise in der Doku unterbringen. ...ok, aber andererseits kann soetwas natürlich auch nicht von automatischen Doku-Tools generiert werden. Man muss also alles per Hand machen. Der Dokumentationsaufwand sollte aber deutlich größer sein. ...und auch die Dokumentationsnutzung bei der Programmierung mit irgendeiner Bibliothek.

    Ne, die Leute, die C++ programmieren sind schlauer und brauchen für sowas keine Doku!



  • Eldonir schrieb:

    Danke für die Erklärung , hat mir sehr geholfen!!! 😉

    Ich denke ich werde es mit C# einfach mal versuchen , wens mir dann nicht gefällt kann ich ja immernoch ne andere sprache nehmen 😃

    Schwerwiegender Fehler!
    C# ist ein billiger Java klon und trägt en C im Namen um C/C++ programmierer anzulocken, da es so viele davon gibt. C# ist total unportabel.

    Wenn schon dann Java.



  • Hört doch mal auf mit dieser engstirnigen Sprach-Missionierung. man sucht sich halt eine der großen aus und fertig. Wenn man ernsthaft programmieren will, dann wird man sich sowieso unzählige Sprachen aneignen.

    C# oder Java eignen sich hervorragend um sich OOP beizubringen, weil sie einem erst mal viele der ekligen Details ersparen, die sowieso fürs Verständnis des Paradigmas (!) total unwichtig sind. Mit etwas Intelligenz kann man sich dann die grausigen Sachen wie Header usw anschauen



  • moonfire spam schrieb:

    C# oder Java eignen sich hervorragend um sich OOP beizubringen, weil sie einem erst mal viele der ekligen Details ersparen, die sowieso fürs Verständnis des Paradigmas (!) total unwichtig sind.

    Also nach einem gewissen anderen Thread möchte ich dir da dezent widersprechen 😉



  • Gregor schrieb:

    ...
    Hmmm... ich sehe das etwas anders. C++ sollte eigentlich ausgiebiger als Javacode dokumentiert werden. Und zwar, weil man in C++ Ausdrucksformen hat, die sich nicht komplett im Code wiederfinden. Stell Dir ein Template vor, bei dem die Typen, mit denen Du das Template parametrisierst, eine gewisse Schnittstelle bieten müssen. Wie verankert man die Information über diese Schnittstelle im Code? AFAIK normalerweise gar nicht, auch wenn es da sicherlich irgendwelche abgedrehten Möglichkeiten gibt, die keiner nutzt. 😉 Zumindest muss man solche Informationen normalerweise in der Doku unterbringen. ...ok, aber andererseits kann soetwas natürlich auch nicht von automatischen Doku-Tools generiert werden. Man muss also alles per Hand machen. Der Dokumentationsaufwand sollte aber deutlich größer sein. ...und auch die Dokumentationsnutzung bei der Programmierung mit irgendeiner Bibliothek.

    Finde das in der SGI STL Doku recht gut gelöst. Der Value Type muss assignable, copyconstructable etc. sein, ein Klick drauf, und du bist bei der Beschreibung des Interfaces.
    Dafür ist der Code schön schlank und nicht mit Kommentaren zugedeckt. ( Voraussetzung ist halt, das man neben der IDE noch nen Browser offen hat, was mich nicht extrem stört. )
    Hingegen finde ich die Doxy Dokus meist etwas spärlich und nichtssagend. Da nützt auch das Klassendiagramm nicht viel.
    Nur meine Meinung.. :p



  • naja bevor ich mich richtig mit c# anfreunde geht ich lieber wieder mit java essen.
    C# is zwar net schlecht, aber doch eher weiter in hinten in der qual der wahl. Bin im moment sehr gluecklich mit c++ und wenn ich brauch .NET und ogl dazu. (und imho ASIO fuer audio spielsachen) Damit komm ich recht angenehm dorthin wo ich will.



  • 1310-Logik schrieb:

    Gregor schrieb:

    ...
    Hmmm... ich sehe das etwas anders. C++ sollte eigentlich ausgiebiger als Javacode dokumentiert werden. Und zwar, weil man in C++ Ausdrucksformen hat, die sich nicht komplett im Code wiederfinden. Stell Dir ein Template vor, bei dem die Typen, mit denen Du das Template parametrisierst, eine gewisse Schnittstelle bieten müssen. Wie verankert man die Information über diese Schnittstelle im Code? AFAIK normalerweise gar nicht, auch wenn es da sicherlich irgendwelche abgedrehten Möglichkeiten gibt, die keiner nutzt. 😉 Zumindest muss man solche Informationen normalerweise in der Doku unterbringen. ...ok, aber andererseits kann soetwas natürlich auch nicht von automatischen Doku-Tools generiert werden. Man muss also alles per Hand machen. Der Dokumentationsaufwand sollte aber deutlich größer sein. ...und auch die Dokumentationsnutzung bei der Programmierung mit irgendeiner Bibliothek.

    Finde das in der SGI STL Doku recht gut gelöst. Der Value Type muss assignable, copyconstructable etc. sein, ein Klick drauf, und du bist bei der Beschreibung des Interfaces.
    Dafür ist der Code schön schlank und nicht mit Kommentaren zugedeckt. ( Voraussetzung ist halt, das man neben der IDE noch nen Browser offen hat, was mich nicht extrem stört. )
    Hingegen finde ich die Doxy Dokus meist etwas spärlich und nichtssagend. Da nützt auch das Klassendiagramm nicht viel.
    Nur meine Meinung.. :p

    Das hast du bei Java auch. In Eclipse einfach mit dem Mauscursor über die Methode/Klasse.

    Über was streiten wir uns überhaupt? Objektiv gesehen hat man viel weniger Freiheiten in Java und der Compiler ist viel strenger. Somit ist Java-Code mehr selbsterklärend als C++-Code.

    In der Praxis kommt es eh auf den Programmierer an...



  • DEvent schrieb:

    In der Praxis kommt es eh auf den Programmierer an...

    Volle Zustimmung 👍



  • Also ich nehme mal an, dass die Auswahl der richtigen Headerdateien in C++ bei dem aktuellen Diskussionsstand nicht mehr das Entscheidende ist, sich von dieser Sprache fernzuhalten. Deutlich schwieriger finde ich das Thema GUI bei C++, da es hier momentan keine breit akzeptierte Lösung gibt. Das führt dann schon eher zu C# oder Java, wobei man bei diesen Sprachen eben nicht mehr so frei ist wie bei C++. Freiheit und große Mengen fertigen Codes sprechen für C++. Ich empfehle daher immer noch C++.


Anmelden zum Antworten