The GO language was created by Google to eliminate licensing issues with Java and C # (net dot) languages and in order to avoid legal processes regarding the Java and Dalvik virtual machine in the Android system. More specifically, Google wanted to eliminate the dependency on proprietary systems of Oracle and Microsoft, giving developers a new toy.
Go was created by Google because they have large infrastructures that generate big problems; hence, a unique solution had to be devised. GO is what its creators called a language created for decades to come. A language that simplifies the development of the programs and covers the current needs.
1. First of all, it is a structured, compiled language. I do not insist here on some advantages; I consider it an important aspect.
2. Simplicity. Very annoying at first sight, missing familiar concepts from other languages. Object-oriented programming exists but not as it is known in classical form.
In time, I understood that the idea is to speak a simple language, to read and understand all the same thing. This means that an advanced user and a beginner have a great chance to write something almost the same but also to understand each others code.
3. The automatic indentation system integrated by most development media that support Go. Nobody should care about ordering the code, and it is standardized.
4. The documentation of the programs is well developed. The comments become accessible documentation through the program documentation server.
5. The presentation system for your projects seemed an extraordinary thing to me, mainly since it works both as a local and as a presentation server. A blog that accepts the same markdown language from presentation slides for articles.
6. Simplified competition to the maximum (go routines) but accessible as an understanding.
7. The standard libraries for the network and beyond. Absolutely amazing in simplicity, efficiency and stability. We can easily make self-hosted network applications, http/https web servers, microservices.
8. Data exchange (JSON, XML) can be set up but especially easy to use.
9. Very good template system for web applications.
10. Drivers for most database engines.
11. Integrated testing and profiling are very good, especially for competing applications that use the same framework.
12. Integration with git servers (github) and version control.
13. Dedicated development environments support and provide a good user experience.
14. Low resources. The compiler and the development environment do not require large resources.
15. The fact that it is cross-platform and we can compile towards any supported platform from any supported platform as we compile natively. Select the destination system, press an IDE key and you’re ready to compile it for Mac, Linux, Windows or ARM. I still give an order and ready to implement them on the server with the toolbox above.
16. Promotion. Golang Weekly 7 keeps us informed about the latest news in the area. I think there are more publications, but they are more visible.
17. The international community is extremely active both in terms of voluntary technical support and periodic events.
The syntax of the Go language is weird (only natural for those who have never programmed another language), but once you get used to it, you realize the potential of the language.
Unlike the program in Python, which is interpreted, the program in Golang is compiled and this means that it is very fast, tens or hundreds of times faster.