ato 2014 - so you think you know 'go'? the go programming language

of 34/34
Presented by John Potocny @ATO 2014 So you think you know ‘Go’? The Go Programming Language

Post on 27-Jun-2015




1 download

Embed Size (px)


What’s so special about Go? Why do people swear they’ll never develop in any other language again? You’ve probably heard a lot of the stock answers: concurrency, lightweight syntax, speed, blah, blah. What do these things _mean_ to you as an individual developer, to your code and work output, and to your team and company? Much of Go’s real power is hidden in plain sight, overlooked and unappreciated because it’s too simple to appear significant. I know because I have written a variety of Go code for many different domains, from stats to long-running daemons to API servers and clients. Long after I thought I was good with Go, I continued to experience a-ha moments that made me realize I’m still learning a lot of it. That process continues today. I am not the world’s best programmer in any language, but I’m pretty self-aware, and if you’re anything like me, sharing my experience with you can hopefully help you shortcut the process of ignoring Go’s true power. I also hope that you’ll gain perspective about common complaints, and perhaps understand how serious those things would be for you after using Go for a while.


  • 1. So you think you know Go?The Go Programming LanguagePresented by John Potocny @ATO 2014

2. About MeBackend Developer at VividCortex, BCE from Kettering UniversityProgramming Experience: Mainly C#/Java, Embedded C/C++, some PythonTwitter: @JohnPotocny1Email: [email protected] 3. A Brief History Created in 2007 by Robert Griesemer, Rob Pike, & Ken Thompson Developed by Google Open Source - since Nov 10, 2009 (Public Announcement) Currently v1.3.3 (Stable) 4. What Kind of Language is Go? 5. Language Features 6. Actually, Its More Like This 7. Great Tools Built-In 8. Compiles Quickly - Native Binary 9. Garbage Collected 10. Statically Typed 11. Interfaces and Composition 12. Concurrency 13. What Did Go Get Rid Of? 14. Remember The Goals! 15. Enough Chat, Lets See Some Code! 16. A Modern Hello World 17. A Modern Hello World 18. How About a Real Example? 19. How About a Web Server? 20. How About a Web Server? Even: 21. Server With Limited Connections? 22. No Language Is Perfect... 23. A Fun Example 24. Other Things? 25. No Generics 26. Go Has Complex Numbers 27. Static Types - No Implicit Conversion 28. Strict Compiler Interrupts Flow 29. Race Conditions Still Exist 30. Wait, Go Has goto!? 31. Other Fun KeywordsProof: 32. Questions? 33. Thank You!