January 2019: Go and Node
Meetup #57. Please RSVP at Meetup.
We get started at 6:30 pm.
Sponsors
Venue provided by Startup Edmonton.
Food sponsored by Bellstone Engineering.
Talks
Go and Node.js: A comparison
Nathan Youngman gave a practical side-by-side comparison of Go and Node.js by building the same small web server in both languages. In Go he used net/http, ioutil.ReadAll, and struct tags to unmarshal a weather-style JSON payload, then fetched several URLs concurrently with goroutines, a sync.WaitGroup, and a mutex. In Node.js the equivalent used Express, async/await, object destructuring, and Promise.all to fetch in parallel. The talk highlighted the trade-offs: Go's static typing, explicit error handling, and lightweight goroutine concurrency versus JavaScript's dynamic typing, terser syntax, and async/await model — including a deliberate "2" == 2 example that fails to compile in Go but coerces silently in JavaScript.
Key points:
- Same web server and JSON parsing implemented in Go and Node.js.
- Go:
net/http, struct tags, explicit error checks, goroutines +WaitGroup. - Node.js: Express,
async/await, destructuring,Promise.all. - Go's concurrency is cheap and process-level; Node relies on the event loop.
- Static typing vs dynamic coercion (the
"2" == 2example). - Error handling is explicit in Go and try/catch in Node.
Nathan Youngman (slides, code)
News
- Go 1.11.5 and 1.10.8 have been released!
- Go 1.12 Beta 2 is released (draft release notes)
- Go Modules in 2019
- Our Software Dependency Problem by Russ Cox
Jobs
Events
- Monthly Hack Day - Feb 2
- Polyglot YEG - Feb 9
- Edmonton Go Meetup - February