What is googles go(golang) good for?

What is googles go(golang) good for?

Its been almost 7 months i have been learning golang.

Most of the people i know say that why should i need to learn golang over node js. Because node Js is easy and has fast learning curve.

But i say every technology has its own pros and cons. Thats what make it special for different scenarios.


So the question is what is golang good for?

First of all,?golang?is a general-purpose programming language. Which means you could do almost anything in?golang.

Because it is a general-purpose programming language, it’s easier to describe what you cannot do in?golang. So here’s what?golang?is?not?(yet?) good at:

Firmware and OS Kernel Development. In C, there’s a so-called freestanding environment, which expects nothing, really nothing in place. Firmware and OS kernels are typically written in C, using the freestanding environment.

Desktop UI development. It can be done, but libraries to do that in golang aren’t that mature yet. The rock stars in this field are still C++/Qt, and Java with JavaFX.

Web frontend. Golang can be compiled to JavaScript and Web Assembly, but I wouldn’t call that mature yet.

Mobile App development. It can be done, but this also is relatively new, the rock stars in this field are still Java/Kotlin for Android, Objective-C/Swift for iOS, and for portable code, JavaScript with ReactNative.

XML. There’s a lot of stuff going on with XML at publishers and elsewhere. Golang libraries for XML are primitive and implement only very old standards of XML. Here, Java is the industry leader, followed by C# and JavaScript, mostly because of Michael Kay’s Saxon.

SOAP. In case you have to talk to a legacy SOAP system, it can be done, but it’s not as nice and comfortable as it would be in Java.

Games. Golang has the speed, but not the libraries/support. That said, I am totally looking forward to Golang entering this space.

Banking. The nature of the package management of Golang makes it difficult (but not impossible) to use it in a banking environment, where there typically is no direct internet access, and where each third party library can only be used after approval from a security department after performing a scrutiny process.

Automotive, Aerospace, and Medical. These industries have a vast infrastructure of verification methods and tools which do not yet exist in Golang.

For all these limitations, it has to be said that it is possible to overcome these limitations, either with sufficient development power on your end, or by waiting until somebody else has done it. In many of these, I have seen development and evolution of third party libraries.

Also, it is easy to integrate?Golang?with C and all languages that made integration with C easy, like Python. Many programming languages, like Java, JavaScript have a strong disconnect from the native ABI (Application Binding Interface). For such languages, an interaction with?Golang?is difficult. For programming languages which are connected to the native ABI, interaction with?Golang?is very easy.

Apart from these, I haven’t found any serious limitations in?Golang, and using it is fun. It has become one of my goto languages for command line tools and REST services (microservices and monoliths), a space in which for me it competes with Java, C, Perl, and occasional JavaScript.

Go is a lovely language with quirks, like every other language (Java, C#, JavaScript, Python, C, C++).

Nicole Bre?a Ruelas

Content Marketing Specialist at Sonatafy Technology | Digital Marketing

1 年

Very interesting, thank you for posting!

要查看或添加评论,请登录

Tonmoy Islam的更多文章

  • Best Resources to Learn JavaScript in 2024

    Best Resources to Learn JavaScript in 2024

    JavaScript remains one of the most essential and widely used programming languages in the tech world. Whether you’re a…

  • Go Vs Node.js

    Go Vs Node.js

    For those who are new to JavaScript, it can be challenging to decide between NodeJS and Golang because both are…

  • JS IIFE function

    JS IIFE function

    An IIFE is a JavaScript function that is defined and executed immediately after its creation. It is commonly used to…

社区洞察

其他会员也浏览了