A few notes on choosing between Go and D for a quick project
krzaq via Digitalmars-d
digitalmars-d at puremagic.com
Sun Mar 22 16:15:50 PDT 2015
> Something like
>
> while (n != EOF) {
> n = read(fd, buf, sizeof(buf));
> if (n==-1) throw(...);
> if (strcmp(buf, PREFIX) == 0) {
> return buf;
> }
> }
> return NULL;
>
> Requires no prior knowledge, and have similar effect.
>
I'm surprised nobody commented on "no prior knowledge". How are
you supposed to guess what strcmp(buf, PREFIX) does if you don't
know the function? Why is it being compared to 0? What's this -1
magic number? What does read do? What is EOF? Unless you're born
with C/POSIX programming knowledge, this is prior knowledge. I
know C well enough, but it took me some time to understand what
it does.
And honestly, compared to
> File("/tmp/a").byChunk(4096).joiner.startsWith(s)
you can easily guess that you have a file - do some nonobvious
magic on it - and check if it starts with `s` just by reading it
as plain English.
More information about the Digitalmars-d
mailing list