You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by f....@virgilio.it.INVALID on 2019/07/31 13:40:15 UTC

Investigation on the diffusion of innovation along with java releases

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

Re: Investigation on the diffusion of innovation along with java releases

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Wed, 2019-07-31 at 15:40 +0200, f.petrulio@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 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?

It is perfectly natural for low level libraries such as HttpClient to
try to appeal to the largest potential user population by targeting the
most widely used Java Runtime. For instance, at the time of the
decision about the lowest support JRE level for HC 5.0 it was deemed
important to stay compatible with Java 1.7 in order to maximize
compatibility with the Android platform.

If you need any extra details about the decision process and future
plans you will have to buy me a glass of whiskey and a cigar first. 

Oleg 

> 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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org