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 >>>>> > >>>>> >>>>