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. On Tue, Jul 30, 2019 at 06:39, Gary Gregory <garydgreg...@gmail.com> 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 <f.petru...@virgilio.it.invalid> 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 <boa...@gmail.com>