[00:00:15] The first we'll notice is typing, and some of the big words are string, integer, float. And so when you're defining variables, whatever variable that type is or whatever type that variable is, it needs to stay that way for the rest of the program. So you can't define a number and then be like, just kidding, I want that to be a string down the road, once it's a number It is always a number for the life of the program.
[00:01:37] In the go language, you have to be extremely explicit, so errors are treated like values rather than exceptions, and so for you to actually manage that you need to capture that error and then decide what you wanna do with it in a very intentional way. Another way to think about writing Go is starting with all of the sad paths, so if you're writing a function, you handle all of the sad paths with your error handling as you go through the function.
[00:02:24] And in Go we have a couple of tools around Go routines, sync packaging, multi threaded, pneus with concurrency that's actually really seamless and is a really powerful part of the language. And then lastly, we've got some opinionated-ness, the Go language does have strong opinions around syntax and style as you're writing your code, there are built in linters that are one size fits all.
[00:03:01] Because when you're looking at a new code base that you didn't write, it looks like your Go code, which can be a really positive aspect of the language.