Hi Martijn,

The 2.0 argument makes sense (I agree it's easier to introduce more
breaking changes in one major release), but I think my comment about Java
17 also makes sense in this case: 1) easier to introduce because breaking
changes are possible 2) you'd need to give some syntax sugar as an
alternative after removing Scala.

On Tue, Oct 4, 2022 at 11:21 AM Martijn Visser <martijnvis...@apache.org>
wrote:

> Hi Yaroslav,
>
> Thanks for the feedback, that's much appreciated! Regarding Java 17 as a
> prerequisite, we would have to break compatibility already since Scala
> 2.12.7 doesn't compile on Java 17 [1].
>
> Given that we can only remove Scala APIs with the next major Flink (2.0)
> version, would that still impact you a lot? I do imagine that if we get to
> a Flink 2.0 version there would be more breaking involved anyway. The
> biggest consequence of deprecating support for Scala in Flink 1.x would be
> that new APIs would only be available in Java, but since these don't exist
> yet there would be no refactoring involved. I can imagine that we might
> change something in an existing API, but that would have certain
> compatibility guarantees already (depending if it's
> Public/PublicEvolving/Experimental). If a change would happen there, I
> think it would be smaller refactoring.
>
> Best regards,
>
> Martijn
>
> [1] https://issues.apache.org/jira/browse/FLINK-25000
>
> On Tue, Oct 4, 2022 at 10:58 AM Yaroslav Tkachenko <yaros...@goldsky.com>
> wrote:
>
>> Hi Martijn,
>>
>> As a Scala user, this change would affect me a lot and I'm not looking
>> forward to rewriting my codebase, and it's not even a very large one :)
>>
>> I'd like to suggest supporting Java 17 as a prerequisite (
>> https://issues.apache.org/jira/browse/FLINK-15736). Things like switch
>> expressions and records could simplify the migration quite a bit. Would you
>> consider adding it to the FLIP?
>>
>> On Tue, Oct 4, 2022 at 10:50 AM Jing Ge <j...@ververica.com> wrote:
>>
>>> Hi Martijn,
>>>
>>> Thanks for bringing this up. It is generally a great idea, so +1.
>>>
>>> Since both scala extension projects mentioned in the FLIP are still very
>>> young and I don't think they will attract more scala developers as Flink
>>> could just because they are external projects. It will be a big issue for
>>> users who have to rewrite their large codebases. Those users should be
>>> aware of the effort from now on and would better not count on those scala
>>> extension projects and prepare their migration plan before Flink 2.0.
>>>
>>> Best regards,
>>> Jing
>>>
>>>
>>> On Tue, Oct 4, 2022 at 1:59 PM Martijn Visser <martijnvis...@apache.org>
>>> wrote:
>>>
>>>> Hi Marton,
>>>>
>>>> You're making a good point, I originally wanted to include already the
>>>> User mailing list to get their feedback but forgot to do so. I'll do some
>>>> more outreach via other channels as well.
>>>>
>>>> @Users of Flink, I've made a proposal to deprecate and remove Scala API
>>>> support in a future version of Flink. Your feedback on this topic is very
>>>> much appreciated.
>>>>
>>>> Regarding the large Scala codebase for Flink, a potential alternative
>>>> could be to have a wrapper for all Java APIs that makes them available as
>>>> Scala APIs. However, this still requires Scala maintainers and I don't
>>>> think that we currently have those in our community. The easiest solution
>>>> for them would be to use the Java APIs directly. Yes it would involve work,
>>>> but we won't actually be able to remove the Scala APIs until Flink 2.0 so
>>>> there's still time for that :)
>>>>
>>>> Best regards,
>>>>
>>>> Martijn
>>>>
>>>> On Tue, Oct 4, 2022 at 1:26 AM Márton Balassi <balassi.mar...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Martjin,
>>>>>
>>>>> Thanks for compiling the FLIP. I agree with the sentiment that Scala
>>>>> poses
>>>>> considerable maintenance overhead and key improvements (like 2.13 or
>>>>> 2.12.8
>>>>> supports) are hanging stale. With that said before we make this move we
>>>>> should attempt to understand the userbase affected.
>>>>> A quick Slack and user mailing list search does return quite a bit of
>>>>> results for scala (admittedly a cursory look at them suggest that many
>>>>> of
>>>>> them have to do with missing features in Scala that exist in Java or
>>>>> Scala
>>>>> versions). I would love to see some polls on this topic, we could also
>>>>> use
>>>>> the Flink twitter handle to ask the community about this.
>>>>>
>>>>> I am aware of users having large existing Scala codebases for Flink.
>>>>> This
>>>>> move would pose a very large effort on them, as they would need to
>>>>> rewrite
>>>>> much of their existing code. What are the alternatives in your opinion,
>>>>> Martjin?
>>>>>
>>>>> On Tue, Oct 4, 2022 at 6:22 AM Martijn Visser <
>>>>> martijnvis...@apache.org>
>>>>> wrote:
>>>>>
>>>>> > Hi everyone,
>>>>> >
>>>>> > I would like to open a discussion thread on FLIP-265 Deprecate and
>>>>> remove
>>>>> > Scala API support. Please take a look at
>>>>> >
>>>>> >
>>>>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-265+Deprecate+and+remove+Scala+API+support
>>>>> > and provide your feedback.
>>>>> >
>>>>> > Best regards,
>>>>> >
>>>>> > Martijn
>>>>> > https://twitter.com/MartijnVisser82
>>>>> > https://github.com/MartijnVisser
>>>>> >
>>>>>
>>>>

Reply via email to