Functional Programming in Java

You’re in for a treat. One of the most prominent and widely used languages
in the world has evolved, for the better. Until now Java gave us one set of
tools—OO—and we did the best we could with it. Now, in addition, there’s
another way to solve more elegantly the common problems we encounter
when developing applications. We can now do quite effectively in Java what
was possible on the JVM only using other languages—this means truly more
power for everyone using Java.
In the past few decades, I’m thankful for the privilege to program with a few
languages: C, C++, Java, C#, F#, Ruby, Groovy, Scala, Clojure, Erlang,
JavaScript… When asked which one’s my favorite, my resounding answer
has been: it’s not the language that excites me, but the way we program.
The science and engineering in programming is what drew me in, but it’s the
art in programming that keeps me. Coding has a lot in common with writing
—there’s more than one way to express our ideas. Java helped us so far to
write code using objects. Now we have an additional way to implement our
designs and ideas.
This is a new way in Java, one that will make our code more expressive,
easier to write, less error-prone, and easier to parallelize than we were able
to do with Java until now. This way has been around for decades and widely
used in languages like Lisp, Clojure, Erlang, Scala, Groovy, Ruby… This is
not only a new way in Java, but you’ll find it to be a better way as well.
Since coding is like writing, we can learn a few things from that field. William
Zinsser recommends simplicity, clarity, and brevity in On Writing Well [Zin01].
To create better applications, we can start by making the code simpler,
clearer, and concise. The new style of programming in Java provides exactly
that, as we will explore throughout this book.

 



please Download the Book from Book Icon

29/11/2018

درس مختصر بالجافا

23/07/2019

foreach في لغة الجافا

29/11/2018

المصفوفات بلغة الجافا

24/08/2019

في لغة الجافا for loop

31/03/2020

(Inheritance) مبدأ الوراثة في البرمجة الكائنية

25/01/2022

كيف أتعلم برمجة السيارات ؟

01/04/2020

الفرق بين البيانات و المعلومات

01/09/2019

المعاملات الحسابية بلغة البايثون

22/04/2022

كيفية تغيير لون شريط المهام في ويندوز 10

16/05/2018

Google AdWord أكثر الكلمات سعرا في

07/03/2023

أنواع الشبكات Networks Types

22/07/2019

ﻃﺮﻕ ﺇﻧﺸﺎﺀ ﺃﻱ ﺗﻄﺒﻴﻖ ﺃﻧﺪﺭﻭﻳﺪ

29/07/2022

لـغـة Python

Back to top button