On Friday, 30 March 2018 at 16:41:42 UTC, Jonathan Marler wrote:

Seems like you're comparing apples to oranges.

No, I'm comparing one type of apple to another with regards to weight in my shopping bag before I've even taken a bite.

Go's path.go is very small, a 215 line file:
https://github.com/golang/go/blob/master/src/path/path.go
Documentation: https://golang.org/pkg/path/

gocloc has it at 123 SLOC.

Dlang's std.path is much more comprehensive with 4181 lines: https://github.com/dlang/phobos/blob/master/std/path.d
Documentation: https://dlang.org/phobos/std_path.html

dscanner says 1857 SLOC. Also, that includes unit tests, of which there are 72 so probably some 700SLOC there.

I don't think how big the files are is revelant for me, a user of the standard library. If I want to do something with paths and don't want to roll my own code, I pay a price for it in D, whereas it's relatively free with Go. It makes me want to substitute every usage of std.path.buildPath in my code with just `foo ~ "/" ~ bar ~ ...`.

It's over an order of magnitude more code

More lines of code is a liability, not an advantage.

and only takes twice as long to compile without unittests,

No... that's ~11.583x with no unittests and ~43.75x with. The former number not being interesting to me in the slightest.

and it's only fair to compare the "non-unittest" version of std.path with Go, since Go does not include unittests.

Absolutely not.

There is *0* compile-time penalty on Go programmers when they test their programs, whereas my compile times go up by a factor of 3 on a one-line program. And that's >3 multiplied by "already slow to begin with".

Atila

Reply via email to