• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

about functional programming book

 
Ranch Hand
Posts: 686
  • Number of slices to send:
    Optional 'thank-you' note:
Ben
What is the difference between part 1 and part 2?
Does all examples are based on gradle or maven?
 
Author
Posts: 28
9
  • Number of slices to send:
    Optional 'thank-you' note:
Hi Jignesh!

What is the difference between part 1 and part 2?



Part 1 is about the functional basics that build the foundation for the rest of the book:

  • Chapter 1 - Introduction to FP: History of lambda calculus (don't worry, no extended Math needed in the book) and introduction of various functional concepts in a language-agnostic way
  • Chapter 2 - Functional Java: How does Java implement Lambdas, how do they work and differ from anonymous classes, how method references make things easier, how do the concepts from chapter 1 fit into Java
  • Chapter 3 - Functional Interfaces of the JDK: Exploring the java.util.function package to learn about the "big four" functional interface categories that will build the foundation of most code. Also, how to compose these interfaces and how to bridge the gap if a certain type is missing.


  • The second part of the book is topic-based around the FP concepts in the first part, plus additional chapters for a more Java-specific look at certain features.

    For example, chapter 4 is "Immutability", followed up by "Working with Records", as Java's new (shallowly) immutable data aggregation type.

    Chapter 6 is about "Data processing with Streams", followed up by "Working with Streams" to discuss things like "how to deal with primitives" or looking at downstream Collectors in more detail.
    The next one is "Parallel Data Processing with Streams" which talks about when, how, and when not to use parallel Streams.

    The link in my signature lists the table of contents.

    Does all examples are based on gradle or maven?



    The examples are neither Gradle nor Maven.

    Many of them are only a few lines long or even won't compile at all!
    The point of the non-working one's is to illustrate a problem or a limitation you run into before showing you how to overcome it.
    That's why I didn't think the classical "full project setup" would make sense, as the boilerplate needed around the examples would be much larger than the code itself.

    Only for things that  won't work in JShell, standalone interfaces or classes, or things that require multiple classes, I've created the code necessary to run it without JShell, either by using java/javac, or in the case of chapter 14 "Design Patterns", a Gradle project.

    As my book isn't a recipe-style one, I prefer JShell for running such small code blocks, to experiment with them instead of delivering copy&paste-ready solutions.

    You can check out the book's code repo to see how I've done the code examples.
    reply
      Bookmark Topic Watch Topic
    • New Topic
    vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
    http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |