D vs Go in real life
Craig Dillabaugh
craig.dillabaugh at gmail.com
Thu Nov 28 21:49:33 PST 2013
On Friday, 29 November 2013 at 05:14:14 UTC, brad clawsie wrote:
> this has been a great thread and I've found a lot of the
> replies very insightful. I've been programming in Go at work
> for about a year or so now, so I have some opinions on Go that
> I believe are reasonably informed, while I am still a D novice
> but hope to continue learning.
>
> First, let me say that it is obvious that, by design, D is a
> more powerful language than Go. Go's simplicity will either be
> an advantage or a deal-breaker based on who you ask.
>
> On my vps instance last night I tried to create an initial D
> programming environment, with the following tools:
>
> - dmd
> - dub
> - vibe.d
> - ldc (not strictly necessary but I've heard so many good
> things about it)
>
> 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. Now I was able to
> build dub, although it was strange to see two completely
> different build mechanisms for dmd and dub - dmd using a
> makefile and dub using a sh script wrapper. vibe.d was easier
> to install once dub worked. Over an hour just to get basic
> tools installed, although I feel HTTP serving is so common that
> it should be one of the accepted "batteries included" by
> default.
So when you say you would install Go using the default build,
did you mean as a binary, or do you mean some sort of default
build configuration (from source) for your platform?
If as binary then this comparison is a bit unfair here.
For me (OpenSuse) all I need to do is:
sudo zypper in dmd
I've used the pre-built binaries on various Windows & Linux
OSs with no troubles.
If you want to build from source you might want to have a look at
DVM:
https://bitbucket.org/doob/dvm/wiki/Home
(I don't have any experience with it personally, so I can't say
how trouble free your experience would be).
>
> If this were Go, I would have installed the default build for
> my platform and had an http server in my standard sdk and
> everything else available by "go get", which has never failed
> to work flawlessly for me in a year of dealing with code from
> the web. This is one reason why there are already so many
> libraries for Go - it is trivial to expose your code to other
> developers via the supported toolchain.
>
> This might not be a fair assessment given my shallow experience
> with D, but it seems much less polished relative to Go for
> setting up a development environment and working with code from
> the web.
Well D is a volunteer effort while Go is being backed by the
worlds biggest web company! That sort of accounts for that I
suppose. There has been recognition in the community that this
needs to improve, but progress is only so fast with the limited
resources.
>
> Go's tools can be criticized as precluding operating system
> package managers, if people feel that criticism is valid, maybe
> a solution is something like the Haskell Platform, which was a
> reasonable response to the same criticism with haskell in years
> back - that setting up a development environment with basic
> consistent libraries was very painful. Haskell Platform does
> not seek to preclude operating system package managers.
>
> Anyway, I hope this didn't seem too harsh. I still am playing
> with D and hopefully at some point in the future, package
> managers will address some of these needs.
>
> brad
Hope you enjoy your experience with D.
More information about the Digitalmars-d
mailing list