Thread created automatically to discuss a document in CD-Media.
Kotlin for FRC Robot Programming by: Redrield
Overview of reasons to consider the Kotlin programming language for use in FRC
I’ve seen a lot of interest towards using Kotlin rather than Java or C++ for programming robots. This paper outlines some of the features that Kotlin provides, and some reasons why it is a strong contender, should a team wish to switch.
Kotlin looks like a good language to start working in. I was always a fan of C++ and Java though.
C++ and Java are widely used in the industry, so having teams program in them is great practice and experience.
Kotlin is not widely use, although it is gaining momentum, I know of many companies using it, including Android.
Time will tell. Hopefully it doesn’t become a Python where you’re ‘that team’ that codes in python. I’d like to see it used and it has a lot of features I wish other languages had!
I’ll put in another 2c for Kotlin. To me it’s like the best parts of Python (first-class functions, lambdas, little convenience things like joining arrays) without the worst parts* (duck typing, slow-ness, poor multithreading).
I haven’t used it on a robot yet and unfortunately I probably won’t be able to for a while, but I’m working on a sizable project using Kotlin and I can see the appeal.
Java’s getting better about a lot of these things as well (I’ve spent a lot of time recently with Java lambdas/FCF) and I’ll still be using Python when I need to do some data analysis or whatever, but for sizable projects, I think Kotlin’s the way to go.
We made the switch to Kotlin after the 2017 season, and boy has it been a fantastic change. It has helped our code become better organized, easier to follow and (most importantly) more fun to write. Maybe I’ve just got something against Java, but writing code in Kotlin is drastically nicer than Java, and all programmers on my team would agree.
Also, now that Gradle is the official build system, there’s really nothing preventing anyone from at least trying it out. If you’re reading this and haven’t tried out Kotlin yet, give it a shot!