The Joy of JavaScript (Manning)

Author: Luis Atencio
Publisher: Manning
Date: March 2021
Pages: 360
ISBN: 978-1617295867
Print: 1617295868
Audience: JavaScript developers
Rating: 4
Reviewer: Ian Elliot
Joy you say!

The Joy of JavaScript - I'd agree that there is a lot of Joy in the language, even if some don't agree. JavaScript is an idiosyncratic language in the era of strongly-typed, class-based, object-oriented languages and Java it certainly isn't. A book that promotes the language isn't likely to sell to a complete beginner who doesn't have the necessary brain modules to even conceive that a language might conceal some joy. Obviously this is for the reasonably proficient JavaScript programmer wanting to improve their knowledge and the way that they use the language.

Now here we hit a problem because this book is really only going to be joyous for you if you want to embrace the functional approach. Functional programming isn't for everyone and some think it introduces unnecessary barriers to just getting on with the job of coding. Programming is difficult enough without introducing artificial difficulties that have to be overcome. Of course, you might believe that functional programming is the only way to do things. In which case you are going to be equally disappointed because JavaScript it not a functional language. At best you can take a function-oriented approach to programming which, used in the right place, is a good thing.

So what we have is a book that is selling a programming methodology rather than a language. The JavaScript part of the joy is incidental and you could even say a bit of a damper.

Banner

Chapter One starts off with a look at JavaScript. Only it doesn't. Really it's more a look at some ideas of functional programming with an angle towards JavaScript. The book really gets going with Part 1 on Objects and we get the usual look at prototypical inheritance, constructors and class-based inheritance. The final chapter in the section is on linked and compositional approaches to objects.

Part 2 is all about Functions - as you might expect, they play a big role in functional programming. Here we learn what functional programming is - currying, closure, immutability and side effects. Later we learn about even more advanced ideas -functors and monads. This is all very high functional programming as opposed to the way a typical JavaScript programmer might make use of functional composition, chaining or mapping to get the job done.

Part 3 is called Code - which doesn't give much idea what it is about. It covers modules and metaprogramming. At least JavaScript is the star in this section and you will learn some ways to use the mysterious symbols.

Part 4, the final part, is called Data which sort of logically follows a section called Code. The main focus he is asynchronous programming - promises and async/await. You also find out about streams including generators.

Overall, this really isn't the Joy of JavaScript, it's the Joy of Functional programming using JavaScript as an example language. This is fine if you really wanted to learn about functional programming, but not so good if you really wanted to find out about JavaScript. The view of JavaScript as a functional programming language is at best only a half appreciation of the bigger picture. JavaScript is a multi-paradigm language with its own strong points which aren't particularly tied to a single, all-encompassing, approach.

JavaScript's joy is in using the parts that suit the problem in hand. If you think that functional programming is the key to the universe then you would be better of seeking joy in Haskell, say.On the other hand, if you want to find out more about functional programming and have to use JavaScript then why not read this book as it fills this slot reasonably well.

For more recommendations of books on JavaScript at this level see Advanced JavaScript Book Choices in our Programmer's Bookshelf section

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


Adventures of a Computational Explorer

Author: Stephen Wolfram
Publisher: Wolfram Media
Pages: 432
ISBN: 978-1579550264
Print:1579550266
Kindle: B07Z6BYVSC
Audience: Fans of  Stephen Wolfram
Rating:  3
Reviewer: Alex Armstrong
A personal account of being a computer geek?



Software Requirements Essentials

Authors: Karl Wiegers and Candase Hokanson
Publisher: Addison-Wesley
Pages: 208
ISBN: 9780138190286
Print: 0138190283
Kindle: B0BTLC53FF
Audience: General
Rating: 4.5
Reviewer: Kay Ewbank

This slim book looks at how to work out the requirements for a software project through twenty 'practices' that you c [ ... ]


More Reviews

joyjava

Last Updated ( Saturday, 19 February 2022 )