Julio Biason
5 years ago
1 changed files with 62 additions and 0 deletions
@ -0,0 +1,62 @@
|
||||
+++ |
||||
title = "Functional Reactive Programming - Stephen Blackheath, Anthony Jones" |
||||
date = 2020-03-04 |
||||
|
||||
[taxonomies] |
||||
tags = ["books", "reviews", "stephen blackheath", "it", "anthony jones"] |
||||
+++ |
||||
|
||||
[GoodReads Summary](https://www.goodreads.com/book/show/24671986-functional-reactive-programming) |
||||
Functional Reactive Programming teaches the concepts and applications of FRP. |
||||
It begins with a careful walk-through of the FRP core operations and |
||||
introduces the concepts and techniques you'll need to use FRP in any language. |
||||
Following easy-to-understand examples, you'll learn both how to use FRP in |
||||
greenfield applications and how to refactor existing applications. Along the |
||||
way, the book introduces the basics of functional programming in a |
||||
just-in-time style, so you never learn anything before you need to use it. |
||||
When you're finished, you'll be able to use FRP to spend more time adding |
||||
features and less time fixing problems. |
||||
|
||||
<!-- more --> |
||||
|
||||
{{ stars(stars=0) }} |
||||
|
||||
* (-) Some phrase constructions are a bit hard to read. Maybe it's because I'm |
||||
not a native English speaker, but some phrases are akin to "my beautiful |
||||
nature photos", which you can read in different ways ("my beautiful |
||||
photos of nature", "my photos of beautiful nature") and I had to backtrack |
||||
and read the whole thing again. |
||||
* (-) Code is a mess. Long listings with no separation of concerns. I mean, |
||||
ok, you can use lambdas for simpler functions, but when you keep piling |
||||
lambdas over lambdas, things get a bit out of hand. Trying to explain |
||||
some functionality in a 200 line function is not actually helpful. |
||||
* (-) The ePub version seriously need another check. Some code listings are |
||||
pure text, so it follows the user font size; but other are |
||||
screenshots/images of code, which get way out of hand, as some listings |
||||
had fonts that where 1/5 of the font I use to read (yes, I use a large |
||||
font, I'm reading at night without my glasses, but the point remains). |
||||
* (--) There is very little explanation on what FRP really is, but a lot about |
||||
how to do things with Sodium, the authors library. Instead of focusing on |
||||
how to build your own FRP system, using Sodium as reference, the books |
||||
focuses _a lot_ in using Sodium and why that implementation is FRP instead |
||||
of explaining the concept behind the FRP functionality itself. |
||||
* (--) The authors shows some weird prejudices against TDD. For example, they |
||||
say that FRP doesn't require TDD and that using TDD is actually _harmful_ |
||||
for FRP, "unless you test logic". I mean, seriously? What do you think TDD |
||||
is about? Lines of code? TDD says that "tests should validate behaviors, |
||||
not implementation" and I'm wondering why the authors are so reticent |
||||
against TDD when their concept of TDD seems completely out of place. |
||||
* (---) There is a strong gatekeeping in the book. While talking about other |
||||
frameworks, the authors, they decide to focus more on "why this framework |
||||
is not pure FRP, while Sodium is" instead of, again, focusing on the |
||||
concepts of FRP itself. "FRP says so and so, you can build this with |
||||
framework X using that and that" is a good way to do it; "FRP says so and |
||||
so, framework X do this which is not what the FRP says, so framework X is |
||||
not FRP, but Sodium is!" is a dickish way to downplay other frameworks. |
||||
Also, it's weird that every time Sodium breaks some FRP rule (rules that |
||||
the authors themselves keep listing), they put a long explanation on why |
||||
it's ok to break the rule there, saying that it's ok that Sodium breaks |
||||
it. |
||||
|
||||
Honestly, I read the book and I still don't understand FRP; all I got was some |
||||
concepts for a Sodium framework. |
Loading…
Reference in new issue