Functional Programming, Simplified : (Scala Edition)
Lingua: inglese
Editore: CreateSpace Independent Publishing Platform, 2017
- Brossura
- Usato

Da: Better World Books, Mishawaka, IN, U.S.A.Better World Books
Venditore AbeBooks dal 3 agosto 2006
Condizione: Usato - Molto buono
EUR 9,87
Quantità: 1 disponibile
Aggiungi al carrelloDescrizione dell’articolo da parte del venditore
Pages intact with possible writing/highlighting. Binding strong with minor wear. Dust jackets/supplements may not be included. Stock photo provided. Product includes identifying sticker. Better World Books: Buy Books. Do Good.
Codice articolo 45171529-6
- Titolo
- Functional Programming, Simplified : (Scala Edition)
- Autore
- Alexander, Alvin
- Editore
- CreateSpace Independent Publishing Platform
- Anno di pubblicazione
- 2017
- Condizione
- Very Good
- Rilegatura
- Brossura
- Lingua
- inglese
- ISBN 10
- 1979788782
- ISBN 13
- 9781979788786
- Peso dell'articolo
- 3,618 libbre
- Dimensioni
- N/A
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.
"Riassunto" può appartenere a un’altra edizione di questo titolo.
Informazioni sull’autore
"Descrizione articolo" può appartenere a un’altra edizione di questo titolo.
Better World Books
Mishawaka, IN, U.S.A.
Venditore AbeBooks dal 3 agosto 2006
Tariffe di spedizione nazionale per U.S.A.
| Articolo | Da 4 a 8 giorni lavorativi | Da 3 a 5 giorni lavorativi |
|---|---|---|
| Primo articolo | EUR 0,00 | EUR 13,38 |
Metodi di pagamento
Descrizione dello Store
Better World Books (https://www.BetterWorldBooks.com) is a for-profit, socially conscious business and a global online bookseller that collects and sells new and used books online, matching each purchase with a book donation. Each sale generates funds for literacy and education initiatives in the U.S., the UK, and around the world. Since its launch in 2003, Better World Books has raised $33 million for libraries and literacy, donated over 32 million books, and reused or recycled more than 397 million books.…
Informazioni sull’azienda del venditore
Better World Books Marketplace, Inc.
55740 Currant Road
Mishawaka, IN U.S.A. 46545
Condizioni di vendita
Better World Books (BWB) values your satisfaction and offers you returns within thirty (30) days after the estimated delivery date on most items. All returned items must be in the original condition; used items should include the SKU sticker located on the spine or back of the product.
If you have an incomplete, incorrect, or damaged shipment, please contact our Customer Care team via Abebooks contact seller options before proceeding with the return.Please keep in mind that because we deal mostly in used books, any extra components, such as CDs, DVDs, figurines, or access codes are not included.
Diritto di recesso
Se sei un consumatore puoi recedere dal contratto in conformità con quanto segue. Per Consumatore si intende qualsiasi persona fisica che agisce per scopi estranei alla propria attività commerciale, imprenditoriale, artigianale o professionale.
Informazioni sul diritto di recesso
Diritto legale di recesso
Hai il diritto di recedere dal presente contratto entro 14 giorni senza fornire alcuna motivazione.
Il periodo di recesso scade dopo 14 giorni dal giorno in cui tu o una terza parte, diversa dal vettore e da te indicata, acquisisce il possesso fisico dell'ultimo bene o dell'ultimo lotto o pezzo.
Per esercitare il diritto di recesso, compila e invia elettronicamente una dichiarazione esplicita sul nostro sito Web, alla voce “I miei acquisti” nella sezione “Mio account”. Ti comunicheremo senza indugio una conferma di ricezione di tale recesso su un supporto durevole (ad es. via e-mail).
Per rispettare il termine di recesso, è sufficiente inviare la comunicazione relativa all'esercizio del diritto di recesso prima della scadenza del periodo di recesso stesso.
Effetti del recesso
In caso di recesso dal presente contratto, ti rimborseremo tutti i pagamenti ricevuti, compresi i costi di spedizione (ad eccezione dei costi supplementari derivanti dalla tua eventuale scelta di un tipo di spedizione diverso dal tipo meno costoso di consegna standard da noi offerto).
Potremo effettuare una detrazione dal rimborso per la perdita di valore dei beni forniti, qualora tale perdita sia il risultato di una manipolazione non necessaria da parte tua.
Eseguiremo il rimborso senza indebito ritardo e non oltre 14 giorni dal giorno in cui saremo informati della tua decisione di recedere dal presente contratto.
Il rimborso sarà effettuato utilizzando lo stesso mezzo di pagamento da te usato per la transazione iniziale, salvo che tu non abbia espressamente concordato altrimenti; in ogni caso, non dovrai sostenere alcun costo quale conseguenza di tale rimborso.
Possiamo trattenere il rimborso finché non avremo ricevuto i beni oppure finché non avrai fornito la prova di averli rispediti, a seconda di quale condizione si verifichi per prima.
Dovrai rispedire i beni o consegnarli a Better World Books, Mishawaka, Indiana, U.S.A., senza indebito ritardo e, in ogni caso, entro 14 giorni dal giorno in cui ci hai comunicato la tua volontà di recedere dal presente contratto. Il termine è rispettato se rispedisci i beni prima della scadenza del periodo di 14 giorni. I costi diretti della restituzione dei beni saranno a tuo carico. Sei responsabile solo della diminuzione del valore dei beni risultante da una manipolazione diversa da quella necessaria per stabilire la natura, le caratteristiche e il funzionamento dei beni stessi.
Eccezioni al diritto di recesso
Il diritto di recesso non si applica a:
- La fornitura di giornali, periodici o riviste ad eccezione dei contratti di abbonamento; e
- La fornitura di contenuto digitale non fornito su un supporto materiale (ad es. su un CD o DVD), se al momento dell'invio dell'ordine hai accettato l'inizio dell'esecuzione e hai riconosciuto che non avresti potuto recedere una volta iniziata l'esecuzione.
Condizioni di spedizione
Please allow 1-2 business days for order fulfillment.