+1 to the idea

I suppose no really action item for FLINK-1548? Maybe add doc about
contributing to Scala portion?


On Saturday, February 14, 2015, Stephan Ewen <se...@apache.org> wrote:

> Hi everyone!
>
> Since a sizable portion of the Flink code is now in Scala (and more is
> coming in the API projects), I think we need to define a few guidelines for
> Scala programming.
>
> Scala is very powerful and has a lot of "magic" features that allow you to
> design killer nice APIs, but also make reasoning about code harder.
> Through the use of implicit parameters, lazy parameters, overriding of base
> operators, functions that take code blocks, etc, you can easily write code
> that does something entirely different than what it looks like initially.
>
> For APIs, I think we should embrace the power of these features to make the
> APIs nice, convenient, and with intuitive syntax. After all, the elegance
> of the API matters a lot.
>
> For the runtime or anything below the APIs, I propose to refrain to a large
> extend from the magic features. For those parts, I think it matters most
> that the code is predictable, it is easy to understand the implications for
> also non-expert Scala programmers, and it is possible to peer review it
> through GitHub (where you do not see a difference between a lazy or an
> eager parameter).
>
> One example of such a change would be
> https://issues.apache.org/jira/browse/FLINK-1548
>
> Summary: Be magic in the APIs, be explicit and simple in the runtime.
>
> Greetings,
> Stephan
>

Reply via email to