Whether for building interactive browser-based applications or creating server-side applications in Node, JavaScript is the most widely used language for web programming. With new features, language improvements, paradigms, and potential use cases appearing regularly, there’s never been a more exciting time to be a JavaScript developer. In The Joy of JavaScript, author and JavaScript expert Luis Atencio teaches you key design concepts that lead to clean, lean, modular, and easy-to-maintain code.
This is a very complex book that explains advanced topic in a complex programming language using complex example of a blockchain application.
Is it useful? Absolutely, if you are mid+ level writing JS for money that other people need to interact with it is a very good read.
Do you have to read it? No. About 50% of the technologies and APIs discussed are for library contributors and framework developers and probably can be even harmful if you start using them in day to day development without very solid understanding of what you are doing. (Not the book's fault, engineers tend to over engineer and the problems that require complex advanced solutions are not very common in day-to-day dev work. And if you are using them, you need to be good enough to abstract them and simplify for the consumption so that rest of the code is still maintainable by the rest of your team. Otherwise you can end up with very complex and opinionated codebase.)
Could this book be better? Yes. Using blockchain as an example app might have been a mistake since it creates a lot of additional cognitive overhead that takes away the recourses that are very needed to actually understand JS topics in this book.
Let start off by saying I am a fan of Luis Atencio’s books. It seems that we have been hearing for years about the death of JavaScript but books like this show that not only is JavaScript alive and thieving it can be a joy to actually work with (if used right). I did not expect to learn a lot from this book but I found that I did.
I like the running example of block chains, but at times it was a bit distracting from what the content was about.
If you do not think you could possibly find joy in JavaScript, work your way through this book and see if your opinion changes. After reading through this book I found joy in JavaScript.
It was a joy :) I liked that author mentioned the excellent book You Don't Know JS by Kyle Simpson and used his OLOO pattern in examples. The functional programming part of the book was also pretty good. And I appreciate that author didn't use trivial examples to demonstrate the patterns. Instead of it, you will build a Blockchain algorithm :) I recommend the book to everyone who likes Javascript.
This was a really exciting book. I loved the Cryptocurrency project, although sometimes I wished the examples were a bit more in-depth, but the companion repo has all the source code.