Live data from Hacker News

Kotlin Is Better

steve-yegge.blogspot.com

11–20 of 229 posts

Re: Kotlin Is Better

#11
I'm glad to hear Steve Yegge's take on Kotlin. I've played with it some and thought it was quite interesting, and I wouldn't mind doing a project in it sometime. Although I don't use Java much, I'm more into Rails for personal projects, and I'm not about to switch any of them to JVM just to play with Kotlin.

Anyways, I broadly agree with his take that it adds all of the cool toys you could ever want to Java without the difficulty and mental overhead of learning Clojure or Scala. Strong compatibility with the existing Java ecosystem seems like a plus, but I've never dug into it deep enough to notice that.

I did find myself really wanting to know what he figured out to make Android UI programming non-awful though. I've messed with it some, and I don't see how adding in Kotlin would make it much nicer. Maybe he loved Kotlin so much that he was able to forget about the Android UI API.

Re: Kotlin Is Better

#12
post #2

Why my programming languages are smarter than whatever dumb writer that knows nothing about my toolset and my needs is at hand with his trivial cliches.

> whatever dumb writer that knows nothing about my toolset

I consider Steve Yegge to be one of the smartest writers I've ever read on the subject of programming. You might disagree, but I would recommend looking for his previous writing (which I'm not sure is still available). You may find he has a better understanding of your toolset than you presume.

Or possibly not. I personally miss his rants.

Re: Kotlin Is Better

#13
Great article. Slamming android and talking about Russian software. Click bait to boot? Sold.

My only issue is with his comment on swift. Which also sucks. Objective-C is wonderful and delightful. I'm sad to see it losing favor.

Oh well, off to try Kotlin. Maybe I'll finally make an android app... no.

Re: Kotlin Is Better

#14
The only problem with Steve's rant is that he starts out describing his experience with APIs, but then it turns into an issue of better languages.

Presumably Kotlin doesn't wrap the entire Android API with some kind of better API, but most Android API calls would be direct Kotlin->Java calls, so how does Kotlin solve the nasty API issue?

Really, this seems to be another Java critique by Steve. He's also written critiques against typed languages in general, including Scala.

Android's API issues are language independent I think. Compare the design of Guava vs Android, you can make well designed and easy to use Java APIs, it just takes thoughtfulness.

Re: Kotlin Is Better

#15
>And Android has some pretty big red-light APIs. Fragments, for example, are a well-known Flagship Bad API in Android.

Ugh. I left Android development right around Honeycomb - where Fragments were supposed to be the cool way to manage your app and you'd get screen orientation and device screen configuration all for almost free. In practice I found Fragments far more confusing to use than the already complex Activity lifecycle. To hear that 3 years later that everyone may think Fragments were a bad idea doesn't leave me feeling good.

Re: Kotlin Is Better

#16
Does anyone remember when he wrote this?

http://steve-yegge.blogspot.com/2008/06/rhinos-and-tigers.ht...

And in the comments section he got lit up because he was unfamiliar with Haskell/Scala/OCaml type languages...

and here he is 9 years late to the party touting a baby version of these statically typed FP languages. I actually laughed out loud reading this blog post.

Re: Kotlin Is Better

#17

Great article. Slamming android and talking about Russian software. Click bait to boot? Sold. My only issue is with his comment on swift. Which also sucks. Objective-C is wonderful and delightful. I'm sad to see it losing favor. Oh well, off to try Kotlin. Maybe I'll finally make an android app... no.

Hello fellow Obj-C fan. I tried to teach myself Swift much like I taught myself Obj-C. It didn't feel right.

Re: Kotlin Is Better

#18
post #10

Two thoughts. First, I also thought Android programming was horrible at first, but have since come to see it as no worse on average than iOS programming. The only really sucky thing about it IMO is the lack of ability to pass an object to another activity without serializing it (or maybe there is one I don't know about.) But since everything is done with fragments now that's moot anyway. Second, I tried Kotlin and li…

It's hard to pass objects like that because it's a terrible idea. If you can't serialize the object then your state isn't stored and you'll possibly lose that object on a screen rotation and activity restart.

It's a pretty terrible design to couple activity state to the physical orientation of the device.

Re: Kotlin Is Better

#19
Other language built around IDE support: Delphi.

The compiler was built with callbacks to provide code completion; it runs in process, as a DLL, as part of the IDE.

No accident that Hejlsberg also design C#, and innovated further with TypeScript's language server. He wrote the original Turbo Pascal (IDE + Compiler in the same executable) in assembler, so he's been building IDE + language combos all his life.

Re: Kotlin Is Better

#20
I've started to come around on a similar thought recently, after a few years avoiding static typing in python. I've been toying with C# specifically.

C# with visual studio is, I think, the most productive environment I've come across in programming. It's ergonomically sound, straightforward, and the IDE protects me from all sorts of relevant errors. Steve mentioned Intellij is a bit slower than he'd hope typing sometimes. I totally agree with that. I think Visual Studio doesn't quite suffer from that (though I haven't worked on huge projects, and that may well affect it). My main problems with IDEs are twofold: for non-static languages like Python, they're just not very good. Sometimes they do exactly what you need, and 70% of the time they're just totally useless (which is a knock on the programming languages more than the IDEs). The zippiness on reaction to my typing is another huge deal. If it's anything other than instantaneous, then I notice my editor in a negative light. When you pair a tremendous IDE with a good language though, the productivity loss of typing becomes pretty much negligible, and the gains for all the other reasons start to become apparent.

Changing one parameter or type on a class or function to refactor, and then just following the chain of compiler errors, reaching the end, and seeing that everything just works exactly how you want it to was a big eye opener to me.

Definitely going to give kotlin a go some time as well.

Post reply on HN