Ask HN: Should I learn Kotlin or Golang?

5 points by kev6168 ↗ HN
Edit: I have worked with Java/Python/JS extensively. To be honest not very fond of the Java/JVM platform for all the usual reasons.

16 comments

[ 2.6 ms ] story [ 50.7 ms ] thread
Did you already work with any another programming language (are you beginner)? And which problems do you want to solve? Without answering these questions, there's no chance that you get a helpful answer.
Ok, you are now answering the first question. What about my second?

Are you actually engaging with the users who reply to your question?

Sorry for the late reply. My work has been mostly business applications and web site backend stuff, and I am happy to continue doing it. But I also like to learn native mobile app development (bothe iOS and Android) to expand my skillset.
If you want to go mobile, then golang is obviously out. If you choose between iOS and Android, then I suggest to start with iOS first. It's much easier to learn because it's not fragmented and thus results in a simpler platform API. This said, go with Swift for iOS. It's great and also very similar to Kotlin. I have programmed years with both besides many other languages. I however believe that platform independent programming tools such as React Native will become more important in the future. Still it helps a lot knowing native programming itself. I personally enjoy developing for devices the users can touch. If that's the case for you, too, get involved with iOS programming next.
Or dart and flutter - all 4 being supposed first class citizens at Google.

My personal philosophy has been to solve/implement the issue at hand using a language that I consider to have "native" proficiency. Because, the list of languages propping up claiming to be the next best thing is large: 1. Kotlin 2. Go 3. Dart/flutter 4. Rust 5. Swift 6. Scala 7. Haskell 8. F#

The advent of llvm has drastically cut down the time to market for new languages. I'm certain a few more will get added to this list soon, so just get the job done following best practices and without incurring technical debt. This will make your work language proof

I do recommend you should learn both to help you gain experience to tackle different problems, many workplaces lack programmers of those experiences. It's like a triathlon that we aren't made to learn only one language.

Likewise, I like the concept to encourage learning 8 languages rather than 2.

https://www.kickstarter.com/projects/834569564/codescontext-...

(comment deleted)
What are you looking to do with said new language?
will mostly be business applications and web site backend stuff. Also I would like to learn native mobile app development to expand my skillset.
(comment deleted)
RE Java/JVM just try Clojure for a bit... it's really rather good.

Otherwise, do Go. Really useful for high performance. Channels are easy as pie for concurrency. Web services, command line tools, etc; lovely. Downside is that it's verbose and if you hate loops then there's no salvation for you.

If you worked extensively in Java, you will find Golang really easier to pickup.
Why you do not like Java? Does Kotlin solve some of those problems?