Hacker News new | past | comments | ask | show | jobs | submit login
JavaScript Allongé, the "Six" Edition (2019) (github.com/raganwald)
45 points by tie-in 6 months ago | hide | past | favorite | 9 comments



Picking an example at random: https://github.com/raganwald/javascript-allonge-six/blob/mas..., I'm not sure what the real purpose of the book is... it seems to present overly elaborate ways to implement basic "good" algorithms, followed by a simple way to implement the parallel naïve algorithm. And it fails to provide a comprehensive summary of the potential benefits of the naïve algorithm, in this case that fewer cells would need to be read out (the person could be reading out commands for twice as long in the "good" algorithm!).

I'd much prefer to have the simple and good implementation, or one that starts out simple and works towards complexity based on explicit optimization tradeoffs, but that would appear to be outside of the scope of the book.


The book is primarily good at introducing the basic concepts of functional programming. It’s also one of the best for that in my opinion.

You wouldn’t use the quicksort from your textbook in production because it’s an example designed to teach specific principles. A complete tour of the literature on just that one story and all its variants and implications be a decent sized book all by itself.

Likewise, the examples inJS Allonge are vehicles to explore functional concepts.

I’d also note that there’s a PDF available for free.

http://raganwald.com/assets/javascriptallongesix.pdf


I'd be more willing to give the book the benefit of the doubt if it wasn't so blatant in proposing that the solution he likes is the Really Good Solution that has no downsides besides being "hard to understand". As if that wasn't a major downside in and of itself.

That said, being annoyingly cock-sure when you have the chops to back it up with an actual ideal solution is one thing, the same attitude when you present a questionably engineered algorithm and blatantly disregard its drawbacks (up to ~2x higher runtime / more "reads" needed to generate an answer) by implying only the less intelligent "non-artisans" would ever fail to appreciate it is entirely different.


Related:

JavaScript Allongé is free - https://news.ycombinator.com/item?id=6476337 - Oct 2013 (51 comments)


This version should have [2019] in the title.


Ok, we'll go with that. It's always hard to tell which year should apply to later versions of a thing.


This is a five year old book. Am I missing something?


If what you mean by “am I missing anything?” is “am I missing out [if I haven’t/won’t read it]?”, then possibly, yes. The concepts are timeless, and depending on what you already know, you may learn something useful, or at the very least something stimulating.

I read the first edition way back when, and thoroughly enjoyed it.


It's a great book!




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: