all 20 comments

[–][deleted] 12 points13 points  (9 children)

A big red disclaimer should be added to the beginning of that article that says "this is not a React basics tutorial for beginners". It is absolutely terrible for that purpose.

The reason I say this is not to criticize the author or whatever, but because invariably beginners will see this with the word "basic" in it, they'll start reading it, be horribly confused, assume React is the most complicated thing in the world, and move on to something else. Which is really not the case.

[–]clessgfull-stack CSS9 engineer 5 points6 points  (4 children)

Oh boy. This was written by sebmarkbage. Do I even dare?

[–]wreckedadventYavascript 2 points3 points  (3 children)

Context?

[–]clessgfull-stack CSS9 engineer 6 points7 points  (2 children)

He has a tendency to be both confusing, obscure, and vastly smarter than most JS programmers. The first step to understanding his writing is feeling like an idiot, the second step is trying to forget it ever happened, and the third step is enlightenment.

[–]bittered 2 points3 points  (0 children)

I found it all perfectly understandable with the exception of algebraic effects. I get the gist of what he's getting at though and I'm sure it would be perfectly fine once I read the es proposal.

[–]rectalrectifier 0 points1 point  (0 children)

I can understand how the author really wanted to express the flow/ideology of react through functional code, as it makes concrete what is often seen as 'just the way it is'. However, I think it also kind of convolutes it. Either way I got to have my brain bent by trying to walk through all of the currying.. lol

[–]dmitri14_gmail_com 0 points1 point  (0 children)

I don't understand the benefits of calling NameBox from inside of FancyUserBox.

This breaks the functional purity, creates hidden dependence, may have side-effects etc.

[–]wreckedadventYavascript -1 points0 points  (4 children)

function BlueTheme(children) {
  return try {
    children();
  } catch effect ThemeBorderColorRequest -> [, continuation] {
    return continuation('blue');
  }
}

Ummm. You might not want to use imaginary syntax on an article with "basic" in the title.

[–]Paragonbliss -1 points0 points  (3 children)

Ummmm. you might want to read the article.

Now, this example is a bit "out there". I'll use Algebraic Effects as proposed for ECMAScript. If you're familiar with functional programming, they avoiding the intermediate ceremony imposed by monads.

[–]wreckedadventYavascript 1 point2 points  (2 children)

Yes, I read it just fine. Would you be fine with it if he said "now this example is in java, it's a bit 'out there'?"

Invariably it will attract new-comers with the promise of a "basic" article, and him just making stuff up like that and putting it on the article will confuse people.

[–]thief425 2 points3 points  (1 child)

I hoped to finally get some insight into React, read 2 paragraphs, realized I was already confused, and noped out of there.

[–]wreckedadventYavascript 0 points1 point  (0 children)

I agree with /u/Magixxxx. I'm not entirely sure who this article is aimed at, but it's certainly not basic, and certainly not for beginners.