Lambdas, streams, functional and reactive programming
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft

#Java
#Modern_Java
#Lambda
#stream
#Streams_API
#OOP
#FP
📘 کتاب پرفروش انتشارات منینگ برای جاوا 8، حالا برای جاوا 9 بازنویسی شده! توی کتاب Modern Java in Action، شما مهارتهای فعلیتون در زبان جاوا رو با جدیدترین ویژگیها و تکنیکها ارتقا میدید.
💻 درباره تکنولوژی
اپلیکیشنهای مدرن از طراحیهای نوآورانه مثل میکروسرویسها، معماریهای واکنشگرا (Reactive) و دادههای استریمینگ بهره میبرن. ویژگیهای مدرن جاوا مثل لمبداها، استریمها و سیستم ماژول جاوا که خیلی وقت بود منتظرش بودیم، پیادهسازی این طراحیها رو به مراتب سادهتر میکنه. وقتش رسیده که مهارتهاتون رو آپدیت کنید و با این چالشها مستقیم روبرو بشید!
📖 درباره کتاب
کتاب Modern Java in Action ویژگیهای جدید زبان جاوا رو به کاربردهای عملیشون متصل میکنه. این کتاب با استفاده از مثالهای کاملا شفاف و دقت بالا در جزئیات، به وقت شما احترام میذاره. این اثر بهتون کمک میکنه دانش فعلیتون از هسته جاوا رو گسترش بدید و روی موارد جدیدی مثل Streams API و سیستم ماژول جاوا مسلط بشید، رویکردهای جدید موازیسازی (Concurrency) رو بررسی کنید و یاد بگیرید چطور مفاهیم تابعی (Functional) میتونه بهتون کمک کنه کدی بنویسید که خوندن و نگهداریش سادهتر باشه.
🔍 آنچه در داخل کتاب است
• نسخه کاملا بازبینی شده کتاب پرفروش Java 8 in Action از انتشارات منینگ
• ویژگیهای جدید در جاوا 8، 9 و فراتر از اون
• دادههای استریمینگ و برنامهنویسی واکنشگرا
• سیستم ماژول جاوا (Java Module System)
👥 درباره مخاطب
برای توسعهدهندگانی نوشته شده که با ویژگیهای اصلی و پایه جاوا آشنا هستن.
📑 فهرست مطالب
بخش 1 - مبانی
1. جاوا 8، 9، 10 و 11: چه اتفاقی داره میفته؟
2. پاس دادن کد با پارامتری کردن رفتار
3. عبارتهای لمبدا (Lambda expressions)
بخش 2 - پردازش داده به سبک تابعی با استریمها
4. معرفی استریمها
5. کار با استریمها
6. جمعآوری داده با استریمها
7. پردازش موازی داده و کارایی (Performance)
بخش 3 - برنامهنویسی موثر با استریمها و لمبداها
8. بهبودهای Collection API
9. ریفکتورینگ، تست و دیباگ کردن
10. زبانهای دامنه خاص (DSL) با استفاده از لمبداها
بخش 4 - جاوای کاربردی روزمره
11. استفاده از Optional به عنوان جایگزین بهتر برای null
12. ایپیآی جدید Date و Time
13. متدهای پیشفرض (Default methods)
14. سیستم ماژول جاوا
بخش 5 - موازیسازی ارتقا یافته در جاوا
15. مفاهیم پشت CompletableFuture و برنامهنویسی واکنشگرا
16. برنامهنویسی ناهمگام ترکیبی با CompletableFuture
17. برنامهنویسی واکنشگرا (Reactive programming)
بخش 6 - برنامهنویسی تابعی و تکامل آینده جاوا
18. تفکر تابعی (Thinking functionally)
19. تکنیکهای برنامهنویسی تابعی
20. ترکیب OOP و FP: مقایسه جاوا و اسکالا
21. نتیجهگیری و مسیر بعدی جاوا
💬 نظرات
«کد جاوای من بعد از خوندن این کتاب به طرز قابل توجهی بهتر شد. تونستم مثالهای شفاف کتاب رو بردارم و بلافاصله در عمل ازشون استفاده کنم.» — هالی کامینز، IBM
«یک مقدمه جامع و کاربردی برای ویژگیهای مدرن آخرین نسخههای جاوا با مثالهای عالی!» — الکساندر مندریک، EPAM Systems
«آموزش عملی جاوا 8 و 9 که به سادگی و ظرافت توضیح داده شده.» — دیپاک بهاسکاران، Salesforce
«کلی مثال و مورد استفاده عالی برای استریمها، موازیسازی و برنامهنویسی واکنشگرا.» — راب پاچکو، Synopsys
✍️ درباره نویسنده
👨💻 رائول گابریل اورما مدیرعامل و همبنیانگذار Cambridge Spark هست، یک انجمن یادگیری پیشرو برای دانشمندان داده و توسعهدهندهها در بریتانیا. علاوه بر این، اون رئیس و همبنیانگذار آکادمی کدنویسی کمبریج هم هست. رائول نویسنده کتاب پرفروش Java 8 in Action هست که بیش از 20,000 نسخه در دنیا فروخته. اون دکترای علوم کامپیوترش رو از دانشگاه کمبریج گرفته و مدرک ارشد مهندسی علوم کامپیوتر از امپریال کالج لندن داره. رائول بیش از 100 سخنرانی فنی در کنفرانسهای بینالمللی داشته و سابقه کار در گوگل، ایبی، اوراکل و گلدمن ساکس رو در کارنامهاش داره.
🛠️ ماریو فوسکو مهندس نرمافزار ارشد در ردهت (Red Hat) هست که روی Drools کار میکنه. اون کتابخانه متنباز lambdaj رو ساخته که یک DSL داخلی جاوا برای مدیریت مجموعهها به سبک تابعی هست.
🎓 آلن مایکرافت استاد علوم کامپیوتر در دانشگاه کمبریج هست که در زمینه زبانهای برنامهنویسی، معناشناسی، بهینهسازی و پیادهسازی اونها تحقیق میکنه. اون همچنین از همبنیانگذاران و هیئت امنای بنیاد رزبری پای (Raspberry Pi) هست.
Manning's bestselling Java 8 book has been revised for Java 9! In Modern Java in Action, you'll build on your existing Java language skills with the newest features and techniques.
About the Technology
Modern applications take advantage of innovative designs, including microservices, reactive architectures, and streaming data. Modern Java features like lambdas, streams, and the long-awaited Java Module System make implementing these designs significantly easier. It's time to upgrade your skills and meet these challenges head on!
About the Book
Modern Java in Action connects new features of the Java language with their practical applications. Using crystal-clear examples and careful attention to detail, this book respects your time. It will help you expand your existing knowledge of core Java as you master modern additions like the Streams API and the Java Module System, explore new approaches to concurrency, and learn how functional concepts can help you write code that's easier to read and maintain.
What's inside
About the Reader
Written for developers familiar with core Java features.
Table of Contents
PART 1 - FUNDAMENTALS
1. Java 8, 9, 10, and 11: what's happening?
2. Passing code with behavior parameterization
3. Lambda expressions
PART 2 - FUNCTIONAL-STYLE DATA PROCESSING WITH STREAMS
4. Introducing streams
5. Working with streams
6. Collecting data with streams
7. Parallel data processing and performance
PART 3 - EFFECTIVE PROGRAMMING WITH STREAMS AND LAMBDAS
8. Collection API enhancements
9. Refactoring, testing, and debugging
10. Domain-specific languages using lambdas
PART 4 - EVERYDAY JAVA
11. Using Optional as a better alternative to null
12. New Date and Time API
13. Default methods
14. The Java Module System
PART 5 - ENHANCED JAVA CONCURRENCY
15. Concepts behind CompletableFuture and reactive programming
16. CompletableFuture: composable asynchronous programming
17. Reactive programming
PART 6 - FUNCTIONAL PROGRAMMING AND FUTURE JAVA EVOLUTION
18. Thinking functionally
19. Functional programming techniques
20. Blending OOP and FP: Comparing Java and Scala
Review
"My Java code improved significantly after reading this book. I wasable to take the clear examples and immediately put them intopractice."--Holly Cummins, IBM"A comprehensive and practical introduction to the modern featuresof the latest Java releases with excellent examples!"--Oleksandr Mandryk, EPAM Systems"Hands-on Java 8 and 9, simply and elegantly explained."--Deepak Bhaskaran, Salesforce"A lot of great examples and use cases for streams, concurrency, andreactive programming."--Rob Pacheco, Synopsys
About the Author
Raoul-Gabriel Urma is CEO and co-founder of Cambridge Spark, a leading learning community for data scientists and developers in UK. In addition, he is also Chairman and co-founder of Cambridge Coding Academy, a growing community of young coders and pre-university students. Raoul is author of the bestselling programming book "Java 8 in Action" which sold over 20,000 copies globally. Raoul completed a PhD in Computer Science at the University of Cambridge. In addition, he holds a MEng in Computer Science from Imperial College London and graduated with first class honours having won several prizes for technical innovation. Raoul has delivered over 100 technical talks at international conferences. He has worked for Google, eBay, Oracle, and Goldman Sachs. He is also a Fellow of the Royal Society of Arts.
Mario Fusco is a senior software engineer at Red Hat working on Drools, the JBoss rule engine. He created the open source library lambdaj, an internal Java DSL for manipulating collections in a functional way.
Alan Mycroft is Professor of Computer Science at the University of Cambridge, where he researches programming languages, their semantics, optimization and implementation. He is a co-founder and Trustee of the Raspberry Pi Foundation.









