5 ms·
Kotlin is one of those things that I avoided learning for so long just because I didn't want to learn another new thing. And one day I had to work on a project
by Crazyontap 6y ago
Kotlin is one of those things that I avoided learning for so long just because I didn't want to learn another new thing.
And one day I had to work on a project that was 100% kotlin and so i decided to do a 3 hour crash course on Youtube (actually watched it at 3x speed so it was really 1 hour) and once I grasped the basics it really made so much sense and I don't think I'm ever going back to writing Java classes anymore after having seen the light.
Same happened with xpath long back. So long I resisted learning it because CSS selectors did the job but once I reluctantly learned it it changes your whole way of thinking.
I think my fear of learning new things comes from coffeescript, something that actually had a negative impact and I would have better off not learning it which also made me scared of learning new technologies.
- amval 6y agoWhy do you feel like that about Coffeescript?
- agumonkey 6y agoyeah i'm surprised too, cs wasn't the holy grail but it was a good improvement over es5 at the time.. it really made writing code different
- Crazyontap 6y agoI really don't remember it was a long time ago but from what I recall there was just too much magic happening and things would break a lot of times because it was easy to make mistakes with it. Come to think of maybe I didn't learn it well enough at that time and blamed it for my silly mistakes. CS did introduce a lot of good things like the fat arrow which was just amazing at that time.
- cutler 6y agoThe thing about Coffeescript is that you don't really gain anything other than syntactic sugar. Compare it to, say, Typescript and Clojurescript where you gain a whole set of features and, with Clojurescript, the semblance of a standard library.
- imagine99 6y agoWould you mind sharing a link to that YouTube crash course? That would be awesome. Thanks.
- Crazyontap 6y agoSure it was this one: https://www.youtube.com/watch?v=H_oGi8uuDpA https://www.youtube.com/watch?v=H_oGi8uuDpA (from history) I guess I remember incorrectly it was 3 hours long. It is only 1hr few minutes and you can easily watch it at 2x speed. But overall Youtube is a great resource for learning new things. If you search Kotlin crash course (filter by duration > 20min) you will find ton of such courses and you can easily judge them by number of likes/dislikes. And make sure to watch it at 3x speed with subs ON initially (video speed controller for chrome). This is truly a great hack when learning tech things via video.
- jpgvm 6y agoJava developers are rightfully conservative and sceptical of "new things". That said I believe Kotlin really provides a strong value proposition over Java. You also don't sacrifice much, there is less tools ofc but enough to get by, performance is equal for the most part etc. Also unlike stuff like CS it has a very strong future with Android backing.
- anta40 6y agoMany years ago, I used to think that Scala was going to be my "next Java". Now, guess it's not Scala, by Kotlin. Why? - First class citizen for Android development. Yes, most of my works is on Android. - Not to foreign compared to Java. In general, Java devs should be able to Kotlin in relatively short time. Not sure about Scala, which is influenced by Haskell/ML etc. At least in my circle, not many folks familiar with functional programming. - Of course now Spring also supports Kotlin :)
- olavgg 6y agoOracle does a really good job improving the Java language. I really don't see any reason for why I should start using Kotlin. I use Groovy when I just need to do something fast without all the boilerplate code. But for 95% of the business problems, plain old Java is exactly what I need. For anything else, its Rust, Python, Javascript that shines in each of their category.
- pdpi 6y agoOracle is doing a good job adding features to Java to keep up with modern languages, but it’s not just about adding — some things need to be removed or changed. By way of example: Final classes by default with an open keyword instead of open by default with a final keyword. Inheritance is a very tricky thing to get right and it’s better to explicitly say “I thought about this and put in the effort to make it work”. Checked exceptions are a contentious topic and I’m not sure which choice I prefer, but Kotlin chose to remove that, and it has an impact on style.
- mpweiher 6y ago
- joseluisq 6y agoFrom my modest experience with Kotlin few months ago in a small Android project for learning purposes. I can just say that the language resulted very expressive, concise and easy to use for me. Coming from other languages (Go, Rust, C#, JS, PHP among others) but doing almost no Java in the past, I was able to getting started with that Android project few weeks later after have been passed across Kotlin's docs https://kotlinlang.org/docs/home.html https://kotlinlang.org/docs/home.html So basically I can confirm "Android’s Kotlin-first approach" https://developer.android.com/kotlin/first https://developer.android.com/kotlin/first
- cutler 6y agoTry Clojure after which there's definitely no going back.
- blacktriangle 6y agoCompletely different motivations, and I suspect Kotlin is a reason that Clojure and Scala seem to be losing much of their initial steam. Clojure offers Lisp on the JVM, but what most people really wanted was a fixed Java. That's exactly what Kotlin delivers. Clojure has decent Java interop, but there's a serious impedance mismatch working with native Clojure and Java libs. Kotlin otoh dogmatically sticks to Java's model of programming, just a cleaned up version.
- fulafel 6y agoIME many Clojure programmers come from non-Java backgrounds and aren't looking for a Java like experience. So I can believe the "more better Java" audience probably heads for Kotlin today. I think this is a win for both the Clojure and Kotlin communities and developer cultures. To inject some time perspective, Clojure is 14 years old, so it's not too bad to be moving from initial steam to young-adulthood steam now :)