- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
new language "Kotlin" from jetbrains
Maybe I'm the last guy to hear about things (it happens enough) but
there's this language here which looks like a more credible effort to be
a better/simpler scala than most:
http://confluence.jetbrains.net/display/Kotlin/Welcome
The "What Kotlin has that Scala has not" list does read like a list of
things I would not mind having:
http://confluence.jetbrains.net/display/Kotlin/Comparison+to+Scala
It makes me sad to see another whole implementation's worth of effort
being poured into something new -- come on guys, you won't be enough
better than scala. I know everyone wants their own baby, but just
imagine what we might accomplish if we didn't all keep re-running the
same opening mile. The scenery up here on mile two, it's nice, you
should come give it a look.
P.S. First mile is long.










Re: new language "Kotlin" from jetbrains
On Wed, Jul 20, 2011 at 7:16 AM, Jim Powers <jim [at] casapowers [dot] com> wrote:
--
Srirangan | About Blog GitHub LinkedIn Twitter
Re: new language "Kotlin" from jetbrains
I share the lament.
On 20/07/11 09:29, Paul Phillips wrote:
> Maybe I'm the last guy to hear about things (it happens enough) but
> there's this language here which looks like a more credible effort to be
> a better/simpler scala than most:
>
> http://confluence.jetbrains.net/display/Kotlin/Welcome
>
> The "What Kotlin has that Scala has not" list does read like a list of
> things I would not mind having:
>
> http://confluence.jetbrains.net/display/Kotlin/Comparison+to+Scala
>
> It makes me sad to see another whole implementation's worth of effort
> being poured into something new -- come on guys, you won't be enough
> better than scala. I know everyone wants their own baby, but just
> imagine what we might accomplish if we didn't all keep re-running the
> same opening mile. The scenery up here on mile two, it's nice, you
> should come give it a look.
>
> P.S. First mile is long.
Re: new language "Kotlin" from jetbrains
There're other "new" languages. Why not them?
In short:
--Russ P.
On Tue, Jul 19, 2011 at 4:29 PM, Paul Phillips <paulp [at] improving [dot] org> wrote:
--
http://RussP.us
Re: new language "Kotlin" from jetbrains
JetBrains knows a little something about that subject, so their
comment shouldn't be taken lightly.
On the broader issue ... designing new programming languages is all
the rage now, with Go, Vala, Rust, BitC, Closure, Plaid, Agda, Coq,
Nemerle, Kotlin ... some of the reasons for doing so are better than
others, but in any case it's going to continue. Hopefully lessons will
be learned from all these efforts.
Re: new language "Kotlin" from jetbrains
On 20 July 2011 01:03, Jim Balter <Jim [at] balter [dot] name> wrote:
I think today's XKCD might explain some of this http://xkcd.com/927/ :)
Re: new language "Kotlin" from jetbrains
In the same time it underscores the need for 1st class Eclipse/IDEA tooling - probably #1 reason for slow-than-expected Scala adoption.
Best,
--Nikita Ivanov, CEOGridGain Systemswww.gridgain.com
On Tue, Jul 19, 2011 at 4:29 PM, Paul Phillips <paulp [at] improving [dot] org> wrote:
Re: new language "Kotlin" from jetbrains
On Wed, Jul 20, 2011 at 1:53 AM, Nikita Ivanov <nivanov [at] gridgain [dot] com> wrote:
Yes, exactly.
It looks like a language that has taken ideas from C#, Java, and Scala and blended them. I do not really see any tradeoffs that would make it simpler than Scala. Maybe a bit simpler to compile, and fewer opportunities for mis-use (no implicits, no symbolic operators) but not simpler to spec or program in. On the other hand it will have to prove that it's as good for library and framework abstractions as Scala is.
The things it has on top of Scala (nullablity and delegation) both seem to be designed well. But everything adds to the language footprint.
Cheers
-- Martin
Re: new language "Kotlin" from jetbrains
What precisely is the value or purpose of a small language footprint?
Re: new language "Kotlin" from jetbrains
On Wed, Jul 20, 2011 at 04:28, Naftoli Gugenheim wrote:
>>
>>
>> The things it has on top of Scala (nullablity and delegation) both seem to
>> be designed well. But everything adds to the language footprint.
>>
>> Cheers
>>
>> -- Martin
>>
>
> What precisely is the value or purpose of a small language footprint?
Not turning into C++.
C++ is a showcase example of the problems of a large language
footprint -- very hard to implement to spec, unexpected interaction
between features, difficulty in learning the language in full, etc.
Re: new language "Kotlin" from jetbrains
apart from unexpected interactions, i don't see a real problem
-------- Original-Nachricht --------
> Datum: Thu, 21 Jul 2011 11:00:22 -0300
> Von: Daniel Sobral
> An: Naftoli Gugenheim
> CC: scala-debate
> Betreff: Re: [scala-debate] new language "Kotlin" from jetbrains
> On Wed, Jul 20, 2011 at 04:28, Naftoli Gugenheim
> wrote:
> >>
> >>
> >> The things it has on top of Scala (nullablity and delegation) both seem
> to
> >> be designed well. But everything adds to the language footprint.
> >>
> >> Cheers
> >>
> >> -- Martin
> >>
> >
> > What precisely is the value or purpose of a small language footprint?
>
> Not turning into C++.
>
> C++ is a showcase example of the problems of a large language
> footprint -- very hard to implement to spec, unexpected interaction
> between features, difficulty in learning the language in full, etc.
>
>
Re: new language "Kotlin" from jetbrains
On Wed, Jul 20, 2011 at 9:28 AM, Naftoli Gugenheim <naftoligug [at] gmail [dot] com> wrote:
Well a lot of people complain that "Scala is too complex". I personally don't believe that, and note that most of the criticism comes from people who are designing or supporting competing languages, not people who learn Scala. But I take the point very seriously. How do you measure complexity? The best I know is to look how many features does a language have, and how many tricky interactions between these features. By that measure C# is a far more complex language than Scala and the jury is still out whether Kotlin or Ceylon or Groovy++ or any of the other "better Java" languages will me more or less complex (my guess is: probably in the same ballpark).
There's another dimension to complexity, which is what people typically do with a language. Again, I find the average Scala code pleasantly simple, but it's true that some of the best published code is complex, in that it solves very abstract tasks. Scalaz has a lot of great ideas embedded in it, but if we want Scala to succeed we need to publish more of the simple kind of code!
Best,
-- Martin
Re: new language "Kotlin" from jetbrains
Others include, "academic", "unnatural" or "is not real world."
I recommend blunt dismissal rather than taking it too seriously.
Re: new language "Kotlin" from jetbrains
Not quite...
I typically see "complex" used to mean "The apparent learning curve is too steep/long to justify the perceived gains". (Which actually says the same thing, just from a different perspective)This is then followed up decision to ignore the concept; which is considered perfectly rational by the objector on the basis of the above cost/benefit analysis.
Lack of understanding is, of course, inherent here: If you already understood the thing then there would be no learning curve!An effective response in such circumstances is to demonstrate that the learning cost is much lower, or that the benefits are much higher, than was originally believed.
Re: new language "Kotlin" from jetbrains
martin odersky wrote:
From my experience and talking to other people, people do not measure complexity that way. The majority of people don't find Lisp simple.
I think another dimension is familarity. People get out of collage and are eager to get a job. So they learn a language and from then on all languages measure up by how close they are to that language. I think this is why Groovy is so successful (being very close to Java syntax).
Ittay
Re: new language "Kotlin" from jetbrains
On Wed, Jul 20, 2011 at 10:26 AM, Ittay Dror <ittay [dot] dror [at] gmail [dot] com> wrote:
I agree with you and Toni there's that dimension as well. "Complex" as a synonym for "unfamiliar". But often the comparisons then say that Scala is the next C++, and there the analogy breaks down completely. C++ is familiar, yet complex (in terms of feature count/interaction). Scala is less familiar, but also much less complex.
Cheers
-- Martin
Re: new language "Kotlin" from jetbrains
martin odersky wrote: I love Scala and C++ was my first language and I was quite good at it I think. Yet Scala does feel to me like going back to C++. First, it has more features than Java. Second, compiling is slow. Third, compile errors remind me of C++ compile errors.
I think Scala is complex in the same sense that Chess feels complex. There are plenty of games that have more rules than Chess. Maybe there's a "flat" vs. "deep" complexity. "flat" complexity is a lot of features. "deep" complexity is the ability to mix features. If a language has a lot of "flat" features (e.g., extension methods) it will feel easier to learn simply because there is just one layer to trudge through. If a language as "deep" complexity, then learning the few simple features it has is only the beginning. Maybe people feel at loss because it is hard to know when they have mastered the language.
Another aspect may be that the wealth of Scala is usually demonstrated by its type system. But to correctly define types (esp. type constructurs, abstract types, bounds, type classes etc.) you need to think in the abstract while languages such as Groovy provide features that are easily traceable at runtime. So it is easy to put a debugger and find out why things don't work. There's no such thing for compilation. So designing is trickier. (It is the analogy of debugging your programs with println, but trickier)
Ittay
Re: new language "Kotlin" from jetbrains
On Wed, Jul 20, 2011 at 11:03 AM, Ittay Dror <ittay [dot] dror [at] gmail [dot] com> wrote:
I believe once Java 8 is out we will have reached parity in numbers of features, if that's not already the case with Java 7. Languages like C#, C++ have way more features than Scala.
I hope we can fix both of these. Note that compiling Java was initially also quite slow.
The "deep" vs "broad" discussion does captures the point very well, I think.
Very true. That's why we are working on a type debugger. There was a talk at Scala Days about this.
Cheers
-- Martin
Re: new language "Kotlin" from jetbrains
You think so? Well, let's see the quote again:
"Scala is too complex and it's very hard to make a good tooling support for it"
Now, what could possibly make you think they actually meant Groovy?
It's simple, really. Martin is the first to admit that tooling for Scala (especially IDE support) is hard, and he's throwing resources at the problem. Now you have IDEA, the creators of one of the most popular IDE's today, say the same thing, and you still choose to ignore it.
What will it take?
I don't find it sad, I'm pretty excited. Every language brings its own contribution to the edifice, be it small or big. I'm looking forward to seeing what an IDE company can come up with.
Violent agreement here.
-- Cédric