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 httpcore and httpclient’s source code and documentation 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 httpclient and httpcore did not introduce compatibility with Java 8+ features, including Functional Interfaces and Lambda Expression. We would like to better understand as to why these APIs does not support newer Java language versions and their features. Our investigation showed us that in most cases API producers do not migrate their APIs to newer Java Releases. Despite this, the API remains to be widely used by consumers on GitHub. Can you provide us with more information on this phenomenon? Did you and your team ever discuss the migration to new Java releases? If so, what did this discussion entail? What is the reason behind not migrating to a newer Java version? Did the introduction of new language features such as lambda expressions influence your decision in any way? Does your API plan on introducing support for lambda expressions in the future? 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 Ph.D. Student University of Zurich UZH Department of Informatics [linkedin] https://www.linkedin.com/in/fernando-petrulio