UC Irvine Professor Ian Harris is an expert in computer science systems and teaches the new Programming with Google Go Specialization. We had the opportunity to chat with him about the Specialization and why every programmer should learn Go.
Why did you want to create this Specialization?
We created this Specialization because there is clearly a need for Go expertise in the software marketplace today and we felt that a Specialization on Google Go would help meet that need. Software developers are continually seeking to build complex systems with high performance at low cost, and the selected programming language has a strong impact on a developer’s ability to do that.
The vast majority of programming courses in existence take a more conservative approach, focusing on older languages with which instructors are more comfortable. This Specialization is needed to introduce a new generation of programmers to the benefits that Go can provide.
Who is it for?
This Specialization is for someone who has some programming experience and now wants to adopt a new programming language in order to broaden their skill set. An individual might be looking for a new job which requires an understanding of Go, or he/she might want to use Go at their current workplace.
What can someone add to their resume once they complete this Specialization?
You’ll be able to state that you have gained a solid foundation of Go and exercised the main features that set it apart from other programming languages.
Why should a programmer learn Go?
Go is a great tradeoff between performance and ease-of-use. Go is a compiled language, giving it a performance which is on-par with native C code. Go provides many of the high-level features which are common in interpreted languages, such as garbage-collection. Go also integrates concurrent programming concepts which a great advantage when programming for multi-threaded, multi-core platforms.
Why do you love Go?
I would say that it is the general philosophy of the language, to enable the use of high-level programming concepts in a simple way, while maintaining high performance. This philosophy is manifested in many different ways in Go which make it a unique pleasure to use.
What advice would you give to someone interested in pursuing a career as a programmer?
Continually evaluate new trends. You need to differentiate between important trends, which you should invest time in, and passing fads, which you should ignore.
Enroll in Programming with Google Go Specialization now.2