I also have the same concern with Julian, in Apache Flink SQL, we did a lot of 
code with Scala, but in the code evolving and the Scala has many tricky 
problems especially the version compatibility. So finally, we decide to move on 
to Java code: rewrite exiting Scala code to Java again.

I don’t think Kotlin is more popular than Scala or better than Scala, so I’m 
scared for this suggestion.

I also didn’t want Calcite to repeat the mistake, it is pretty good as a pure 
Java project.

BTW, I always saw some new code as Kotlin in Calcite[1](Some of them are test 
APIs), maybe we should change them back to Java.

[1] 
https://github.com/apache/calcite/commit/0d6bec4140da46af07d58cf07a5e682d61529603

Best,
Danny Chan
在 2019年12月16日 +0800 AM9:02,Julian Hyde <jh...@apache.org>,写道:
> I don't think we should do this.
>
> Multi-line strings are a bit unwieldy, but they're not a major
> problem. Transitioning our tests to a different language (Kotlin) is a
> drastic solution. It requires developers to understand a new language,
> and it loses all history from the source files.
>
> Julian
>
> On Sun, Dec 15, 2019 at 4:37 AM Vladimir Sitnikov
> <sitnikov.vladi...@gmail.com> wrote:
> >
> > I've filed two PRs to evaluate the impact of the replacement.
> >
> > $ to _: https://github.com/apache/calcite/pull/1659
> > 203.3sec, 5510 completed, 3 failed, 91 skipped, Gradle Test Run
> > :core:test
> >
> > $ to #: https://github.com/apache/calcite/pull/1660
> > 196.7sec, 5510 completed, 53 failed, 91 skipped, Gradle Test Run
> > :core:test
> >
> > There are test failures, however, both of them are almost ready.
> >
> > Both $ and _ are valid "Java identifier start" characters, so variable name
> > like _3 is valid.
> > If we use # instead of $, then code generator needs to be updated as well
> > as it sometimes uses Java variables like $3, and #3 would become invalid.
> >
> > Any thoughts?
> >
> > Vladimir

Reply via email to