
Android now supports Kotlin - JOfferijns
https://venturebeat.com/2017/05/17/android-now-supports-the-kotlin-programming-language/
======
tomc1985
Funny, I was messing around with Kotlin for the first time last night. So far,
the language seems well-structured and I really like that one gets all of
Java's ecosystem without actually having to write java. (Also, "override fun"
just sounds hilarious. Bwaha!)

Throw in TornadoFX and Gluon Scene Builder (formerly of Oracle) and you're
spinning up high-quality cross-platform GUIs faster than Atom, with a visual
editor, and without having to touch Javascript!

I've been trying to find a suitable, high-quality cross-platform GUI kit for a
while and this looks like it might challenge my current favorite (GTK)

~~~
deskamess
New to Kotlin + ecosystem... So can you build Android UI's with Scene Builder?
I see notes about it working with Gluon Mobile which appears to be a cross
platform mobile library.

~~~
bitmapbrother
No, Android does not support JavaFX or Swing for that matter.

~~~
tomc1985
From what I've read the open-source bits of Gluon Mobile are available for
free via JavaFXPorts

[http://gluonhq.com/products/mobile/javafxports/get/](http://gluonhq.com/products/mobile/javafxports/get/)
<\-- android, iOS, ARM

However it seems to be a barebones solution as it lacks mobile-specific
controls (they want you to buy Gluon Mobile for that)

------
Ciantic
Post in JetBrains/Kotlin blog:

[https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-
android-...](https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-
official/)

~~~
behnamoh
I really wished they would choose Swift. It's open source now, and many
developers would definitely enjoy having to learn only one programming
language for developing native apps.

Unfortunately, corporate policies and hubris matter more in these things.

~~~
oakesm9
And the massive technical undertaking of making the Android framework work
with a none Java interoperable language?

Kotlin was already mostly working with Android thanks to a community effort.
This announcement just gives it Google's blessing and gives you all the Kotlin
tools by default in Android Studio. Going forward they'll likely be working
closely with the Kotlin developers, but this was primarily community driven.

------
geodel
Well this looks like going to push Kotlin in big league. I remember scala
enthusiasts made big noise in last few years to have scala as officially
supported language. But Google seems to prefer a closer relationship with
Jetbrains.

~~~
izacus
The newest version of Scala (2.12) requires a JVM with Java 8 feature
compatibility which makes it unusable on Android devices. Google would
literally be stuck supporting an obsolete version of a language that's not
developed... or restrict the use of it only to Android O and newer making it
dead on arrival.

Kotlin compiler generates code that's runnable on JVMs supporting Java 6,
which makes it work on pretty much any Android device, even running older
Androids.

Scala standard library is also huge and pretty much immediately hits the 64K
method limit of DEX files forcing you to use the very slow proguard
compilation step when running it. It also has issues with interoperability
with existing Java 6 code.

All in all, Scala is a terrible value proposition in comparison to Kotlin
which was built from ground up to modernize programming while still keeping
full compatibility with Java 6 code and JVMs stuck on Java 6 language level.

~~~
hyperpallium
Bit of an aside, but is the Kotlin compiler itself runnable on JVMs supporting
Java 6? So you could compile on an Android device.

~~~
brad0
It's supported all the way down to java 6.

------
maaaats
What does it mean being "supported", given that one already can use Kotlin on
Android?

~~~
pjmlp
It means:

\- being documented on
[https://developers.google.com](https://developers.google.com)

\- being installed by default with the SDK

\- having official tutorials provided by the Android team using Kotlin

\- having code samples provided by the Android team using Kotlin

Providing the confidence to many companies out there that Google will not
change Android in a way that Kotlin compiled applications would stop working.

~~~
ehsankia
Right, the title of the article is pretty awful and misleading. The language
used at the conference was "Kotlin is now a first-class supported language".
First-class supported means it gets all the treatments you mentioned above,
and probably better tooling by Google for development.

------
dep_b
Good move. Out with possible null pointers everywhere for no freaking reason
at all. It's 2017.

Apple did a great job with Swift but launched it when it wasn't mature yet but
Kotlin will have JetBrains level of IDE support from the get go so and it's
mature already only a luddite would stay with Java.

~~~
melling
Apple released Swift early (June 2014) so that it could be used in real
programs, and so that developers could provide feedback. You weren't, and
still aren't, forced to use it. Although, it seems to have matured enough in 3
years to the point where it's probably the best iOS development language.

Kotlin was released in 2011. I bet that if Google had adopted it three years
ago, it would have helped accelerate Kotlin adoption and Kotlin would be even
further along today, having a much larger developer community.

~~~
johnnycerberus
Kotlin was released on 15 February 2016.[0]

[0]
[https://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-release...](https://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-released-
pragmatic-language-for-jvm-and-android/)

~~~
melling
It went 1.0 last year. It was in development for 5 years, and some people did
adopt it for Android development before 1.0

[https://en.wikipedia.org/wiki/Kotlin_(programming_language)](https://en.wikipedia.org/wiki/Kotlin_\(programming_language\))

Anyway, that's my point. Apple iterated Swift quickly in 3 years, and Swift is
a very nice language now. Some sort of support, or even acknowledgement, from
Google could have accelerated Kotlin.

~~~
hocuspocus
Given that most developers still complain about the state of Swift and its
tooling I'm not sure Google's approach is wrong here. Most serious Android
developers have been aware about Kotlin for a while, and today it's mature
enough to be openly endorsed by Google.

~~~
dep_b
Right. Swift might be done in version 4.0. Or even 5.0. No ABI stability for
example so you're always shipping up to 10MB of Swift runtimes with your app,
which is still a considered a lot for a mobile app unless you work at
Facebook. The constant IDE crashes are gone luckily but sometimes compiling
gets reaaallllyyyy slllooowwwwww all of a sudden just when your product hits a
certain critical complexity.

Seems that automatic type inference is something that's really nice for one
page programs but explodes in complexity for the compiler once you start to do
it in big programs with complex structures (nested dictionaries) or methods
(like chaining flatMap with filter with join).

I'm trying to work with R.Swift and IBAnalyzer nowadays to have a 100% "if it
compiles it doesn't crash" solution even while using Storyboards and that
alone increases my productivity more than any left over annoyances at the
moment might decrease.

Swift 1.x was horrible though. I had to pick up a project left half finished
by a junior to finish it. What a nightmare. Every new Xcode point release
broke _everything_

------
mangoman
This is pretty big. I really like Kotlin, but when I tried to integrate it
into my app, it just didn't play well with popular libraries which rely on
compile time code generation (Google's Dagger fork, Icepick, Parcels, etc).
Has support for this improved / is it easy to integrate?

~~~
on_and_off
I have a project with Kotlin + Dagger + DataBinding.

Annotation processing works fine with kotlin.

First setup can be a pain though, especially if you are not familiar with
Android or the gradle build system.

~~~
theWheez
I'm hopeful that with official support this process will become smoother

~~~
on_and_off
It was rough because I had to write the script myself (one year ago). You need
to know some things that are not obvious at first glance, like the fact that
the databinding compiler is versioned with the android plugin for gradle.

Nowadays, you can just copy paste it from an existing github project.

------
maxpert
Finally!!! JetBrains has been doing an awesome job on Kotlin. Languages is a
very subjective and taste specific thing, but it's way better than just having
Java. Anyhow I have been arguing over moving to it for quite some time now
here is a shameless plug [https://hackernoon.com/in-pursuit-of-better-jvm-
futures-kotl...](https://hackernoon.com/in-pursuit-of-better-jvm-futures-
kotlin-coroutines-281a79211b09)

------
jorgemf
If you have used kotlin, it seems the obvious move. I am not coming back to
java, unless completely necessary. Kotlin is a great language (and more fun!).

~~~
72deluxe
Out of interest, what is wrong with Java? I found writing Android apps easy
enough using Java. I am from a C++ background, so find all the C# and Java
that I have to write quite simple, so I'd be intrigued to know what was
"wrong" with Java.

Is it worth me looking into Kotlin? I am already halfway through investigating
Swift so it seems the endless task of keeping up to date with new languages
for each platform (keeping up to date with the changes in C++ and the STL is a
mammoth task in itself).

~~~
vbezhenar
There's nothing wrong with Java. It's outdated language by today's standards,
a lot of code which takes 100 lines in Java would take 50 lines in Kotlin (and
if we'll take autogenerated boilerplate getters/setters, it could be
1000->50), but overall Java is fine.

But I still suggest you to look into Kotlin. If you know Java, you won't spend
much time learning it and with awesome IDE support you can be productive in
very short time. You might find that you'll just prefer Kotlin over Java for a
lot of little things which makes coding more enjoyable.

~~~
iamcreasy
Can you elaborate on how Kotlin maintain compatibility with Java?

~~~
vbezhenar
Kotlin can just import and use any Java class. Kotlin doesn't introduce new
strings or collections, so conversions of any kind are not required. Also
Kotlin compiles to Java classes which can be used from Java without any
problems too.

~~~
iamcreasy
So, Kotlin and Java are fully inter-operable without any feature loss?

------
sswezey
This, along with recent Kotlin Native news, lends me to believe Google is
investigating some alternative platforms for replacing their dependence on
Java APIs and removing any possibility of being further hamstrung by Oracle.

~~~
kbumsik
This news sounds quite opposite to me. Although adding a new language is
always a good news but Kotlin won't solve any problems with Oracle, since it
is just another JVM language. This news sounds like Google is going for an
easier way instead of ditching Oracle stuff.

~~~
Entangled
> since it is just another JVM language

Not for long, they're working on Kotlin Native which will make it completely
independent from the JVM and portable to all platforms. Killer.

~~~
geodel
That has no value for Google. If Google wanted to get rid of JVM technology
and idioms on Android then it would be better off with pure native language
like Swift/Rust/Go. They all are quite further away from Javaism. Kotlin's
great value is mostly because it is Java like and run on JVM.

~~~
kuschku
Kotlin supports automated conversion of Java into Kotlin code.

This means you could quickly transform any existing app into a Kotlin Native
app quickly.

~~~
jug
Exactly, this sounds like just the right move to me if you're Google and would
like to see a nice transition period out of the Java dependency, but until
then, also support JVM. I'm sure such a move wouldn't come abruptly. Would be
cool if they could get that strategic move and a more fun/productive language
than Java in the same bang.

------
narrator
Oracle winds up killing another golden goose they aquired from Sun. That's
what they do though. They buy innovative technology companies who have
committed customer bases and then slowly squeeze all the money out of them
until they can migrate off. By then they've aquired another set of victim
customers.

~~~
threeseed
Not sure what you're rambling about.

Java is still and always will be the core language of the JVM. It isn't going
anywhere and the Java team (comprising mostly ex-Sun people) continues to push
the language forward under Oracle's fantastic stewardship. The issue is that
Java is required to be more stable than other languages since it powers so
many production, enterprise system and hence will be slower to innovate.

I have seen no widespread movement to jump from the Java/JVM ship if anything
more and more people are moving towards it because of languages like Scala,
Clojure, Kotlin etc.

~~~
narrator
I think the Oracle/Google lawsuit drove the decision to adopt Kotlin. Now
Google is going to work with JetBrains to develop Kotlin and is going to fork
the GPL JVM probably by not including things like the controversial project
Jigsaw that IBM voted down. Meanwhile, Oracle is stuck with Java, just like
they're stuck with OpenOffice, Hudson, etc.

~~~
izacus
Nah. What drove the decision is that huge swaths of Android development
community already adopted Kotlin and it's trivial to implement it in existing
Android codebases. It's also built by a company with which Google already has
partnership with (IntelliJ built both Kotlin and IDEA IDE which is the base
for Android Studio).

~~~
vickychijwani
Yes, this is the only reason IMO. GP is reading too much into this.

Source: I closely follow all developments in the Android ecosystem, and have
been doing so for over 2 years.

------
MBlume
"To get started with Kotlin, download the Android Studio 3.0 preview, open one
of your existing Java files, and then choose “Convert Java File to Kotlin
File” in the Code menu."

You do not have to install a preview version of Android Studio, you can
install the kotlin plugin in whatever version of AS you're using now. The
change in AS 3.0 is simply that it will ship the plugin by default.

~~~
steedsofwar
It doesn't need to be a preview version of AS. I'm coding with Kotlin on AS
2.3.1 and IntelliJ 16. Just make sure you configure kotlin for the project,
easily done, by creating a kotlin file.

~~~
MBlume
That's what I said =)

------
giarc
Anyone know of good online tutorials for Kotlin? I learned Swift for iOS
development and customers have been asking for an Android version of my app.
Sounds like Kotlin would be a good second language to learn.

~~~
on_and_off
The official docs has the best tutorials I have ever seen for a new language.

1 - skim the language documentation (depending on your familiarity with java,
this will be more or less easy)

2 - download intellij, clone the kotlin koans repo and do these exercices.

After finishing the koans, you will have a good grasp at kotlin's basics.

------
fishywang
I hope this will change Jetbrain's attitude towards supporting Kotlin Android
rules in Bazel (or anything other than gradle). Last time I asked, they are
not very interested[1].

[1] [https://discuss.kotlinlang.org/t/android-support-in-
kotlinc-...](https://discuss.kotlinlang.org/t/android-support-in-kotlinc-
cli/2396)

~~~
vorg
Don't forget you can use Kotlin to write your build files for Gradle (since
Gradle 3.0 was released almost a year ago) which Android Studio auto-completes
100% of the time (rather than 80% of the time as with Apache Groovy). Gradle
3.0 also switched to Kotlin as its "preferred" language for writing addins, so
conceivably you could use the Kotlin language for everything in the Android
build chain.

~~~
fishywang
How would this help people who wants to use Bazel or any other build system
other than Gradle?

~~~
pjmlp
For better or worse, Gradle is the official Android build tool, so why spend
resources in something else?

~~~
kuschku
Because Bazel produces faster, reproducible builds, and can far better combine
native and JVM code.

It’s a huge improvement.

~~~
pjmlp
But isn't part of the Android SDK, Gradle is.

As I learned through the years, anyone that decides to step outside the SDK
tooling accepts the lack of productivity that entails the extra work, making
the unofficial tools fit into the SDK expectations.

So why should JetBrains spend development resources (work time * salary /
hour) into something that isn't a standard tool just to get brownie points?

~~~
kuschku
Because Bazel is partially already supported. Google uses it internally a lot,
and a lot of the Android buildfiles have been / are being migrated step by
step either from Make to Ninja, or from Make to Bazel, long term.

~~~
pjmlp
It isn't neither part of the Android SDK nor NDK, or even supported in Android
Studio, which actually matters to Android _developers_.

Actually the NDK is not even finished migrating from makefiles into CMake, let
alone switching to even something else.

As you describe it is work in progress, not fully done, without any
perspective if it will ever be part of the official SDK.

Also last time I checked AOSP sources where actually slowly being migrated to
GB, the only place where Go is kind of used in Android.

So what is again the business value of supporting an unofficial tool, spending
development resources, just for getting a few brownie points?

------
KingMob
Would be lovely if they officially supported Clojure too.

~~~
on_and_off
Google has chosen to support kotlin because the community has very strongly
pushed in that direction.

I am not too familiar with Clojure, what would it bring us that kotlin (or
java) don't have ?

~~~
Skunkleton
Parenthesis.

And lots of other things too. I just wanted to make a lisp joke. I will see
myself out.

------
amaks
Steve Yegge had this to post about Kotlin:

[http://steve-yegge.blogspot.com/2017/05/why-kotlin-is-
better...](http://steve-yegge.blogspot.com/2017/05/why-kotlin-is-better-than-
whatever-dumb.html)

------
Entangled
I love Kotlin and her twin sister Swift. They're both beautiful and allow you
to code apps for the desktop, server, mobile, watch, TV, IoT, and everything
in between.

They're here to stay and they're a joy to use. Jump on the happy wagon and
join us!

------
nathan_f77
I've avoided writing React Native modules in Swift because I don't want to add
the Swift runtime. It would make my app a lot bigger, and while I love Swift,
I'm fine writing a few lines of code in ObjC.

Will Kotlin add any extra data to an Android app? Does it have it's own
runtime, or does it just compile down to the same bytecode as Java?

If the app size is equivalent to Java, then this is amazing. I love Kotlin,
and will write all of my React Native libraries in it (as soon as there is
some support.)

UPDATE: Looks like the Kotlin runtime is around 859KB. Maybe smaller after
ProGuard? In the grand scheme of things, that's smaller than many web pages.
But it's probably not suitable for an open source library.

I don't think Facebook would rewrite React Native in Kotlin. I've heard that
they might be moving towards C++, so that more code can be shared between the
different platforms.

~~~
vbezhenar
Rewriting React Native with Kotlin would make a lot of sense. Kotlin compiles
to Java bytecode, so you don't need to deal with JavaScript engines,
serialization/deserialization, etc. Kotlin will compile to machine code, so
it'll be supported with iOS with the same advantages. Kotlin performance is
better than JavaScript. Kotlin has async constructions, etc. Kotlin could be
compiled to JavaScript for web apps, so code reuse will work.

The only thing that Kotlin misses is XML Tags inside the language, but they
could be modeled with DSL API.

That said, I don't think that Facebook would rewrite react native. It's an
impossible task and they don't really need it. But I hope that some big player
will replicate react native with Kotlin.

~~~
vickychijwani
> Kotlin compiles to Java bytecode, so you don't need to deal with JavaScript
> engines, serialization/deserialization, etc.

I don't think the GP meant replacing JS with Kotlin, rather they're referring
to implementing React Native modules in Kotlin instead of Java, keeping the JS
part untouched. (As you may know, React Native modules/components require
native implementations before they can be used in JS).

I hope that clears things up a bit!

------
bobsam
Was hoping for golang but this is good too

~~~
mandude
Why haven't they supported Go on android?

~~~
pjmlp
Java, Python and C++ are the actual workhorse languages at Google.

Go doesn't seem to be used that much other than a few known projects like the
stuff that got re-written for YouTube or the download server.

You see this when new Web APIs are released, usually Go isn't part of the
preview SDKs, and on Android all the work done on Go mobile has been done by
people on the Go team or from the community at large.

~~~
bitmapbrother
Dart runs all of their AdSense code. I also believe your information about the
usage of Go at Google is also out of date.

~~~
pjmlp
Dart runs the AdSense code, because the AdSense team rescued the Dart team
when the decision came to them stop being part of Chrome development efforts.

Regarding Go at Google, if you have better sources of information to share
with those living outside Mountain View, it would be very helpful.

~~~
bitmapbrother
I've never heard of the story where the AdSense team _rescued_ the Dart team.
Do you have a citation for this?

~~~
pjmlp
The story as I heard/read somewhere I cannot at this moment recall (InfoQ,
conference networking, Podcast, blog,...), goes like this.

Many of the important devs on the V8 team, like Gilad Bracha, were getting
tired of working on the project and started to look elsewhere for a career
change.

Allowing them to create their own vision what a JavaScript replacement might
look like (aka Dart) motivated them to stay on the team and at Google.

When the Chrome team decided that they wouldn't be merging the Dart VM into
Chrome at all and would rather focus on JavaScript, including their efforts
for adding type annotations to JavaScript, the Dart team was going to be
assigned new tasks.

However in the meantime the AdSense team had started using Dart and they
enjoyed using it quite a lot, so a decision was made to move the Dart team
away from Chrome into supporting the AdSense team as main role.

If this is not true, I would welcome any Googler that knows better, to correct
me.

------
czeidler
Kotlin 1.1 supports coroutines what IHMO makes concurrency in a GUI much
nicer. For example, it has C# like async/await methods; but more flexible...

~~~
pjmlp
So what does it do better than C# 7's async/await?

~~~
czeidler
Its more flexible and customizable, e.g. works with RxJava, CompletableFuture,
JavaFX, Android... Moreover, you have more control where a coroutine is
executed.
[https://kotlinlang.org/docs/reference/coroutines.html](https://kotlinlang.org/docs/reference/coroutines.html)

~~~
pjmlp
Have you by any chance seen that I specifically mentioned version 7 of C#?

Which allows full control how async/await works, kind of like on the upcoming
C++ co-routines, where async/await become syntactic sugar for blessed data
structure.

EDIT: Should have provided the actual information.

The feature as introduced in C# 7 is called "Generalized async return types".

[https://github.com/dotnet/docs/issues/1756](https://github.com/dotnet/docs/issues/1756)

------
mncolinlee
I should note that Kotlin now supports JDK, JS, iOS, and LLVM as backends.
Gradle also announced support for Kotlin. This means you can write your
Android app, iOS app, web browser app, desktop app, and your build scripts --
finally all in the same language.

~~~
virtualwhys
That's a pretty absurd claim, their native implementation is not only
experimental, the GC solution is "unknown". You can't make this stuff up, it
will be years before anyone is writing production IOS apps in Kotlin.

Heck, their JS implementation still generates massive binaries. Targeting the
JVM/Android? Sure, good to go; otherwise the promised land is a long way off.

~~~
ptx
"Unknown"? They have said from the beginning that it uses reference counting
with cycle collection, for example in RELEASE_NOTES.md:

"Currently Kotlin/Native uses reference counting based memory management
scheme with a cycle collection algorithm. Multiple threads could be used, but
no objects shared between threads are allowed."

They have also said that it's pluggable and they might experiment with other
collectors on different platforms, but it's hardly "unknown".

The size of generated JS is definitely a problem at the moment but they're
working on it:

[https://discuss.kotlinlang.org/t/kotlin-js-file-
size/2501/2](https://discuss.kotlinlang.org/t/kotlin-js-file-size/2501/2)

~~~
virtualwhys
The point is that the claim of cross platform everything is wildly unrealistic
at this time. JVM/Android is production ready; javascript, getting there;
native, not even close.

I don't doubt that 2-3 years from now Kotlin will have a cross platform
solution, but to claim so today is borderline delusional. It's understandable
that users are excited, Kotlin's on the verge of bigger things, perhaps even
mainstream level adoption if everything falls into place, but there's a ways
to go before they achieve one-language-to-rule-them-all.

------
hota_mazi
The official tweet:

[https://twitter.com/Android/status/864911929143197696](https://twitter.com/Android/status/864911929143197696)

------
monkmartinez
So where is the best place to learn Kotlin?

I am very interested as Jetbrains is also working on Kotlin to native
translation. [1]

[1][https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-
tech-...](https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-
kotlin-without-a-vm)

~~~
faitswulff
They link to resources at the bottom:

> For more information on getting started with the programming language, check
> out How to start using Kotlin[0] and the Koans tutorial[1].

[0]: This one's actually broken in the article, but:
[https://kotlinlang.org/docs/tutorials/kotlin-
android.html](https://kotlinlang.org/docs/tutorials/kotlin-android.html)

[1]:
[https://kotlinlang.org/docs/tutorials/koans.html](https://kotlinlang.org/docs/tutorials/koans.html)

------
w8rbt
I wonder if Android will ever support Go? Seems Google would want to do this.

~~~
izacus
Go (like other non-JVM languages) doesn't talk to Java APIs well - the JNI
bridge is ugly and adds a severe performance penalty. Short of actually
rewriting Android itself, it's probably not going to happen.

------
rdsubhas
I'm curious to know, just from a general understanding - How much of the
situation changes when Java 9 releases? Will it lead to some features in
Kotlin becoming redundant/unnecessary, some other new features open up in Java
9, grass-is-greener situations, etc?

~~~
V-2
Java 8 won't be supported on Android, at least not on most devices, for a
while still, so I can't see why the release of Java 9 would be a game-changer
all of a sudden

------
agumonkey
Pretty big step up for kotlin. And for programming in general.

------
johnhattan
I'm assuming that this is going to work natively via LLVM, as Kotlin's
original target was JVM bytecode, which should work fine on Android right now.

~~~
dfabulich
Today, Android cross-compiles JVM bytecode to its own non-JVM bytecode; I'd
assume they'll continue using a two-stage approach for Kotlin.

~~~
Skunkleton
Kotlin claims future capability for "Native" applications. I assume that this
is separate from "Android" applications, even if these are compiled to native
instructions.

~~~
theWheez
Correct, they are working on targeting LLVM

------
gigatexal
hey maybe this means we will eventually be able to build apps in other
languages to that target the JVM like Jython (or pure python would be cool).

Eh, I'm moving on from Python so if they never threw the ability to build apps
for android with python that'd be fine, too.

Am I the only one that finds Java's (and Java 8's) syntax fine. I like the
traditional type annotations and perceived verbosity.

------
dmix
Google/Android's answer to Swift?

~~~
thawab
I prefer to think it's an answer to java/oracle.

~~~
giobox
I was curious how this fits in to the bad blood between Google and Oracle over
java, but the 'reporting' I've read on the usual tech sites appears little
more than rehashing the Google press release. Does this help them build a road
away from Java entirely eventually? Could Kotlin eventually provide a route
away from the JVM, especially this Kotlin native stuff on LLVM?

------
adrianlmm
Congratulations to Jetbrains.

------
_sy_
The Instamotor Android app is entirely built using Kotlin.

------
0xFFC
After becoming first officially supported non java language in android now,
All eyes are on kotlin native!

If they can deliver good kotlin native experience, then kotlin is unbeatable

------
skdotdan
Will Google end up buying Jetbrains?

------
ktkization
Where did Groovy go wrong ?

~~~
kuschku
When it was created? Its dynamic types can often cause a headache (as you’ll
notice when working with Grails, for example).

Groovy’s creator famously said that, had he known Scala, he’d never have
invented Groovy.

~~~
vorg
That was 10 years ago. Last year he tweeted "I still love groovy (jenkins
pipelines are so groovy!), java, go, typescript and kotlin. I don't use scala
anymore."[1]

[1]
[https://twitter.com/jstrachan/status/784333918078169088](https://twitter.com/jstrachan/status/784333918078169088)

------
bitmapbrother
Looks like Kotlin will soon be skyrocketing to the top of the TIOBE charts.

~~~
monkmartinez
Disclaimer: I am always looking for that Unicorn. The one that will let me
write my code once and run it on all platforms. I refuse to give up this
quest.

I use Pycharm and have used other Jetbrains IDE's in the past. They make me
soooo very happy to use. That is, I have tried almost every Python IDE and
suped up Vim/Emacs; None of them came close to Pycharm for me. They know cross
platform. Their IDE's are just as bad ass on the macOS as they are on
Windows... again, for me.

They make IDE's for just about everything and I assume they are all of stellar
quality. My assumption, as of about 30 minutes ago, is that Kotlin could be a
great bet for cross platform development in the near, near future. Jetbrains
has every reason for this language to succeed in as many places as possible.
Web, Mobile and Desktop. The fact that it runs on the JVM and compiles to JS
out of the box makes me wonder why I haven't tried it yet.

~~~
oblio
Funnily enough I was also looking for this unicorn recently.

I was aiming for Windows/Linux/Mac/iOS/Android.

In the end the two platform that were closest at the time (summer 2016) were
HTML/Javascript and C#. Or C/C++ with OpenGL for the hardcore (not me!).

The real killer these days is the GUI toolkit. Ideally you'd want a SWT/Wx
type wrapper around native widgets, most likely with a desktop flavor and a
mobile one. Unfortunately nobody's investing in it, I think there's not enough
money to be made. And there's no OSS community for it...

~~~
pritambarhate
Actually, there is an animal exists that runs on
Windows/Linux/Mac/iOS/Android. Unfortunately, it's not as pretty as a Unicorn.
It's an ugly hybrid with lots of raw power. C++ + QT (Qt Quick) + Something
that looks like JS. I have seen one very complicated iOS and Android app made
with QT with very good results. But the programmer was a very good with around
20 years of experience.

------
bedros
why not use llvm as virtual machine instead of JVM assuming backward
compatibility is not an issue.

~~~
nv-vn
Backwards compatibility is an issue when 50% of users aren't even using
Lollipop yet. Also LLVM is no longer an actual VM.

------
0xFFC
Is this official?

Edit: sorry, I completely forgot googleio is today, and i couldn't believe
this kind of news comminng ftom non google domain.

~~~
Twirrim
You'd know the answer if you'd taken the < 1 minute to read the article. It
was mentioned in the opening paragraph.

