Reddit mentions: The best functional software programming books
We found 24 Reddit comments discussing the best functional software programming books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 10 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. Web Development with Clojure: Build Bulletproof Web Apps with Less Code
- Pragmatic Bookshelf
Features:
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 1.22577017672 Pounds |
Width | 0.65 Inches |
2. Erlang Programming
- ISBN13: 9780596518189
- Condition: New
- Notes: BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!
Features:
Specs:
Height | 9.19 Inches |
Length | 7 Inches |
Number of items | 1 |
Weight | 1.73283337932 Pounds |
Width | 1.1 Inches |
3. How JavaScript Works
- [Compatibility]: Designed for the Apple iPad 9.7 inch 2018 and 2017 model(Fit models: A1822, A1823,A1893,A1954), NOT compatible with other iPad models.
- [Professional Design]: Ultra-slim and lightweight design adds minimal bulk while protecting your precious device. Smart back panel cutout design gives better ventilation. A flexible soft bumper edge for better corner protection, prevents edge cracking and is easy to install/remove.
- [Scratch Protection]: Powerful magnets keep the front cover sealed and your iPad safe from scratches.
- [Stable and Sturdy]: Multiple built-in magnets lock together when in stand mode.
- [Reliable Auto Sleep/Wake]: Stronger magnets ensure the auto sleep/wake function engages quickly every time.
Features:
Specs:
Height | 10 Inches |
Length | 7 Inches |
Number of items | 1 |
Weight | 1.08 Pounds |
Width | 0.63 Inches |
4. Beginning Haskell: A Project-Based Approach
- Used Book in Good Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Release date | January 2014 |
Weight | 1.77251658648 pounds |
Width | 0.97 Inches |
5. Kotlin Programming: The Big Nerd Ranch Guide
- Slides on and off with ease
- Adjusts to fit sizes 28 to 48
- Perfect for almost any wearing occasion
- No holes for a clean look
- Ratcheting buckle, track lock system, cut to fit strap
Features:
Specs:
Height | 9.8 Inches |
Length | 6.9 Inches |
Number of items | 1 |
Release date | July 2018 |
Weight | 1.82763215198 Pounds |
Width | 1.1 Inches |
6. C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions
Specs:
Release date | June 2017 |
7. Lazy Functional Languages: Abstract Interpretation and Compilation (Research Monographs in Parallel and Distributed Computing)
- Used Book in Good Condition
Features:
Specs:
Height | 11 Inches |
Length | 8.5 Inches |
Number of items | 1 |
Release date | August 1991 |
Weight | 2.62129629518 Pounds |
Width | 0.53 Inches |
8. Haskell Cookbook: Build functional applications using Monads, Applicatives, and Functors
Specs:
Release date | September 2017 |
9. Web Development with Clojure: Build Bulletproof Web Apps with Less Code
- COOLS ON CONTACT: Get instant relief for sore nipples from pumping or breastfeeding with our Tender Care Hydrogel Pads; cools upon contact to alleviate irritation and pain while enhancing comfort
- UNIQUELY CONTOURED FOR YOUR BODY: The innovative contoured shape of our hydrogel pads is designed for maximized comfort, ease of use, and an optimal, full-reaching fit for moms’ unique bodies
- REUSABLE: Each of Medela’s Tender Care Hydrogel Pads are reusable for up to 24 hours after being opened from its individual wrapping to ensure moms get the most value out of their purchase
- CONVENIENT PORTABILITY: Our hydrogel pads are individually wrapped within their box for hygiene and easy portability – take them with you in your purse, luggage, or breast pump and accessories bag for quick, calming relief after pumping, nursing, or whenever you need it most
- EASY TO APPLY: Engineered for a discreet, comfortable fit, the non-gel side of the hydrogel pads stick snugly to the inside of your bra to provide ample relief for either shorter or longer periods
Features:
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Number of items | 1 |
Weight | 0.9 Pounds |
Width | 0.6 Inches |
10. Functional Programming in C#: How to write better C# code
- No More Pumping and Dumping: Know for sure before you nurse whether alcohol is still passing through your breastmilk after drinking. Test & Safe Breastmilk Alcohol Test Strips give you peace of mind and avoid unnecessary/time-consuming pumping and discarding of precious milk.
- Fast Results in Only 2 Minutes: Results are fast and tell you within minutes whether there is alcohol present and how long you should wait before it's gone from your system and safe to nurse again.
- Highly Sensitive & 99.9% Accuracy: With Papablic Test Strips, you'll be able to detect even the lowest levels of alcohol in breastmilk with 99.9% accuracy.
- Easy to Use: Just dip and read! you can enjoy a cocktail now and then with complete confidence that you'll know when it's safe to feed your baby again. Strips are individually packaged and meet strict medical requirements.
- Top Customer Service: If you experience any issues with this breastmilk alcohol test strips, we CAN ensure that you will always receive an apology and unmatched customer service until your problem is resolved.
Features:
Specs:
Height | 9.25 Inches |
Length | 7.38 Inches |
Number of items | 1 |
Release date | September 2017 |
Weight | 1.6755131912 Pounds |
Width | 0.9 Inches |
🎓 Reddit experts on functional software programming books
The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where functional software programming books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
I don't know C#, but I just spent 2 weeks working through a Kotlin textbook cover to cover, and then started rewriting my Java Android app in it. So, I'll list off some things I've enjoyed about it.
​
While LYAH is a fantastic book, I also felt a bit lost after reading it. You're still kinda useless as a Haskell programmer, all the practical things like 'drawing to the screen', 'calling a web API' are not included and bread & butter concepts like monad transformers, arrays/vectors, exceptions, any form of parallelism / concurrency, widely used language extensions etc., required to use/understand many libraries, are not discussed.
I can recommend Real World Haskell as a second book. Skip the basic early chapters and some of the outdated stuff, and you're still left with enough good parts. Also the Parallel and Concurrent Haskell book is truly excellent. It's written in a way that should make it accessible to someone with just LYAH under their belt. Both are available online for free, btw.
I haven't personally read it, but some people here recommend this book:
www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508/
Also, have you seen this great collection:
http://dev.stephendiehl.com/hask/
? That should give you a good introduction to many of the advanced concepts.
I would also recommend to check out 24 days of hackage to get a good idea of Haskell's library ecosystem:
https://ocharles.org.uk/blog/pages/2012-12-01-24-days-of-hackage.html
https://ocharles.org.uk/blog/pages/2013-12-01-24-days-of-hackage.html
Hope that helps, good luck! ;-)
> For stuff you can pay for, take a look at Joe Armstrong's Programming Erlang: Software for a Concurrent World. Joe Armstrong's one of the creators of Erlang and gives a pretty good description of the language and why it was thought the way it is. Then you should read Erlang Programming from Francesco Cesarini and Simon Thompson. It's almost a continuation of Joe Armstrong's book in the sense that it will tell you more about Erlang's environment and how to make complete safe, reliable and scalable applications.
Personally, I highly recommend reading Francesco's book first, as I've found Joe's book to be too daunting sometimes. I don't know how to explain it better. It just seems like Francesco's experience in teaching erlang classes for 10+ years shows through his book.
I'm still in the process of reading Francesco's book, so maybe I'm biased because I'm already familiar with many things and I had no contact to erlang (except for some info/examples on erlang.org which sparked interest) prior to reading Joe's book.
Edit: Forgot to mention that some reviewers over at amazon support my thesis.
Yes, which is totally awesome BTW, and I think your book is a great place for people to start.
https://www.amazon.com/Web-Development-Clojure-Build-Bulletproof/dp/1680500821/
The question is, for a newbie interested in Clojure, how do we direct them to Luminus, or a similar set of beginner "blessed" libraries, as a definitive starting spot. To keep them from getting lost in the universe of alternative options. Basically every step of the process of getting started presents a beginner with options that they won't know how to answer until much later. Emacs or Cursive, Boot or Lein, Pedestal or Ring, Selmer or Enlive, Korma or Yesql, Om or Reagent.
What helped make Ruby and Rails easy to learn is those initial choices were pre-made. You were using Textmate, Rails (Rack, ActiveRecord, Prototype). Even though there were some bad choices, like Prototype as the default JS library, just by that choice being pre made it let you move forward into the learning. And by the time you built something, you knew enough to swap it out for JQuery, or whatever.
In practice lots of companies of all sizes are using Clojure for web development today. The success stories on the official site are a good place to start to see what it's being used for. I work in the enterprise and my team moved from Java to Clojure over past 6 years. We couldn't be happier with our decision.
What practical examples are you looking for specifically?
I published a Web Development with Clojure book that specifically focuses on building web applications using the language.
There aren't any frameworks because the community hasn't found them to be of value so far. However, that doesn't imply that there isn't a mature web platform available for Clojure. Luminus is widely used. It couples a template for generating the boilerplate for typical applications with documentation on how to accomplish common tasks. There are other alternatives as well such as Yada and Pedestal.
In terms of libraries and ecosystem, here are a few examples:
Polymorphism is supported in the language via multimethods and protocols.
Libraries such as component and integrant are used for inversion of control. Meanwhile, mount provides a novel and automated way to manage resource lifecycle.
My experience working with OOP for over a decade is that it does not deliver on its promises. Large OOP codebases end up tangled and difficult to maintain due to shared mutable state. These systems are hard to reason about and they're hard to test. Any time you come back to an old project, it's hard to tell whether a change you make will be isolated or it will affect another part of the application via side effects.
I found that code reuse was difficult to accomplish in practice, and also rare. With a language like Java, you end up writing most of the logic in methods, and those are only usable within the context of a particular class. When you need a similar method in a different class, you can't reuse your existing code directly. This leads to a mess of adapter and wrapper patterns often seen in OO codebases.
This will sound like it's just a tour of new features, but I feel like it's just a blow by blow guide on how to use c++17 well. I think it's a good book.
C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions https://www.amazon.co.uk/dp/B01MTSADN8/ref=cm_sw_r_cp_apa_i_xEImDbGQ586RJ
Excellent! Thanks for the submission. For a mathier book, I recommend Lazy Functional Languages: Abstract Interpretation and Compilation.
If you're going to try tackling an MMORPG and scalability is a concern, think about learning Erlang. You can go from one server up to a hundred and you won't have to appreciably change your programming model, you get access to mnesia an erlang-centric distributed database, and can write each npc as a separate cooperative task if you really want to, which lets then think more complicated thoughts over multiple timesteps more easily.
Edit:
I'm not sure what about this post merited downmodding it into oblivion. I'm hardly an Erlang zealot. In fact this is pretty much the only domain for which I would recommend using Erlang to develop.
Erlang has been used for several massively multiplayer/multiuser projects.
I was looking at his book, but I honestly think this one is a far better choice:
https://www.amazon.com/How-JavaScript-Works-Douglas-Crockford/dp/1949815005
I've dug into several haskell books and resources online and as crazy as it sounds my favorite book was: :https://www.amazon.com/Haskell-Cookbook-functional-applications-Applicatives-ebook/dp/B073QW9LS3/ref=sr_1_2?ie=UTF8&qid=1527444265&sr=8-2&keywords=Haskell+Packt
It's practical, short, gets you building projects, and has very clean examples and pictures. Very simple and easy to digest explanations.
The "entity3 gameState5 garbage" is more elegantly handled with the State/StateT monad. You may also want to check out the lens library. Lens + State monad is probably what you're looking for.
Check out [real world haskell chapter on monads (including State)] (http://book.realworldhaskell.org/read/monads.html) And google for some Lens tutorials online. I liked the chapters on State (and other monads) and the introduction to the Lens library in http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508
Also, you don't need to do:
let (entity, gameState') = createEntity gameState player
let square = createSquare (12 float2Double normalScale) (16 float2Double normalScale)
Instead do:
let (entity, gameState') = createEntity gameState player
square = createSquare (12 float2Double normalScale) (16 float2Double normalScale)
Never heard of it. Looked it up:
https://www.amazon.com/gp/product/1949815005/
> Douglas Crockford starts by looking at the fundamentals: names, numbers, booleans, characters, and bottom values. JavaScript’s number type is shown to be faulty and limiting, but then Crockford shows how to repair those problems. He then moves on to data structures and functions, exploring the underlying mechanisms and then uses higher order functions to achieve class-free object oriented programming. The book also looks at eventual programming, testing, and purity, all the while looking at the requirements of The Next Language. Most of our languages are deeply rooted in the paradigm that produced FORTRAN. Crockford attacks those roots, liberating us to consider the next paradigm.He also presents a strawman language and develops a complete transpiler to implement it. The book is deep, dense, full of code, and has moments when it is intentionally funny.
If I had to guess, I would say books tend to appeal more to those learning JavaScript and this book seems to cover more advanced topics which could make it less appealing. Its also still early. The book hasn't been out for a month yet. But my first impression is that the cover is not doing much to help. To me it looks dated :P
Web Development in Clojure, written by the author of this library, is also very good.
Functional Programming in C#: How to write better C# code https://www.amazon.com/dp/1617293954/ref=cm_sw_r_cp_apa_i_MrNzDb7EHSB42
If you don't mind spending money, spend it on a good book such as this. You can probably hack some decent web apps with just online tutorials and documentation though.
Here is the desktop version of your link
Perhaps you will find all the answers in this book: Web Development with Clojure: Build Bulletproof Web Apps with Less Code 2nd Edition by Dmitri Sotnikov
They weren't:
http://book.realworldhaskell.org/
http://en.wikibooks.org/wiki/Haskell
http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508/ref=sr_1_2?ie=UTF8&qid=1406236911&sr=8-2&keywords=haskell
http://www.amazon.com/Haskell-Analysis-Cookbook-Nishant-Shukla-ebook/dp/B00LB6DIQU/ref=sr_1_1?ie=UTF8&qid=1406236986&sr=8-1&keywords=haskell+data+analysis+cookbook
Beginning Haskell
Haskell Data Analysis Cookbook
https://www.amazon.com/Kotlin-Programming-Nerd-Ranch-Guide/dp/0135161630/ref=nodl_
I like Kotlin Programming by Big Nerd Ranch though I cannot compare it to other books. But Big Nerd Ranch are reputable.
Effective Kotlin is probably for the more advanced but the book wasn't/isn't well received by this community so you will have to do your research on if it's for you.
Thompson's book was updated in 2011, and the Apress book looks like a good learning resource generally but I haven't read beyond a few chapters. There's a few odd typos where Mena writes "Platform does something" and he means GHC.
(Also, how about Bird's Pearls book? Hudak, School of Music?)
http://www.haskellcraft.com/craft3e/Home.html
http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508