Hi. Le mar. 30 juil. 2019 à 15:38, Matt Sicker <[email protected]> a écrit : > > Yeah, Commons libraries are almost intentionally behind the times in order > to provide functionality to the most people. Sometimes, Java even adds > things that make a Commons library somewhat redundant in theory (like NIO2 > from Java 7 which could theoretically replace Commons VFS as an API). > > I can also say that personally, I can’t even think of a good Commons > functional programming library that would be possible with the current > limitations of the Java type system. Scala and now even Kotlin have a lot > of interesting libraries in that space.
I certainly agree with Gary as to why "Commons" is not there being a practical issue (of no concerted road map and lacking developers to implement it). However, did I understand correctly that you consider such a development to be useless? I.e. rather than updating "Commons" do you suggest that application developers should not use it? Regards, Gilles > On Tue, Jul 30, 2019 at 06:39, Gary Gregory <[email protected]> wrote: > > > Fernando, > > > > In general, it feels to me the Apache Commons community is split and slow > > moving to adopt newer version of Java. Currently, updating the platform > > requirements of a component to Java 8 causes some people to react with > > "What about people running on Java 7?!" comments, or "What Java 8 features > > are required? Why update Java if we don't need to?". Others, like me, would > > prefer to move to Java 8 as the base version for all components, and build > > on that, showing contributors that we are set up to accept code that > > use modern language constructs like lambdas. We've had to reject or rework > > some PRs because they depended on Java 8 APIs when the component was still > > on Java 7, not a great position IMO. > > > > Argument for whether or not lambdas "improve readability" or is a debate I > > care not to enter ;-) > > > > Gary > > > > On Tue, Jul 30, 2019 at 4:54 AM <[email protected]> wrote: > > > > > Dear Developers, > > > > > > we are members of the ZEST research group (Zurich Empirical Software > > > Engineering Team) based at the University of Zurich and the Delft > > > University of Technology. We are conducting an investigation on the > > > diffusion of innovations and we focus on the adoption of new language > > > features. Our research is focused on how API producers adapt their > > > interfaces to introduce support for Java 8’s lambdas. During the course > > of > > > our investigation, we manually inspected commons-collections, > > commons-text, > > > and commons-lang’s source code and documentations to understand whether > > > Java’s lambdas have widespread adoption. We would like to have your > > > feedback on our findings. > > > > > > Our study focuses primarily on Functional Interfaces and Lambda > > > Expressions as these new features were introduced by the Java language > > and > > > adopted the Java JDK API, as they reduce implementation complexity, > > improve > > > readability, offer performance benefits and improve security > > > contextualization. > > > Our analysis showed that though commons-collection 4.2, commons-text 1.7, > > > and commons-lang3 3.9 did not explicitly introduce support for functional > > > interfaces (e.g. by using the @FunctionalInterface annotation). We > > noticed > > > that the APIs provide compatibility with Java 8+ features, including > > lambda > > > expressions (since the APIs’s build platform is now on JDK 1.8+). We > > would > > > like to better understand as to why no major change was necessitated to > > > facilitate the usage of lambda expressions with the API. > > > > > > In most cases, developers choose to move to new releases to satisfy > > > particular dependency requirements, to take advantage of new Java > > features > > > (like streams and functional interfaces in the case of Java 8), or just > > to > > > standardize their implementation to align the API with the Java JDK API. > > > Can you provide us with more information about this? > > > How did you and your team tackle the choice to change the version of Java > > > supported? > > > Which factors did you take into account when doing this? > > > Are there any documented sources (e.g. Jira tickets, or issue tracker > > > issues) about that discussion you can provide us with? > > > Why were no explicit changes made to the interface to support lambda > > > expressions? > > > Are there any future plans in place to make larger changes to the API > > such > > > that lambda expressions would be supported? > > > > > > We thank you for taking the time to answer our questions. If you would > > > like to be posted about the results of this study, please let us know! > > > > > > Kind Regards, > > > Fernando Petrulio. > > > > > > > > > [photo-logo] > > > Fernando Petrulio > > > PhD Student University of Zurich UZH > > > Department of Informatics > > > > > > [linkedin] https://www.linkedin.com/in/fernando-petrulio > > > > > > -- > Matt Sicker <[email protected]> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
