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 Jackson Databind API’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 though Jackson Databind 2.9.9 did not explicitly 
introduce support for functional interfaces (e.g. by using the 
@FunctionalInterface annotation). We noticed that the API does provide 
compatibility with Java 8+ features, including lambda expressions (since 
the API’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.

-- 
Fernando Petrulio
Ph.D. Student - University of Zurich UZH
Department of Informatics
[email protected]

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jackson-dev/aac2975b-a535-4917-af33-6ed555b72aed%40googlegroups.com.

Reply via email to