The programming language I want (part 2)

Tomek Wałkuski
Jun 7, 2017 · 2 min read

The first post, The programming language I want, brought many positive responses! Many of the readers suggested I should take a closer look at three languages that weren’t initially mentioned: Kotlin, Swift, and OCaml.

Indeed, all of them meet majority of the requirements I’ve stated before, but there are certain issues with each of the languages they had to be disqualified, which is, of course, subjective.

Kotlin

Kotlin is almost perfect: it’s statically typed, pragmatic, and allows to seamlessly leverage plethora of existing Java libraries. Also, lately the Android team announced first-class support for Kotlin. This alone almost ensures its adoption will grow, and, eventually, the language will become mainstream.

To me, this is the worst news ever.

As a back-end developer I’m afraid Kotlin’s momentum will shift towards mobile libraries. Few weeks after the announcement, 12 of 25 trending Kotlin repositories on Github is dedicated to Android. It isn’t a bad thing, in general, but this is a big NO from me.

Swift

I’ve to admit I’ve a problem with Swift. It clearly feels like a more high-level Rust. It could be my language of choice. Yet, it’s cursed by the same thing that happened to Kotlin: the platform. Whether we want it or not, as an Objective-C successor, it will be tied to the iOS/macOS development and Apple ecosystem. It has been open-sourced, though, and many believe it’s promise to become truly general-purpose programming language will be delivered.

OCaml

The main problem with OCaml is, I believe, its adoption. It appeared 21 years ago (in 1996), yet, it didn’t get into the mainstream or just gained enough popularity. The job market is weak and limited to trading firms. Maybe that’s just common misconception and I may be mistaken.

Conclusions

For now, I will continue to learn Rust. I hope it will gain enough momentum and its job market will eventually grow beyond 20 offers…

At the same time, I will keep an eye on Swift. I presume the best solution will be to try to pick one of the existing web frameworks and/or to build simple iOS application.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store