Hi, I'm Tomek.

I'm a software engineer and I solve problems by (not) writing Clojure. You can find me as @_tomekw on Twitter, @tomekw on Mastodon, or @tomekw on Github. I write (mostly) about programming.

The programming language I want (part 2)

Jun 20, 2018

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 are 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.

Do you like what to see here?

Consider subscribing to my newsletter. Get helpful guides, articles, and projects announcements. Low traffic, no spam.

Or subscribe to my Atom feed.