Hi folks. I am a software engineers in one of the biggest companies in my country. Within our code base, there is almost a 50/50 split between microservices written in Go vs the ones written in Kotlin.
I am very interested in hearing your opinions about the advantages/disadvantages about each language, and most of all:
If you had to convert your entire code base and keep only one of them, what would be your choice?
Ill kick this off by giving my perspective:
I am inclined to lean towards Golang as long as we are taking about microservices exclusively as I think that thats where it shines. Whenever you start adding too much abstractions, ( and your service starys away from actually being a microservice ) then Kotlin can help a lot.
But as long as you stay put within that realm, then Go is the clear winner. Ill point out some of the biggest advantages:
- Native 100% and multiplatform
- Performs way better
- Its simpler to read and more opinionated.
- Way easier to learn, this is even more true when talking about Junior team members.
- Its dependency management is a breeze.
- It compiles waaay faster ( specially useful when writing unit tests ).
- Totally the opposite of bloated, unlike Kotlin.
- You stay away from anything JVM related and thats always a plus ( haha just kidding…)
While for Kotlin:
- It allows you to create very powerful abstractions ( sometimes too much and you feel you are using a Nuke to kill a spider)
- Its constructs and syntax are way more refined.
- Generics… yaaaay!! ( yes. I know Go has generics now )
submitted by /u/TheGronchoMarx
[link] [comments]
from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! https://ift.tt/wytN3Rr