D vs Go in real life, part 2. Also, Erlang.
Max Samukha
maxsamukha at gmail.com
Thu Dec 5 13:53:03 PST 2013
On Thursday, 5 December 2013 at 14:55:53 UTC, Jeff R. Allen wrote:
> I am the buddy who's always going on and on about Go.
>
> Here's the blog posting I made explaining why/how I made the
> MQTT server in Go and what I learned:
>
> http://blog.nella.org/mqtt-code-golf/
>
> I was a bit surprised and interested to see that MQTT with
> small transactions is not easy to optimize because kernel/user
> context switching dominates the work that's done under control
> of the programmer and which can be optimized via data
> structures and/or reducing GC overhead.
>
> Something that both Atila and I verified in this exercise is
> that writing a fast network server that scales is so much
> easier with a very good networking library that takes advantage
> of lightweight threads, and with a runtime that provides GC.
> This frees up the programmer to focus on the protocol logic,
> and leave concurrency and bookkeeping in the capable hands of
> the machine.
>
> And, as has been mentioned on other Go versus D threads, a lot
> of this is a matter of taste and team dynamics. I've worked on
> many teams in my career where there was not a critical mass of
> people who could reason correctly about C++ memory management,
> and who could use generic programming techniques reliably. And,
> in line with discoveries from psychological research, it's
> common that people who are not competent at something do not
> recognize that fact. Perhaps I'm above average in this regard:
> I KNOW I'm not smart enough to write correct code using
> templating techniques. :)
>
> -jeff
Templates are easy. They are pure functions. You just need to
overcome idiosyncrasies introduced by people who thought they
were something else. ;)
More information about the Digitalmars-d
mailing list