Google apps
Main menu

Post a Comment On: Stevey's Blog Rants

"Why Kotlin Is Better Than Whatever Dumb Language You're Using"

36 Comments -

1 – 36 of 36
Blogger Unknown said...

I've also ended up using Emacs along side Jetbrains IDEs (PyCharm & Webstorm). It is an odd combo but it works great. Emacs for mind-control level text editing, and the IDE works great for mouse-oriented poking around and small edits.

2:40 PM, May 17, 2017

Blogger Cedric said...

Welcome back, Steve, we've missed you :-)

3:38 PM, May 17, 2017

Blogger Alessandro said...

Great post!

Good to see a new post by you Steve ;)

5:30 PM, May 17, 2017

Blogger Unknown said...

I love C# and have been really disappointed to see how far behind Java has fallen, especially as my work tends more towards the JVM. Kotlin looks very interesting!

5:46 PM, May 17, 2017

Blogger Matthew Ickstadt said...

Great article! JetBrains is Czech, BTW.

6:05 PM, May 17, 2017

Blogger Tor Norbye said...

Re the name: Java was named after an island, and so is Kotlin - an island near St. Petersburg where JetBrains have offices.

7:05 PM, May 17, 2017

Blogger Unknown said...

Good rant!

BTW, JetBrains is not really Czech. Yes, it is incorporated in Prague, but it is physically in St. Petersburg, and pretty much all the management and the devs are Russian. Most of the people graduated from the SP University.

On the name. Java the language is named by Java the island. Kotlin is the island in the Gulf of Finland off St. Petersburg. Peter the Great took it from Swedes in the early XVIII century, and since then it's been the base of the Russian Baltic Fleet. It's actually has some kind of northern monumental beauty. The Naval Temple is pretty impressive.

So here you go, Kotlin is your "Java" from St. Petersburg.

Our company (from Atlanta, GA) tried different JVM languages, Java being the primary one. Now we pretty much converged on Kotlin. Everybody likes it a lot. And, interop with Java is smooth.

Kotlin also compiles to JS, and, it's worth mentioning that Kotlin Native is in very active development. It looks to become a very strong competitor to the likes of Rust.

7:13 PM, May 17, 2017

Blogger campers said...

I'm enjoying Kotlin too and was pleased to see today that Google announced support for Kotlin in Android!
https://venturebeat.com/2017/05/17/android-now-supports-the-kotlin-programming-language/

7:18 PM, May 17, 2017

Blogger Passport Photo Online said...

Thank you for this brilliant write-up, Steve! I have just started building apps for iOS and almost given up on Android. I will surely get my hands wet with Kotlin to see if it brings back the charm of developing for android.

8:32 PM, May 17, 2017

Blogger Melbourne said...

Languages designed with IDE's:
Almost any version of BASIC
Turbo Pascal 3
C

Yes, C. not a very good IDE perhaps (the conceptual parent of ECLIPSE), but unix was 'the C programming environment'. You could compile, edit, run, from right there in the Integrated Design Environment. (BASIC was better of course, and eventually evolved into Visual Studio).

8:41 PM, May 17, 2017

Blogger elves said...

Ah, can I interest you in a little cross-platform Swift?

Scade is going through some painful adolescence at the moment, acne and other changes. It also has a Slack nexus, which attracts a fair number of people wanting to write a sports car and house's worth of game without really knowing what goes into e2e goodness.

Anyway, you've convinced me to look at Kotlin seriously. And pedal to the metal version, too.

10:47 PM, May 17, 2017

Blogger Unknown said...

Designed with/for an IDE: Smalltalk.

12:58 AM, May 18, 2017

Blogger Steve Yegge said...

How could I have forgotten Smalltalk? Embarrassing. But it just goes to show how impactful IDE-first languages can be. Generations of languages are indebted to Smalltalk.

Heya Cedric, heya Tor. :) We need to start a Kotlin blogstorm.

1:55 AM, May 18, 2017

Blogger Unknown said...

No doubt Kotlin is better than Java (hell, ANYTHING would be better than Java for Android dev). I used to think I was just being a whiny baby for not wanting to do a native Android app because of the verbose and laborious API; glad to know I have some company :-)

However, while I'm not sad that Kotlin got adopted I still remain hopeful that Groovy will be given the nod next year as well. I cannot deny that I've had a heaping mountain of fun using Groovy for the greater part of a year and I don't want to leave it for anything.

4:55 AM, May 18, 2017

Anonymous Anonymous said...

Kotlin predates Swift?

From Wikipedia:

July 2011 JetBrains unveiled Project Kotlin, a new language for the JVM, which had been under development for a year.

Development of Swift started on July 2010 by Chris Lattner, with the eventual collaboration of many other programmers at Apple. Swift took language ideas "from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list".

[1] https://en.wikipedia.org/wiki/Kotlin_(programming_language)#History

{2] https://en.wikipedia.org/wiki/Swift_(programming_language)#History

5:57 AM, May 18, 2017

Blogger Daniel Jomphe said...

"IntelliJ doesn't like it when you type fast. Its completions can't keep up and you wind up with half-identifiers everywhere."

As the Emacs config guru that you are, I'm half-surprised to see you didn't tick that feature off of IntelliJ's config.

Preferences -> Editor -> General -> Code Completion -> Autopopup

Or, quicker: C-S-a, then type "autopopup", Enter

BTW it was so nice to read you again :)

6:07 AM, May 18, 2017

Blogger Daniel Jomphe said...

Simpler to remember:

C-S-a
then type: code completion
Enter

6:14 AM, May 18, 2017

Blogger Unknown said...

Hey Steve, have you looked at Nim (nim-lang.org)? Another interesting, clean language for blue collar programmers.

6:41 AM, May 18, 2017

Blogger Unknown said...

Hey steve, what OS are you using these days?

7:08 AM, May 18, 2017

Blogger Cedric said...

Steve: I've been blogging about Kotlin since 2011. Your move :-)

You should drop by in the kotlinlang to say hi!

9:31 AM, May 18, 2017

Blogger antimule said...

If it is 10% more succinct than Jython, how more succinct it is compared to Java then?

10:20 AM, May 18, 2017

Blogger Dmitry said...

"Of course, I always need to switch over to Emacs to get real work done."

I was always wondering about this real work done in emacs. I can understand reading logs in emacs: its regexps+elisp can do magic, but writing code? Of course one can write a real parser like you did for js, but to support multi-file projects with libs one would have to implement an IDE. Things like multiple cursors or editing in a rect-mode are sometimes useful (btw IntelliJ has them too), but usually if one can apply them to the code, then it is possible to extract some logic and edit it in a single place. So what is this real work which is easier to do in emacs?

(emacs-user, touch-typist)

12:32 AM, May 19, 2017

Blogger Tor Norbye said...

+Kafka re: the start date: you're comparing the *public unveiling* date of Kotlin (you can for example see their slides from 2011 here - https://blog.jetbrains.com/kotlin/2011/07/slides-from-the-jvm-language-summit-presentations/) with the *internal start date* of the other project. Kotlin work obviously started earlier than its public unveiling; by July they were demoing IDE support for their language etc.

5:00 PM, May 19, 2017

Blogger Unknown said...

Also, ermagherd, one language might have slightly started before the other, and yet co-evolved into very similar things. Shocker. Who cares which one came first? It's not like they both didn't borrow heavily from their forebears.

6:45 PM, May 19, 2017

Blogger Unknown said...

Steve,

What did you think of Ceylon? I wonder bc it has good Java interop and was designed by good team of JBoss devs who also wanted a better Java.

4:49 PM, May 20, 2017

Blogger May said...

I'm happy to read this article. I love Jetbrains editors and Kotlin gave me a good impression when I used it for a little Android app a few months ago. Kotlin might easily become my favorite language because it's statically typed (something I can't live without) and it features modern syntax without being over complicated like Scala (e.g. implicit parameters, dsl-like syntax) or Swift (e.g. many ways to declare a variable, some objc baggage). I think it reaches the sweet spot, with enough modern features but without getting too fancy.

I don't know if there is another language as interesting as Kotlin, especially now that it's supported by Google. I'm glad Google chose Kotlin and not Swift. I hope I can code iOS apps in Kotlin soon too. I don't like Swift very much. And, by the way, Xcode leaves a lot to be desired. At least I have AppCode.

In other words: I think jetbrains know quite a lot about code so I'm sure Google made the right decision. IntelliJ+Kotlin is much better than Xcode+Swift.

12:21 PM, May 21, 2017

Blogger Ted Hopp said...

Nice article. As far as languages that were designed hand-in-hand with an IDE, the oldest one that comes to mind is SmallTalk-76.

7:28 PM, May 21, 2017

Blogger DevDanke said...

Hi Steve,

I've been a big fan ever since your, "The Next Big Language" blog post in 2007. Since then, I too have been on the lookout for the NBL.

Kotlin is starting to look like it could be the NBL.

Please consider writing a blog post that evaluates Kotlin against the "rules" you wrote in your NBL blog post.

2:12 PM, May 24, 2017

Blogger Unknown said...

Come on DevDanke - JS was the NBL. Steve correctly predicted that, and even wrote about it :)

8:34 AM, May 25, 2017

Comment deleted

This comment has been removed by the author.

11:29 PM, May 28, 2017

Blogger koi seo said...

Thank you for this brilliant write-up, Steve! I have just started building apps for iOS and almost given up on Android


จีคลับ
goldenslot

11:30 PM, May 28, 2017

Blogger Richard Kenneth Eng said...

I hope Kotlin isn't like Swift. People tell me that Swift is like Scala, and Scala is a monstrously complex language. Scala is so complex a language that the compiler compiles at a glacial pace. Scala is notorious for being an almost "write-only" language because its flexibility allows users to do wickedly obscure things.

If Swift is like Scala, I'd stay away from Swift. I hope Kotlin isn't so complex a language.

8:58 PM, May 30, 2017

Blogger untz said...

Great post on Kotlin and also IntelliJ IDEA! By the way, I have had Wyvern installed on my iPhone since January so thanks for the experience (so many different character classes!). Good to see that you've embraced something other than emacs. :-)

Ever thought about posting a new JVM Shootout with some relevant / commonly used present (2015 - now) JVM based languages? JetBrains is going to make Kotlin native so it'll be interesting to see how that pans on in the near future.

Keep on blogging and happy programming to all!

5:25 AM, May 31, 2017

Comment deleted

This comment has been removed by the author.

5:26 AM, May 31, 2017

Blogger Unknown said...

Great post, I's so interesting. Thanks for sharing.

gclub casino
goldenslot casino
บาคาร่าออนไลน์

9:37 PM, June 05, 2017

Blogger EsauCairn said...

@Richard Eng,
This might upset a lot of people, but I would call Kotlin "Scala: The Good Parts". Think of Kotlin as Scala without:

1. Operator overloading of more than one character. Kotlin lets you overload "-" or "+", but you can't make "==?=/\/\$%" into a function call. Scala allows all of it, and some code in the Scala Liftweb framework or SBT build files looks like modem line noise.

2. Implicit function parameters. Hard to reason about when you can't see it right in the call in front of you.

3. Macros. (Arguable whether this is a drawback.)

4. Complex for-comprehensions. (Makes the code harder to read.)

5. Slow compile times. Depending upon what you read, Kotlin compiles at the same speed as Java or maybe up to 20% slower.




8:25 AM, June 08, 2017

You can use some HTML tags, such as <b>, <i>, <a>

This blog does not allow anonymous comments.

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.
Please prove you're not a robot