7 comments

[ 3.1 ms ] story [ 24.6 ms ] thread
Solid write up. What were the advantages/disadvantages to writing a DB engine in Golang vs C++ or Java
In general, Golang lets you code at higher level without compromising performance.
Both Go and Java are more likely going to have a faster development cycle for many developers than C++ and are less likely to have memory management bugs because they are garbage collected and memory safe[1]. Compared to many languages like Ruby, Python, etc all three of those are "high performance" languages. With a lot of optimization C++ has the potential to probably be the "fastest" solution. It all comes down to balancing execution performance, memory efficiency and development maintenance efforts.

While Go is a young language, I find working in it to be extremely productive, it makes concurrency easy to implement and get right, and produces application with good run-time characteristics.

[1]: http://en.wikipedia.org/wiki/Memory_safe

Go is awesome. :)
ATLAS is a very bad name to pick; it's already taken when it comes to numerical data processing.
It is just an internal project name. If we open source the map reduce library we can always rename it.