8 ms·
Probably the most promising language on the JVM in my opinion, one that stands a reasonable chance to see wider adoption than the faltering and overly complex S
by laureny 13y ago
Probably the most promising language on the JVM in my opinion, one that stands a reasonable chance to see wider adoption than the faltering and overly complex Scala.
Kotlin feels like an incremental improvement over Java that I can wrap my head around and it comes with stellar IDE support right out of the box.
I hope they release a 1.0 soon so we can see if it gains traction, but it will be challenging, because Java certainly seems invincible right now, and probably for years to come thanks to the imminent Java 8.
- pron 13y agoI absolutely agree. I can see my future projects being written either entirely in Kotlin or in a combination of Kotlin and Clojure. Kotlin is a very practical, well thought-out language, that was designed with the right approach re language features: if in doubt, leave it out. The result is simple, modern and powerful, with – and this one is extremely important – top notch Java integration. It is extremely easy to integrate Java and Kotlin in the same project, and easy enough to go back to Java if Kotlin doesn't catch on. Kotlin is very easy for Java developers to learn, and easy to read and understand if they haven't learned it. It feels very unobtrusive when introduced into a Java project.
- qwerta 13y ago>one that stands a reasonable chance to see wider adoption t Not just compared to Scala but any other language. I actually think Kotlin is more similar to Groovy than Scala. Sure the facade is veri similar, but the philosophy and internals are very different. Also founders of Groovy and Groovy++ (statically typed) are involved in Kotlin development. Most of Scala was created by postdoc and students. Kotlin was created by java company who want to scratch their own itch. I especially like that Kotlin is 100% compatible with Java. I think best trick in language design is how Kotlin interacts and adds new features into legacy Java codebase. For example it introduces 'immutable collections' into existing Java Collection hierarchy without modifications.
- seanmcdirmid 13y ago> Most of Scala was created by postdoc and students. Kotlin was created by java company who want to scratch their own itch. Even though the students and postdocs definitely contributed, it is still probably accurate to say most of Scala was created by Martin Odersky.
- eli_gottlieb 13y agoNow now, you're ruining our anti-academic passion play! Next you'll be telling the industry weenies that they learned from professors once!
- seanmcdirmid 13y agoWell, Martin is more like a great PL designer and coding machine (most of the core scalac is his code) who also just happens to be a professor in his spare time (when he isn't working on Scala).
- qwerta 13y agoI did not meant it in a negative way, just to illustrate differences in language. Kotlin is an industrial language designed to interact with and enhance large java code-bases. Scala is more like ecosystem on its own.
- ebiester 13y agoI've heard that from a few people, but nobody is willing to stick their neck on the line and actually try it for a project. And is Kara better than (for example) Grails? Are we going to be stuck writing Spring MVC?
- hhariri 13y agoMaybe it doesn't count, but at JetBrains we're using it both internally and in a successful product such as WebStorm and IntelliJ. LiveEdit is in fact written in Kotlin. Also, I've written Wasabi (Sinatra/Express like framework) and am using it on a project. http://github.com/hhariri/wasabi http://github.com/hhariri/wasabi I also know of quite a few people using it already.
- pron 13y agoI'm going to use Kotlin in a project as soon as it reaches 1.0.
- camus2 13y agoSaying that scala is complex is like saying lisp is complex just because you cant read it. Scala has very little syntactic rules. Of course if you dont take the time to learn them , you are not going to understand the language.
- laureny 13y ago> Scala has very little syntactic rules There are a lot of counter examples to this claim but just to keep this short, I'll go along with your claim. A downside of this is heavy overload of keywords/symbols. For example, last time I checked, the underscore (_) has six different meanings depending on where it's used. The number of syntactic rules is not a good way to judge whether a language is difficult to read, otherwise, Brainfuck would be the most readable language on the planet.
- camus2 13y ago> the underscore (_) has six different meanings depending on where it's used. no it has not ,it always express some kind of default behavior. just like ! in ruby method means mutation or ? means it returns a boolean. > The number of syntactic rules is not a good way to judge whether a language is difficult to read, otherwise, Brainfuck would be the most readable language on the planet. But we are not talking about Brainfuck.
- laureny 13y ago> > the underscore (_) has six different meanings depending on where it's used. > no it has not ,it always express some kind of default parameter. You might want to refrain from commenting on a topic you don't seem to know much about. I was wrong when I said "six", it looks like the number is up to eleven today. Here is a short list: - Existential types - Higher kinded type parameters - Ignored variables - Ignored parameters - Wildcard patterns - Wildcard imports - Hiding imports - Joining letters to punctuation - Assignment operators - Placeholder syntax - Partially applied functions More details: http://stackoverflow.com/questions/8000903/what-are-all-the-uses-of-an-underscore-in-scala http://stackoverflow.com/questions/8000903/what-are-all-the-...
- trurl 13y agoWithout any kind of support for algebraic datatypes or case classes it isn't viable replacement for Scala.
- tootie 13y agoLack of support for algebraic data types sunk my last project said no one ever.
- trurl 13y agoThen apparently you've never used them properly. Just this last week I was converting some our legacy Java visitors over to case classes and wound up with 2-4x reductions in code size. That's nothing to scoff at.
- trurl 13y agoI should perhaps also say that I don't deny Scala could use some simplification, but there are plenty of tangible benefits to algebraic datatypes and they don't require knowing anything about fancy types (unless you want GADTs) or complex implicit conversions.
- Randgalt 13y agoThe reply of the year!!!!
- TylerE 13y agoLack of memory safety never sank any project - C Programmer
- sixbrx 13y agoI'm pretty sure npe's - the hallmark of languages without adt's have done a great deal of damage - Hoares billion dollar mistake.
- deleted 13y ago[deleted]
- konstruktor 13y agoIt is what I have been waiting for for years: A C# for the JVM, i.e. a very expressive language with a well thought out type system that allows using some functional idioms.
- kenbot 13y agoHow is Scala faltering?