Book Review: Hands-On Functional Programming with TypeScript

Hands-On Functional Programming with TypeScript

To take advantage of the complimentary Packt subscription which I received as the technical reviewer for the fourth edition of C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development by Mark J. Price I keep track of new Packt releases that might interest me. In January, Hands-On Functional Programming with TypeScript by Remo H. Jansen piqued my interest since I've been programming a lot in TypeScript lately and increasingly tend to use functional approaches when doing it.

Unfortunately, the book didn't exactly meet my expectations. A large part of it is dedicated to various JavaScript essentials which are only tangentially related to functional programming. However, even the parts that are about functional programming didn't deliver much value to me. I was already familiar with a lot of the basics and learned almost nothing new from the sections about them. These served mostly as a refresher. The sections about the topics which I'm not yet comfortable enough with, such as the category theory and optics, were too short for me to fully grasp the topics although I've tried hard.

I was most disappointed that the book didn't offer much in terms of using functional programming concepts in real-world scenarios. The single chapter dedicated to that consisted only of samples using some of the functional programming libraries available for TypeScript. Although I found it useful, I was hoping for much more.

I have a hard time recommending the book to anyone. Although it mostly focuses on basics, I don't think it's suitable for beginners because of how short the explanations are. At least I had difficulties trying to comprehend the concepts I didn't know before. For me, its value was mostly in a few random nuggets of knowledge I stumbled upon while reading such as the strictBindCallApply TypeScript compiler option and tagged templates. I also liked the appendix with the roadmap for learning functional programming but you don't need to buy the book to read it.

If you're interested in reading the book and don't have a Packt subscription, you can buy it on Amazon as a paperback or Kindle book.

Get notified when a new blog post is published (usually every Friday):

If you're looking for online one-on-one mentorship on a related topic, you can find me on Codementor.
If you need a team of experienced software engineers to help you with a project, contact us at Razum.
Creative Commons License