Thread C/C++ vs Clojure vs Perl (20 answers)
Opened by tonewheel at 2014-05-26 21:49

Raubtier
 2014-05-27 20:55
#175784 #175784
User since
2012-05-04
1075 Artikel
BenutzerIn
[default_avatar]
2014-05-27T18:26:11 murphy
2014-05-27T17:55:19 Raubtier
Klar, denn man kann Strings ja ändern.
[...]

Und hundert Punkte bekommt der Kandidat, der auf Anhieb weiß, welche Methoden eines Strings diesen verändern und welche nicht, das ist nämlich alles andere als intuitiv und offensichtlich.


Im Gegensatz zu Perl sagt mir das mein Editor. Und wenn ich einen const string habe, schlägt er mir z.B. reserve gar nicht in der Code-Completion vor. Ausnahmsweise mal ein Punkt an C++ hier!

Quote
Quote
[...]
(ab C++11 folgt aus const thread-safe).

Alleine die Tatsache, dass man erwähnen muss, dass das erst ab einer bestimmten Sprachversion gilt, lässt schon wieder tief blicken, wie schlecht designt C++ tatsächlich ist und wie verwirrend für Anfänger.


Naja, du kannst in Perl 5.0 auch kein "say" verwenden. Der vorherige relevante Standard ist C++98, dort hatte man sich auf andere Dinge als Nebenläufigkeit konzentriert. Das Design folgt anderen Zielen.

Quote
Außerdem lässt sich die Aussage, auch wenn sie für const Instanzen von std::string in bestimmten Versionen der STL gelten mag, nicht auf const Instanzen anderer Klassen übertragen.


Weil?

Quote
So können wir den ganzen Tag weitermachen und all die Stolperfallen in C++ und die Wege um sie herum aufzeigen. Bewiesen ist damit nur eines: Diese Sprache ist mächtig, aber kompliziert richtig zu benutzen.


Ja, richtig. Ich empfehle auch mal http://channel9.msdn.com/posts/C-and-Beyond-2012-H... - aus zwei Gründen: einmal, weil es da genau um const geht. Und außerdem beweist die Existenz dieses Videos deinen letzten Absatz noch einmal ;-)

View full thread C/C++ vs Clojure vs Perl