As a hobbyist who uses programming to enhance productivity and convenience, I'm searching for languages that will remain stable over time. My goal is to learn a language that allows me to write code once without having to constantly update it. Also, I'd like to know which languages or technologies require frequent learning and updates, so I can avoid them. I plan to create personal applications for Android and desktop but prefer to steer clear of web technologies. Any insights on languages that can serve my needs would be appreciated!
5 Answers
C# is also great with strong backwards compatibility. When you update to a new .NET SDK, you can stick with an older language version. That's handy for maintaining legacy code without a complete overhaul.
For longevity, stick with the classic languages like Python, Java, and C—these often adapt and stay relevant without huge changes. On the flip side, avoid anything tied to rapidly evolving ecosystems like JavaScript frameworks, as they require more frequent updates.
Go is a solid choice, especially because it guarantees backwards compatibility. A program written in Go years ago is still compatible today without any modifications. But if you're focusing on Android, Java or Kotlin might serve you better for a smoother experience.
Wow, 2009! It's hard to believe Go is still considered new.
But with that stability, isn’t Go getting bloated over time like C++?
In general, choosing languages with Long Term Support (LTS) versions is crucial. Java has LTS versions, and you might want to avoid non-stable versions. Remember, everything evolves, so you might still need to do some maintenance in the future, but languages with LTS are more reliable.
For Android development, Kotlin is the go-to language since Java has been deprecated for that purpose. Many developers also use Kotlin for desktop applications, so it’s a versatile choice.

Just keep in mind that native libraries can break with C# updates.