3 ms·
This article is most likely written by someone who does not like Kotlin but has to live with the fact that he has to use it. Let's see some invalid points: > I
by edem 9y ago
This article is most likely written by someone who does not like Kotlin but has to live with the fact that he has to use it. Let's see some invalid points:
> If you’re going to use Kotlin in your code base, you’ll need to teach almost every developer on your team how to use it.
Not true. Java and Kotlin can be used on the same project and Kotlin also has seamless Java interop. If you don't want to write Kotlin you don't have to. It is also easy to read for other devs so readibility is not an issue.
Then the writer goes on and on how the velocity is affected by learning Kotlin but misses the point: you don't have to burn any bridges by using it.
> When I realized very few developers actually saw the developer velocity gain, I was left with a bit of a, “so what’s the point” feeling.
Then the op should question the capabilities of his developers. I came from a Java background and after several weeks of Kotlin exposure my productivity skyrocketed. It helps if you have some FP background but you can learn it on the way. Currently the whole team writes Kotlin code and looking back at previous sprints I can say that the velocity increased by a double digit percentage.
> Kotlin accounts for about 25 percent of our clean build time and 40 percent of our incremental build time.
Then the op has some serious Gradle configuration problems. We also had this then tweaked Gradle (upped the version, started using parallel builds, etc) and now the difference is minimal. You are also better off with tools like JRebel even if you work with Java.
> Not being familiar with Kotlin, the developer immediately assumed Kotlin was causing the problem and lost time investigating what was a simple fix. This “weirdness” combined with the actual stability issues means there’s significant maintenance time lost.
I've been using Kotlin for more than a year and I only had a single stability issue (and it was an IDEA plugin problem). Kotlin works amazingly well with other libraries and after using it for several months I felt that I never want to go back to Java.
Maybe the op's issues are with the Android ecosystem or a bad development team, and not with Kotlin itself since we use it on the backend and we don't see the problems mentioned in the article.
The only valid point I've seen in the article is the lack of static analysis tools and as the article states it will get better.
- bsder 9y ago> Not true. Java and Kotlin can be used on the same project and Kotlin also has seamless Java interop. If you don't want to write Kotlin you don't have to. It is also easy to read for other devs so readibility is not an issue. Until you have to trace a bug through both codebases. Dual interop codebases never work. A computer language simply takes up too much mental space to know even one language well and stay up-to-date on it. Yes, I know there are exceptions, but I have yet to actually meet and work with one.
- edem 9y agoNot true. Our codebase is java/kotlin and it works.
- gleenn 9y agoI'm not against Kotlin, but seemless interoperability and the ability to have both in the same codebase simultaneously does not, in general, mean you can have a lot of your devs skip learning it. In fact, in my experience, projects that were using two interopable languages meant you had to be a lot more of an expert in both. The cognitive overhead of flipping back and forth when just switching files was painful because the two languages were just similar enough. If you had some very silo's portion of the code that you could leave your Java people on, then it's possible, I've just never seen that in practice.