For those ready to take the challenge

Tobias Pankrath via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jan 10 07:52:20 PST 2015


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.



More information about the Digitalmars-d-learn mailing list