D vs Go in real life
Chris Cain
clcain at uncg.edu
Thu Nov 28 21:51:47 PST 2013
On Friday, 29 November 2013 at 05:14:14 UTC, brad clawsie wrote:
> First I tried installing dmd from source, which was fine but
> then I would get strange errors about referring to a file
> "object.d" when trying to build dub. Some poking around on the
> web resulted in the advice of installing the pre-built dmd
> binary that is in the release distribution.
I really have to agree. I recently had to set up an environment
for contributing to phobos but the whole experience was a bit ...
tedious. I ended up just using dmd.2.064.2.zip and putting the
git repos in the src folder and making a bunch of scripts to move
the built binaries into their correct positions. Being in the
unique position of programming on Windows, Mac, and Linux, I've
had to rewrite the coping script differently for each one.
Windows is the worst for that sort of thing, but that's to be
expected.
The whole build process is a lot more involved than it really
should be. Ideally you should be able to clone dmd, phobos, and
druntime and just have everything compile and be put into a
relative path together and just "work". Maybe alert you if you
don't have phobos and druntime to build. Ultimately, you really
"have to" download the binary version if you want it to work
transparently, but it would be nice if it were easy enough to
build from source that a printed 1 page guide would get you 100%
running.
> I feel HTTP serving is so common that it should be one of the
> accepted "batteries included" by default.
That I'm not sure I'd agree with. Maybe getting stuff via HTTP
(we have curl at a.t.m.) but serving HTTP files really needs
something more substantial than I'd feel comfortable being in the
standard library. Something too simple would likely not be used
in favor of something like vibe.d while something the size of
vibe.d probably is a bit too expansive to really be considered
for part in the standard library. Not to mention the fact that
vibe.d is in reasonably rapid development. The speed of vibe.d
releases outpaces DMD releases and I think that's a positive
thing overall.
Plus I feel like such an approach might make "simpler" things
suffer (or, at least, make them feel like they suffer). Every
time I use python I think "it's so nice that I can write an
advanced http server with ssl encryption serving up a calculated
meaning of life and the last digit of pi in one line, but I have
to write an iterator to iterate over elements pairwise, which I'd
really think should be in the standard library somewhere." (A
"recipe" for it is in itertools which, strangely, suggests that
they know how often it might be needed but failed to add it as an
actual part of the standard library, but I digress...)
More information about the Digitalmars-d
mailing list