4 ms·
I started an open source Android project in Kotlin (https://github.com/dodyg https://github.com/dodyg) three years ago so I have witnessed the language evolutio
by dodyg 11y ago
I started an open source Android project in Kotlin (https://github.com/dodyg https://github.com/dodyg) three years ago so I have witnessed the language evolution from early on.
This is what I love about Kotlin:
- It is IMHO the best language to develop native application in Android by far.
- I was primarily a C# developer (still now) and I could pick up the language in a day. The language is quite small for people that has already known a programming language.
- JetBrains is taking their time to get the language right. There is no 'swift syndrome' here.
- They are really serious about the Java 100% compatibility.
- The IDE support is world class.
- It is a really pleasant language to use.
- JetBrains is actually using the language for their own products.
- The community is friendly and the language designers are approachable.
- You can really mix and match Java and Kotlin code in the same project. You don't have to use it only in a green field projects.
- octocoupler 11y agoWhat is the 'swift syndrome'?
- msie 11y agoFor me, the swift language is becoming dangerously like Scala. It's becoming a really large language syntax-wise. Trying to incorporate too many features.
- uknj 11y agoI would imagine based on the context of the sentence, that as JetBrains are taking their time with the language, they aren't rushing through developing it further and making mistakes etc. But I could be wrong.
- y4mi 11y agoprobably hyping the language beyond reason, despite it being an unfinished product at that time. but the hype was mostly done by the apple disciples iirc, so it might be a little unfair to hold that against the language.
- J0-onas 11y agoIm guessing making somwhat radical decision that are not backwards compatible. However, Python 2/3 is a better example for breaking backwards compatibility.
- DennisP 11y agoI just started learning Swift, and I keep running into stackoverflow answers saying "Here's how it worked in 1.0. In 1.2 you have to do this instead. But in 2.0 you do it this other way."
- dodyg 11y agoSwift was developed in secret and launched to unsuspecting public in near 'complete' status in 2014 then a 1.2 version quickly followed. Now it is version 2.0 after one year of launch. That is some serious version inflation. Kotlin was developed in the open from much of its development and you can see how the language evolves based on the feedback of early adopters. There is no rush to 1.0 until they feel they got the right mix of features. I just think the way Jetbrains approached the development of the language is more responsible and it bodes well for future iteration of the language.
- iamcreasy 11y agoWhen you say "Java 100% compatibility", does it mean you can rename a .java to .kotlin and kotlin compile would never complain?
- michel-slm 11y agoYou can mix and match Java files and Kotlin files in the same project without a problem. Also, for any Java file you can ask IDEA's Kotlin plugin to automatically convert it to Kotlin for you, and likewise if you cut-and-paste Java code into a Kotlin file it will ask if you want to rewrite that code block.
- talloaktrees 11y agoI think more importantly. You can interact with any Kotlin class from Java, and vice versa.
- mahmoudimus 11y agoKotlin's tooling for Java interop should go down in the textbooks as the prime standard for how to ease a programming language built for a run-time to mainstream adoption. It's just phenomenal. Not that Kotlin is introducing anything like this, but, I wonder if this sets a precedent going forward for popular programming tooling vendors to evolve as the primary distribution point for introducing new programming language research and paradigms to the industry.
- vickychijwani 11y agoCan you elaborate on what Kotlin doesn't get right? Surely there's something. Just trying to get a more balanced perspective here.
- joshburgess 11y agoAs someone who knows C# & JavaScript well and has been occasionally playing around with Go, I think you've convinced me to give Kotlin a try for some Android development. Hopefully it's as easy to pick up as you say. It's been quite a while since I've done much of anything with Java.