[ 
https://issues.apache.org/jira/browse/FLINK-13414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17344555#comment-17344555
 ] 

Nick Burkard commented on FLINK-13414:
--------------------------------------

I love Scala and use it everyday at work, but my intuition would think most 
Flink users are writing their code directly in Java / Python, or wrapping the 
API with something like Beam. I'd love to be proven wrong here with metrics 
etc., but Scala is a very niche language with a high learning curve, especially 
for the FP-centric style that's become more popular within the last few years 
thanks to the success of cats / zio / etc.. The languages may share the JVM but 
can look entirely different depending on who's writing the code.

Flink is almost exclusively implemented in Java which is great - it's the right 
tool for the job here. As others have mentioned, maintaining proper Scala 
support in a library that's almost exclusively Java requires dedicated 
resources who specialize in the language and understand its many nuances. The 
Scala community has the capacity and interest to develop Scala APIs around OSS 
libraries & frameworks, but it's typically done separately from the source 
projects themselves. This lets the two communities set their own precedents for 
code quality / style / etc. without interfering in each other's releases. 
Binary compatibility has been one major issue in the past. 2.13 also comes with 
the issues of migrating the collections API as well. 3 would require rewriting 
the macros uses to generate TypeInformation as well.

I think the best choice would be to deprecate the official Scala APIs first, 
then phase out official Scala support by some later version. The Scala 
community can then drive best practices for developing a Scala wrapper around 
Flink, perhaps even supporting Scala 3 once it's picked up momentum 
commercially.

> Add support for Scala 2.13
> --------------------------
>
>                 Key: FLINK-13414
>                 URL: https://issues.apache.org/jira/browse/FLINK-13414
>             Project: Flink
>          Issue Type: New Feature
>          Components: API / Scala
>            Reporter: Chaoran Yu
>            Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to