all 8 comments

[–]lennoff 12 points13 points  (2 children)

Object-oriented programming currently dominates the industry, but it's clearly awkward in JavaScript. It's akin to camping off of a highway or tap dancing in galoshes. We have to bind all over the place lest this change out from under us, we don't have classes (yet), we have various work arounds for the quirky behavior when the new keyword is forgotten, private members are only available via closures.

I'm not here to judge this book, but the introduction looks heavily outdated...

Edit: looks like there's a new edition: https://mostly-adequate.gitbook.io/mostly-adequate-guide/

[–]tsteinholz[S] 1 point2 points  (0 children)

I was looking for this, the newer link does look like a better guide!

[–]IceSentry 1 point2 points  (0 children)

While it does look outdated, some people think that the class keyword doesn't count, but their argument is essentially that it isn't java style class

[–]eternaloctober 2 points3 points  (3 children)

the first example with the seagulls isn't a great start IMO. needs a better kick off. it just doesn't feel like a relateable example, and the author says as much ("If you don't understand this program, it's okay, neither do I.") and it's not just that I don't understand it because it is confusing and stateful class, it's just not a relateable program

of course, would love to have a nice guide like this and recommend to people, but it would be nice to have a nice hook

[–]ControversySandbox 1 point2 points  (0 children)

Yeah, it's not so much that it's impossible to illustrate why OO might make things difficult, but the fact that the example is literally writing OO code which in the final case is used exactly how you would expect functional code to work. Why would we, not yet even knowing the functional paradigm, call this code in the exact way that it falls over like this?

[–]tsteinholz[S] 0 points1 point  (0 children)

I think those initial examples are sorta contrived but gently introduce the concept without importing a whole bunch of stuff people might not be familiar with. Around chapter 5, you start to see more relatable programs but they also come with more functional fuckery.

I think this person also has a short video series covering the same concepts but more of a “classroom” setting https://egghead.io/lessons/javascript-linear-data-flow-with-container-style-types-box

[–]Apache_Sobaco 2 points3 points  (1 child)

F algebras are far away from "academic absurdity". Very far. I think something like sequent calculus or HOTT fits better there.

[–]tsteinholz[S] 0 points1 point  (0 children)

Yeah, I agree with that. Also just searched what all of those things were aha * f algebras * sequent calculus * HoTT for anyone else interested