I think I wrote a book: Functional Programming in JavaScript

You never know where life will take you. It may take you rock climbing in Argentina, it may take you to a farm in Nebraska, it may take you to a high-rise building in San Jose. Starting in October 2014, life took me (or, my name at least) to a publishing company in Birmingham, United Kingdom. A colleague of mine, Trent Hauck, wrote a book for the same publishing company and asked me to be a technical editor. I said sure! Little did I know that the experience would end up with me writing a book of my own.

I've always enjoyed writing. I aced all my essays in school and I wrote all the technical literature for Atipa Technologies while I was employed there. But that was boring stuff. Heavily inspired by Zen and the Art of Motorcycle Maintenance, I wanted to write about something that had to be approached as both an art and a science. Enter functional programming. Enter Functional Programming in JavaScript by Dan Mantyla.

Some reviews on Amazon are coming in and they're very encouraging. "This book is great. It is the most gentle and most practical introduction to functional programming that I have come across." 

Functional Programming in JavaScript by Dan Mantyla

Writing a book like this was a truly arduous yet rewarding effort. Many long nights where spent trying to keep up with Packt's deadlines. Now might be a good time to talk about the publishers, Packt. First they get the book going with an "acquisition editor" who seems to have the most authority over there. Once you have one or two chapters submitted, they switch you over to another editor. It's this editors job to constantly jab you and prod you to submit the chapters ontime per their rigid schedule of deadlines. After chapter 4 or 5, I figured this out. As a publishing company, all they're concerned with is profits and not the authors. Their main goal is to publish as many books as possible as to "throw shit against the wall and see which pieces stick," so to speak. It was at this point that I decided to focus on quality rather than pace. I have my reputation to look out for, after all. 

I'm using the money I've earned from writing this book to fund a completely different kind of project: restoring an old pickup truck. All the strenuous coding and writing has left me with a strong desire to work with my hands for a while. Fun fact: photographs of my truck project may be published in a separate book! Oh, the places life takes you... (You see what I did there? I referenced the introductory paragraph in the conclusion, that's a literary trick for ya.)

If you would like to learn how to use functional programming in your JavaScript apps, please buy my book. Thank you!

Please don't illegally download it online. I know it's tempting, but I could really use the money. Thanks.

Reviews have been coming in, and the news is good!

From the very beginning, the goal with Functional Programming in JavaScript was to strip the veneer off the language to expose its inner beauty and functional roots, a necessary step in helping the reader to fully understand both the language and the functional programming paradigm. And now that some reviews are coming in, it appears that the goal has been met.

Here are some excerpts from the Amazon reviews for the book:

This is probably the best of the introductory texts on functional programming concepts in JavaScript. Appreciate the author's coverage of __multiple__ functional libraries. Concise and understandable explanations and implementations of category theory, monads, thunks, trampolines, and even a y-combinator with caching.

The example explaining closures made me grasp this staple functional feature more than any I had read before. I "got it", which makes me really appreciate this book and it's author. I've read other explanations, but this one clicked with me. [...] With this explanatory approach I was able to grasp the whole and not just the individual parts. Up to this point, I've always seen functional programming as just a series of techniques without seeing the relations between these techniques and without seeing the full power and possibilities, but now I think I'm beginning to see it more holistically.

This book for me is AWESOME as it delivers more than what you would expect from a book with a title of “Functional Programming in Javascript” as the author not only discusses and teaches how to program in a Functional Programming style using Javascript, but it also teaches how to use Javascript to program in a Object-Oriented style. Therefore no one style is neglected. This book, however, is still faithful to its title as it goes in-depth in terms of learning Functional Programming using the Javascript language.

This book is great. It is the most gentle and most practical introduction to functional programming that I have come across.

They love me! They really really love me!!