Earlier quoted context omitted.
Perhaps the bigger issue here is fragmentation. Here you are, a young language with a lot of promise whose primary appeal is Java interop and whose target market is enterprise Java and already you're dividing your efforts to offer something which your target market will likely have zero interest in. Why not wait until you have real market share in the job market and only then worry about native? Kotlin is a very nich…
I suspect some combination of 1) It's hard for a new language to get traction. Lower odds that a new startup! They see so many ruby and python shops adding Go to their stack and want to compete in that space. Kotlin's biggest market seems to be android devs and competing with Go puts them in the datacenter. 2) IDEA's IDEs have a better value proposition to devs working with statically typed languages. Appealing to cu…
Kotlin 1.1 Released with JavaScript Support, Coroutines and more
41–50 of 89 posts
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#42Earlier quoted context omitted.
They are working on improving them though, specially with Dotty. In any case they aren't as bad as C++ (at least until modules arrive).
> In any case they aren't as bad as C++ Speaking as a fan of Scala, I find that scalac takes a noticeable amount of time even to compile trivial Hello World-type programs. Huge C++ codebases like Chromium or Boost take ages to compile, but I seriously doubt a comparable Scala codebase would be faster.
Do Scala compilation times get measured in hours?
Just the other day I gave up compiling Cocos2D-X, after it crossed the one hour threshold on my humble dual core, 8GB.
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#43A few weeks ago I wrote the same application four times in four different JVM languages: Java, Groovy, Scala, and Kotlin, with a particular focus on the application using functional techniques and types as well as being reactive. I also included as goals complete test coverage with a preferred test framework from each language and complete build tooling, all within a single Gradle project. The only significant source…
There are many many things that should be valid Scala but are not, due to type check limitation. All kinds of times you should be able to infer the type, but the compiler cannot and you have to start naming types. Not sure this is really a "bug" but more of a wart. Sure is annoying when they happen, but not a "unique" thing to Java8 lambdas by any measure.
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#44Earlier quoted context omitted.
> In any case they aren't as bad as C++ Speaking as a fan of Scala, I find that scalac takes a noticeable amount of time even to compile trivial Hello World-type programs. Huge C++ codebases like Chromium or Boost take ages to compile, but I seriously doubt a comparable Scala codebase would be faster.
I only dabbled a few times in Scala, but I do regularly use C++ on some side projects. Do Scala compilation times get measured in hours? Just the other day I gave up compiling Cocos2D-X, after it crossed the one hour threshold on my humble dual core, 8GB.
But no not hours bad.. but say a 3 minute partial compile for a 1 line change is enough to kill your dev cycle. (Not sure it is 3 minutes bad for most projects these days, but its very hard to have a 2 second Scala compile)
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#45Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#46Why couldn't they have used "func" for functions, like so many languages do, instead of "fun"?
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#47For fun, I've been working on a simple hobby web server in Kotlin that wraps Jetty: https://github.com/danneu/kog I think Kotlin is the statically-typed language I've been waiting for, especially with the team's interest in native and JS targets.
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#48Why couldn't they have used "func" for functions, like so many languages do, instead of "fun"?
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#49Earlier quoted context omitted.
I only dabbled a few times in Scala, but I do regularly use C++ on some side projects. Do Scala compilation times get measured in hours? Just the other day I gave up compiling Cocos2D-X, after it crossed the one hour threshold on my humble dual core, 8GB.
Well Scala programs only get half compiled at command time, the other half is JIT at runtime. But no not hours bad.. but say a 3 minute partial compile for a 1 line change is enough to kill your dev cycle. (Not sure it is 3 minutes bad for most projects these days, but its very hard to have a 2 second Scala compile)
As for C++ compile times, the major culprit are templates. Changing a single line of the implementation of a template requires to recompile all code using that template. Scala does not have this problem, because it has generics for most of the things that C++ templates are used, and generics support separate compilation.
Re: Kotlin 1.1 Released with JavaScript Support, Coroutines and more
#50Earlier quoted context omitted.
> In any case they aren't as bad as C++ Speaking as a fan of Scala, I find that scalac takes a noticeable amount of time even to compile trivial Hello World-type programs. Huge C++ codebases like Chromium or Boost take ages to compile, but I seriously doubt a comparable Scala codebase would be faster.
I only dabbled a few times in Scala, but I do regularly use C++ on some side projects. Do Scala compilation times get measured in hours? Just the other day I gave up compiling Cocos2D-X, after it crossed the one hour threshold on my humble dual core, 8GB.
I think any design for generics that provides the same guarantees as C++ templates (type-safe, resolved at compile-time, value types aren't boxed) is necessarily going to cause long compilation times. The only other implementation I know of that checks all three boxes is Rust's, and so far generic Rust is even slower to compile than templated C++.