Bringing the discussion on the PR back to the dev list

An important point that was raised by Anthony was: "

Introducing a new language to the Geode project raises some questions that
we need to answer as a community before adopting this proposal:

   - When is it appropriate to use Kotlin? When should we prefer Java?
   - Are there a sufficient number of committers with Kotlin experience to
   maintain the work over the long-term?
   - How will the introduction of Kotlin affect the development experience
   and build times?
   - Does this increase the learning curve for new committers?

I think I would be more comfortable exploring this change in a submodule
rather than in geode-core. I would also like to see all the REST code move
to geode-web or geode-mgmtso that we can finally fix those broken
dependencies. Specifically we should aim to delete thewebJar` Gradle task
from geode-core."


I feel that some of these questions can be answered better by actually
introducing Kotlin into the codebase and seeing the results -- but
obviously there is a concern with how locked-in we get if we come to the
conclusion that Kotlin is not for us. We will look into introducing as a
submodule that is a sibling to geode-core, and revisit things. Closing the
PR for now, I feel I have the feedback I need.

-Aditya

On Wed, Jan 2, 2019 at 3:11 PM Aditya Anchuri <aanch...@pivotal.io> wrote:

> Hi everyone,
>
> As part of work on the proposed Cluster Management API (
> https://cwiki.apache.org/confluence/display/GEODE/Cluster+Management+Service),
> some of us have been exploring introducing Kotlin into the codebase. One of
> the things I personally love about Kotlin is null references being
> controlled by the type system, reducing the incidence of null pointer
> errors.
>
> Other pros can be found here:
> https://kotlinlang.org/docs/reference/comparison-to-java.html
>
> We have made a very basic PR as to how this could potentially work.
> Personally, I see this usecase as less of a chance to shine for Kotlin than
> other potential usecases within geode, because of the fact that we'd still
> end up using a lot of Java objects from geode-core in order to exercise the
> "create region" functionality. However, I could make a case for Kotlin just
> from the fact that it is a more modern language.
>
> Would love to get people's feedback on what they think about introducing
> Kotlin to the geode codebase, and whether it makes sense for the Cluster
> Management API.
>
> https://github.com/apache/geode/pull/3049
>
> Thanks,
> -Aditya
>
>

Reply via email to