Why Node and Scala will dry up: Go will drink their milkshake

Node and Scala are quickly becoming languages of choice for building scalable, asynchronous web services and applications. However, Go, the language designed and in use at Google, presents a compelling alternative with few of the warts of Node and Scala. While Node and Scala are specifically targeting developers as the tools of choice for server side architecture, Go is actually a better tool for the job and will prove to be the ultimate winner.

In this talk I'll draw from my recent experience building a scalable architecture for storing time series data in real-time for The Errplane API started as a Scala-based service that was recently rewritten in Go. I'll talk about my specific experience writing a scalable server architecture in the two languages and the road blocks to learning and working with each. I'll then contrast the philosophical and stylistic differences between Node, Scala, and Go with specifics on how Go is superior for concurrency, understandability, code sharing, and learning curve.

  • Paul Dix is a co-founder at Errplane, a service for instrumenting and monitoring applications and infrastructure that automatically sends alerts based on detected anomalies. Paul is the author of “Service Oriented Design with Ruby and Rails.” He is a frequent speaker at conferences and user groups including Web 2.0, RubyConf, RailsConf, and GoRuCo. Paul is the founder and organizer of the NYC Machine Learning Meetup, which has over 2,900 members. In the past he has worked at startups and larger companies like Google, Microsoft, and McAfee. He lives in New York City.