I work as a backend developer and our stack in company is C# (ASP.Net, ASP.Net Core) and MS SQL Server as DBMS. We work in financial sector and provide softwere to local banks. So I had a task to investigate which programming language can we choose to write our new module in, which can improve our applications and I chose to switch to Golang. That’s why I ask You to make a list of pros of choosing Golang language, so I can convince my colleagues to this language.
What were the reasons that made you choose Go? It seems that that’s likely your list to show your colleagues. Having 100 reasons is probably less impactful than having the 1 or 2 big reasons you decided to go that way
The problem is that I might not know the answer to some questions because of my little experience. For example I might have never used any function or language construction, bacause there wasn’t a need for me, so I can not answer the question like “tell about this function/construction alternatives in Go”.
But anyway thanks for Your answer
@Mirzomuin My question was a geunine one. What was it that’s made you choose to switch to Go?
Maybe it was:
- the syntax that is easy to understand and to code.
- the restricted types and explicit error handling
- the fast and convenient tool - goroutines
- fast compilation
- good serialization and deserialization speed (really important for us)
- easy work with files
But I think, it’s just my point of view, which is the reflection of my experience and knowledge about programming languages. That’s why I asked for an experts’ opinion to confirm or disprove my choice.
Those are all excellent reasons to choose Go, and seem to me to be as good a list as anyone else here will be able to give you, as they relate specifically to the set of tradeoffs you’re aiming for. They’re all correct and they’re all very valid reasons to choose Go.
All languages have tradeoffs. Go isn’t better than C# but it has different advantages and disadvantages. Without understanding all your business requirements, it’s pretty impossible for anyone to know what the right decision is, or why it would be right/wrong. A C# expert would give you a dozen reasons to choose C# and a Go expert would give you a dozen reasons to choose Go. But at the end of the day, it comes down to your specific use case.
You might also like to look at our brief introduction video and share that with your colleagues: https://youtu.be/LajgcyqjWOs
This one sounds pretty subjective
The syntax you’re used to using is probably the syntax you find easiest to understand and code.
While this is definitely true(!), it’s also one of Go’s biggest selling points is that it’s got a clear and simple syntax. As I understand it, it even sacrifices certain functional opportunities to stay relatively simple in syntax.
But obviously it’s all subjective. Static-typing can seem very verbose if you’re not used to it, etc. But its definitely less esetoric than the Slimline September languages
I also thought, that it was pretty convenient to get into go. There is not a massive back of things to learn or exceptions for a hundred scenarios. On the other hand, I was a bit bummed, that I had to write some pretty basic algorithms myself because the standard library is very condensed.