Yes you can use it today (and i do).
That said I know from a handful of painful experiences with Scala that lack of compatibility between releases can be seriously painful when you get nested dependencies and unmaintained libraries. I hope there is a roadmap to get to stability and binary compatibility in some kind of reasonable timeframe.
Hi Jayson,
I’ll stick to 770 until M11 is out (as it seems it will be out soon) - thanks for your offer to push out a build - much appreciated!
In the short term, I’d suggest library writers push a new release to maven central for each milestone release (which you’re already doing).
This ensures there’s a compatible version out there with the Kotlin plugin version most users will encounter by default.
In the longer term I doubt such synchronisation will be necessary as Kotlin doesn’t suffer from the same binary incompatibility as Scala (trait linearisation iirc) and ABI versions and the stdlib will stablise.
I have been tracking the latest version “Pushed to Maven”, but will probably move to tracking milestones for library compatibility.
Hopefully milestones will be more regular than M10 to M11 (Andrey suggested they’re aiming for 8 weeks per milestone).
Anwyay, it’s great that Kotlin has reached the point where we’re having this conversation.
Cheers,
Andrew
Why not have statics: they cause creation of classes that are simply containers of statics, and instantiating them makes no sense.
Why companion objects: because classes tend to have associated behavior that is not called on an instances (canonical example: factories), but accesses private members of the class, so top-level functions do not work.