Tweet | |
H. Tanaka, S. Matsumoto, and S. Kusumoto, "A Study on the Current Status of Functional Idioms in Java," IEICE TRANSACTIONS on Information and Systems, E102-D(12), pp. 2414-2422, December 2019. | |
ID | 624 |
分類 | 論文誌 |
タグ | Functional idioms Java Lambda Expression Stream Optional |
表題 (title) |
A Study on the Current Status of Functional Idioms in Java |
表題 (英文) |
|
著者名 (author) |
Hiroto Tanaka,Shinsuke Matsumoto,Shinji Kusumoto |
英文著者名 (author) |
Hiroto Tanaka,Shinsuke Matsumoto,Shinji Kusumoto |
キー (key) |
Hiroto Tanaka,Shinsuke Matsumoto,Shinji Kusumoto |
定期刊行物名 (journal) |
IEICE TRANSACTIONS on Information and Systems |
定期刊行物名 (英文) |
|
巻数 (volume) |
E102-D |
号数 (number) |
12 |
ページ範囲 (pages) |
2414-2422 |
刊行月 (month) |
12 |
出版年 (year) |
2019 |
Impact Factor (JCR) |
|
URL |
|
付加情報 (note) |
|
注釈 (annote) |
|
内容梗概 (abstract) |
Over the past recent decades, numerous programming languages have expanded to embrace multi-paradigms such as the fusion of object-oriented and functional programming. For example, Java, one of the most famous object-oriented programming languages, introduced a number of functional idioms in 2014. This evolution enables developers to achieve various benefits from both paradigms. However, we do not know how Java developers use functional idioms actually. Additionally, the extent to which, while there are several criticisms against the idioms, the developers actually accept and/or use the idioms currently remains unclear. In this paper, we investigate the actual use status of three functional idioms (Lambda Expression, Stream, and Optional) in Java projects by mining 100 projects containing approximately 130,000 revisions.
From the mining results, we determined that Lambda Expression is utilized in 16% of all the examined projects, whereas Stream and Optional are only utilized in 2% to 3% of those projects. It appears that most Java developers avoid using functional idioms just because of keeping compatibility Java versions, while a number of developers accept these idioms for reasons of readability and runtime performance improvements. Besides, when they adopt the idioms, Lambda Expression frequently consists of single statement, and Stream is used to operate the elements of collection. On the other hand, some developers implement Optional with using deprecated methods. We can say that it may be necessary to good usage of the idioms are widely known among developers. |
論文電子ファイル | paper.pdf (application/pdf) [一般閲覧可] |
BiBTeXエントリ |
@article{id624, title = {A Study on the Current Status of Functional Idioms in Java}, author = {Hiroto Tanaka and Shinsuke Matsumoto and Shinji Kusumoto}, journal = {IEICE TRANSACTIONS on Information and Systems}, volume = {E102-D}, number = {12}, pages = {2414-2422}, month = {12}, year = {2019}, } |