Functional Programming, Simplified: (Scala Edition)
Language: English
Published by CreateSpace Independent Publishing Platform, 2017
- Softcover
- Used

Condition: Used - Very good
US$ 16.77
Quantity: 1 available
Add to basketItem description from seller
Gut/Very good: Buch bzw. Schutzumschlag mit wenigen Gebrauchsspuren an Einband, Schutzumschlag oder Seiten. / Describes a book or dust jacket that does show some signs of wear on either the binding, dust jacket or pages.
Seller Inventory # M01979788782-V
- Title
- Functional Programming, Simplified: (Scala Edition)
- Author
- Alexander, Alvin
- Publisher
- CreateSpace Independent Publishing Platform
- Publication year
- 2017
- Condition
- very good
- Binding
- Soft cover
- Language
- English
- ISBN 10
- 1979788782
- ISBN 13
- 9781979788786
If you’ve had trouble trying to learn Functional Programming (FP), you’re not alone. In this best-selling, highly-rated book, Alvin Alexander — author of the Scala Cookbook for O’Reilly, the Scala Book for the official Scala website, and former teacher of Java and Object-Oriented Programming (OOP) classes — writes about his own problems in trying to understand FP, how he finally conquered it, and how he teaches others.
In this classic book — one of the highest-selling FP books of all time — he teaches FP in a simple style, without worrying about abstract concepts like functors, monads, and category theory. Instead, he explains FP through a series of small, pragmatic lessons and examples.
The Motivation Behind Functional Programming
For instance, the first thing he learned is that experienced FP developers (FPers) are driven by two goals: to use only immutable values and write only pure functions. But then later he learned the REAL truth: FPers have these goals because their true desire — or mental model — is that they want all of their code to look and work just like algebra.
While that sounds simple, it turns out that these goals require them to use some advanced Scala features — which they often use all at the same time. As a result, their code can look completely foreign to novice FP developers. As Mr. Alexander writes, “When you first see their code it’s easy to ask, ‘Why would you write code like this?’”
But then Mr. Alexander answers that “Why?” question by explaining the benefits of writing pure functional code.
Five Rules for Functional Programming
Once you understand those benefits — your motivation for learning FP — he shares five rules for programming in the book:
- All fields must be immutable (‘val’ fields).
- All functions must be pure functions.
- Null values are not allowed.
- Whenever you use an ‘if’ you must also use an ‘else’.
- You won’t create OOP classes that encapsulate data and behavior; instead you’ll design data structures using Scala ‘case’ classes, and write pure functions that operate on those data structures.
In the book you’ll see how those five, simple rules naturally lead you to write pure, functional code that reads like algebra. He also shares one more Golden Rule for learning:
- Always ask “Why”?
Lessons
Lessons in the book include:
- How and why to write only pure functions
- Why pure function signatures are much more important than OOP method signatures
- Why recursion is a natural tool for functional programming, and how to write recursive algorithms
- Because the Scala ‘for’ expression is so important to FP, dozens of pages explain the details of how it works
- In the end you’ll see that monads aren’t that difficult because they’re a natural extension of the Five Rules
- The book finishes with lessons on FP data modeling, and two main approaches for organizing your pure functions
As Mr. Alexander writes, “In this book I take the time to explain all of the concepts that are used to write FP code in Scala. As I learned from my own experience, once you understand the Five Rules and the small concepts, you can understand Scala/FP.”
Bonus: More Free Content Online
Please note that because of the limits on how large a printed book can be, the paperback version does not include all of the chapters that are in the Kindle eBook. The following lessons are not in the paperback version:
- Grandma’s Cookies (a story about pure functions)
- The ScalaCheck lessons
- The Type Classes lessons
- The appendices
Because those lessons didn’t fit in the print version, they have been made freely available online.
"Synopsis" may belong to another edition of this title.
About the Author
"About the title" may belong to another edition of this title.
Shipping rates from Germany to U.S.A.
| Item | 10 to 20 business days | 10 to 20 business days |
|---|---|---|
| First item | US$ 11.19 | US$ 22.39 |
Payment methods
Store description
**WILLKOMMEN** im AbeBooks Shop von medimops - dein Onlineshop mit der größten Auswahl an Second Hand Büchern. Stöber dich durch über 4 Millionen Artikel und spare bis zu 70 % im Vergleich zum Neupreis. Wir prüfen alle Artikel sorgfältig auf Qualität und Funktionalität. **WELCOME** to the medimop's AbeBooks shop, the online shop with a large range of second-hand books. Browse more than 4 million articles and save up to 70% on the new price. All our articles are quality checked. ** BIENVENUE ** dans la boutique AbeBooks de momox shop! Spécialiste des articles culturels d'occasion, nous vous offrons une gamme diversifiée de livres d'occasion. Découvrez nos offres et économisez jusqu'à 70% du prix neuf! Nous grarantissons tous nos articles en bon état. ** BENVENUTI ** nello shop medimops di AbeBooks, lo shop online per i libri usati. Abbiamo piu´di 4 milioni di articoli e potete risparmiare fino al 70% rispetto al nuovo. Tutti i nostri prodotti sono controllati a mano per garantire la massima qualità. ** BIENVENIDO ** a la tienda de medimops en AbeBooks, la tienda online con una gran oferta de libros de segunda mano. Navegue por más de 4 millones de artículos y ahorre hasta un 70% sobre el precio nuevo. Todos nuestros artículos son de calidad comprobada. …
Seller's business information
momox SE
Schreiberhauer Straße 30
Berlin, Germany 10317
Terms of sale
1. Scope
For all orders via our store on the AbeBooks Marketplace, the following terms and conditions apply. Unless otherwise agreed, the inclusion of any terms and conditions of your own used by you is contradicted.
2. contracting party, conclusion of contract, correction options
The purchase contract is concluded with momox SE.
The subject of the contract is the sale of goods.
If an article is posted by us on AbeBooks, the activation of the offer page on AbeBooks is the binding offer to conclude a contract under the conditions contained in the article page.
The presentation of the products in the online store does not constitute a legally binding offer, but a non-binding online catalog. You have the option to complete the ordering process via the shopping cart system or the buy now function. You can initially place our products in the shopping cart without obligation and correct your entries at any time before submitting your binding order by using the correction tools provided and explained for this purpose in the order process. By clicking the order button you make a binding offer for the goods contained in the shopping cart. By pressing the button "Buy now" an order is automatically created, which will be sent to the delivery address you have provided and for which a payment is made with the specified payment method.
The confirmation of receipt of your order will be sent by e-mail immediately after sending the order. We accept your order within 2 days by us or AbeBooks on our behalf submitting/issuing a declaration of acceptance or shipping confirmation in a separate email or, if applicable, the payment transaction is carried out by the service provider or the selected payment service provider. The time of execution of the payment transaction depends on the respective selected payment method (see under "Payment"). The relevant alternative for you depends on which of the listed events occurs first.
3. contract language, contract text storage
The language(s) available for the conclusion of the contract: German
We store the text of the contract on our systems, which, however, are not accessible to you.
However, you have the possibility to view your last orders via your AbeBooks account. The full text of the contract is not accessible there.
4. delivery conditions
Shipping costs will be added to the indicated product prices. You can find out more about the amount of the shipping costs at the offers.
5. payment
The payment processing is done by AbeBooks. You can pay the invoice amount by credit card.
6. retention of title
The goods remain our property until full payment.
7. transport damage
If goods are delivered with obvious transport damage, please complain about such defects to the deliverer as soon as possible and contact us immediately. Failure to make a complaint or contact us has no consequences for your legal claims and their enforcement, especially your warranty rights. However, they help us to be able to assert our own claims against the carrier or the transport insurance.
8. warranty
The statutory liability for defects shall apply.
Customer service: Phone number: 0049 (0) 30/488288200
9 a.m. to 6 p.m., e-mail: service@momox-shop.uk
9. liability
For claims based on damage caused by us, our legal representatives or vicarious agents, we shall always be liable without limitation - in the event of injury to life, limb or health - in the event of intentional or grossly negligent breach of duty - in the event of warranty promises, insofar as agreed, or - insofar as the scope of application of the Product Liability Act is opened. In the event of a breach of essential contractual obligations, the fulfillment of which is a prerequisite for the proper execution of the contract and the observance of which the contractual partner may regularly rely on (cardinal obligations) due to slight negligence on our part, on the part of our legal representatives or vicarious agents, liability shall be limited to the amount of the damage foreseeable at the time of the conclusion of the contract, the occurrence of which must typically be expected. Otherwise, claims for damages are excluded.
10. dispute resolution
The European Commission provides a platform for online dispute resolution (ODR), which can be found here: https://ec.europa.eu/consumers/odr/. Consumers have the possibility to use this platform for the settlement of their disputes.
To settle disputes arising from a contractual relationship with a consumer or whether such a contractual relationship exists at all, we are obliged to participate in dispute resolution proceedings before a consumer arbitration board. The responsible body is the Universalschlichtungsstelle des Bundes am Zentrum für Schlichtung e.V., Straßburger Straße 8, 77694 Kehl am Rhein, www.verbraucher-schlichter.de. We will participate in a dispute resolution procedure before this body.
11. protection of minors
If your order includes goods whose sale is subject to age restrictions, we ensure that the customer has reached the required minimum age by using a reliable procedure involving a personal identity and age check. The delivery person will hand over the goods only after the age check has been carried out and only to the customer in person.
Delivery to packing stations is not possible in this case.