6 years ago5,000+ Views
These features would be it. Even if you've never heard of Go, or never used it, as a programmer I think these built-in concurrency features are easy to appreciate. I recently started learning Go, and started to use it to make what I make best -- web environments. For those coming from scripting languages like PHP, Ruby, and JavaScript like myself, getting into the compiled mindset is quite difficult. Type definitions? Forced return values? POINTERS!? Oh my! You might find yourself wondering why anyone would subject themselves to this kind of programming when JavaScript is so kind to take care of these low-level necessities for us. But all-in-all, I think I had been waiting for something like Go with it's concurrency, easy dependency management, and awesome command line tools to give me a warm starting point to compiled/lower-level languages. The speed and flexibility of compiled languages isn't really yet matched by any scripting languages, and the techniques you learn writing effective Go code can make you a more well-rounded web developer. Learning to manually manage memory (to a higher degree, anyway) and all the values being returned and sent to all functions and all of their types may just be a lesson in frustration that you'll find well worth it in the end.