DEV Community


Discussion on: What I realised after learning Python, TypeScript and Kotlin

hanpari profile image
Pavel Morava

Well, they all came from C-like families and this is why they share similar traits. In reality, JavaScript is far from Kotlin and Python since it is based on prototype paradigm which is rather alien to these two.

As for Kotlin, it is a fairly new programming language, inspired by C# or Python, and of course aiming at Java developers, so its familiarity is kind of its selling point.

Furthermore, your examples make the reader believe you missed rather important concept of type inference which is common for Typescript, Kotlin, and Python when it comes to its optional static typing.

The crucial differences between these three would be static typing which is implemented differently.

Python is dynamically typed but far from being so sloppy as JavaScript. Its strong typing provides more security.

The next one would be the runtime introspection which is almost impossible in JavaScript since nominal typing is limited to a few basic types, so Typescript suffers from this as well.

Or we can speak about nominal vs structural typing with the former one being natural for Kotlin while the latter one will suit Typescript or Python more.

There is more to say. You observed correctly that programming languages tend to converge, but if you really need to find completely different approaches I would recommend rather Clojure or Haskell since they emerged from different programming language families

andrewbaisden profile image
Andrew Baisden Author

Well that may be true however I did say that I am still learning them so this post was not meant to be a deep dive into all the differences between the 3. Only my current impressions and what I have noticed so far. I am learning them for career progression and to further employment opportunities. If I was doing research then of course I would have chosen different languages to compare 🙂

Also not everyone knows that they came from C-like families only someone who has knowledge in this area would have that information. A beginner who reads this would not know that.