On Saturday, 10 January 2015 at 15:13:27 UTC, Adam D. Ruppe wrote:
On Saturday, 10 January 2015 at 12:34:42 UTC, Tobias Pankrath
wrote:
Since it is a comparison of languages it's okay to match the
original behaviour.
I don't think this is really a great comparison of languages
either though because it is gluing together a couple library
tasks. Only a few bits about the actual language are showing
through.
In the given regex solutions, C++ has an advantage over C
wherein the regex structure can be freed automatically in a
destructor and a raw string literal in here, but that's about
all from the language itself. The original one is kinda long
because he didn't use a http get library, not because the
language couldn't do one.
There are bits where the language can make those libraries
nicer too: dom.d uses operator overloading and opDispatch to
support things like .attribute and also .attr.X and .style.foo
and element["selector"].addClass("foo") and so on implemented
in very very little code - I didn't have to manually list
methods for the collection or properties for the attributes -
...but a library *could* do it that way and get similar results
for the end user; the given posts wouldn't show that.
I agree and one of the answers says:
I think the "no third-party" assumption is a fallacy. And is a
specific fallacy that afflicts C++ developers, since it's so
hard to make reusable code in C++. When you are developing
anything at all, even if it's a small script, you will always
make use of whatever pieces of reusable code are available to
you.
The thing is, in languages like Perl, Python, Ruby (to name a
few), reusing
someone else's code is not only easy, but it is how most people
actually write code most of the time.
I think he's wrong, because it spoils the comparison. Every
answer should delegate those tasks to a library that Stroustroup
used as well, e.g. regex matching, string to number conversion
and some kind of TCP sockets. But it must do the same work that
he's solution does: Create and parse HTML header and extract the
html links, probably using regex, but I wouldn't mind another
solution.
Everyone can put a libdo_the_stroustroup_thing on dub and then
call do_the_stroustroup_thing() in main. To compare what the
standard libraries (and libraries easily obtained or quasi
standard) offer is another challenge.