Let’s GO! Part 1: A Word or Two About GO
What is GO?
GO or as many say, Golang, is a statically typed programming language that is made and maintained by Google. The syntax is somehow similar to C and lucky for us, the language is compiled and not interpreted! If you want to read more about it’s history, please visit The Wikipedia Page or it’s official website at: https://go.dev
Why GO?
- It’s easy! You’ll be surprised that how easy it is to work with GO! The Developer Experience was totally in mind when designing it.
- It’s fast! Not only because it’s compiled to a single binary, but also because it’s very well made and it’s very intelligent. Let’s say it this way: GO almost doesn’t let you write inefficient programs! They had the performance in mind when designing it.
- It has a great community. Backed by Google itself, the community is very large at the moment with almost all of the common problems and issues already answered by somebody. You won’t need to worry about being alone while coding in GO.
- No need to worry about the runtime. Again since it gets compiled to a single binary file that has all the needed dependencies inside it, you won’t need to worry about the runtime at all. Just run it like any other application and enjoy!
- No surprise type errors at runtime. Since GO is statically typed, there’s a zero chance that you mess up the types like what you may do in Javascript and other dynamically-typed languages. It doesn’t even permit you to assign an integer to a string variable at the first place. Thus your messed up code won’t end up in the production.
- You can have OO. The language is sort of Object Oriented and you can achieve that by using it’s interfaces.
- It’s concurrent out of the box! Unlike some other languages (e.g. Javascript), which can only run in a single thread, GO can take advantage of all of the CPU cores of your system, enabling you to process multiple tasks at the same time with ease.
- It’s cross-platform. You can both develop and compile GO programs for Windows, macOS and Linux totally out of the box.
- It has excellent built-in package management and testing. GO has almost everything you need to write an application already built-in! But if you ever feel like those are not enough, it has an excellent package manager that you can install the needed dependencies with ease. It also has everything you need for testing your applications, again, completely built-in!
Is GO for me?
GO is a general purpose language. With that said, I can assure you that either if you are a system programmer, web developer, blockchain developer or anything else that you have in mind, you would enjoy using GO. Even mobile applications development! What else do you want?!
Ready? Let the game begin!