Kids have the freedom to go to school without fear of being shot.
Mothers have the right to take 6 months paid maternity leave.
Workers generally have more rights and protections, although this is getting worse.
I've used Zapatos and can vouch for its effectiveness. It doesn't bind you into any specific way of setting up your database or defining models, but provides an extremely easy way to integrate with other TS libraries in order to get typed queries.
Recent updates in TypeScript have also made ADTs much better to use and make expressing business logic in a statically safe way. It's incredible how much mental overhead that good typing systems (and good utilization of them) can save you when navigating complex code bases.
Yes, and since typing is only at compile time, it's also missing some of the extremely convenient pattern matching syntax that I love from Haskell, Rust, Scala, etc....
Despite some downside, I'm a huge fan overall though. I haven't tried ReasonML or ReScript, but compared to bare JS, TypeScript makes frontend programming a lot more enjoyable to me.
I consider ReasonML and ReScript to be effectively dead since they split the community a few times now. I don't know anyone who's actually using either in production, except for their respective sponsors Meta and Bloomberg.
That was my first interpretation as well, and I don't think there's actually any such technological limitation.
But I think what was meant is that typescript's mostly committed to not changing runtime behavior of the JS that remains when you strip the types away, and while I we might disagree with that goal or with its application in this instance, I can at least see the flow of the reasoning and label it a matter of priorities.
The more time you spend on this site the more you realize that it is not immune to the same problem that other sites have of people acting as if they have something insightful to say when they're just regurgitating common talking points.
The few contrarian opionions typically get buried here, althougn not hidden or lost in a massive sea like Reddit for the most part.
This place is better to glean insight from the more technical threads or the ocassional debates that don't immediately devolve into emotional appeals.
I can't agree with this enough. Certain threads are almost as bad as reddit. It isn't quite on the same level as having a current ukraine war thread and literally every comment is completely wrong about the weapon used. That doesn't happen on HN much but its clear a lot of the time the comments are just not what they used to be.
I'm disappointed because it reduces any value in the comment section. I mostly only stick to technical threads at this point.
Putting aside books like the Pragmatic Programmer and Lean Startup, big authors in order were Richard Dawkins, Ayn Rand, Yuval Harari, David Foster Wallace, Malcolm Gladwell, Jonathan Haidt, Henry Hazlitt etc.
Kind of the typical middle-brow stuff you'd expect some white college educated FAANG L5 to be reading on the weekend at his house in Sunnyvale.
Steven Pinker wasn't high up on the list but someone like him would be typical. He has studied the brain and linguistics and visuo-spatial thinking and writes about that (actually I think he's wrong about adaptationism, but anyhow...) Then he writes some Hegelian type books about how human history is a series of progressive steps to our current state, the best of all possible worlds. He's in the same boat as his typical readers - he has some specific technical knowledge, and that plus the weltenschauung of a 67 year old son of a lawyer who got a doctorate at Harvard results in his books.
It's living in a bubble. It's good someone like Pinker rejects some irrational views, the problem is when he can't see his own prejudices and irrational views.
Come on, Hegel thought of social progress as the side-effect of a literal World-Spirit, an actual ghost trying to haunt the entire planet in increasingly "self-realized" forms. You can't be seriously criticizing Steven Pinker on that basis, he shares nothing of that basic worldview. There are books that try to tell an "inherent self-propelling progress" story along the lines of Hegel's basic intuition (I can think of "Non-Zero" as one) but even those try to make a better-phrased argument to hang that intuition on than just talking about a mysterious World Spirit.
Are you expecting most to read Kant and Joyce? Curious about your definition of non-"middle brow." Imo, both Hegel and Pinker are routinely discussed and criticized here.
The fact that it's been well over 3 years since the introduction of hooks in React and people still don't understand how to use them makes me very worried for frontend development.
It's also been well over 3 years of myself and many, many other people and teams competently building extensive web apps with React and hooks, so it's not super clear to me in what sense these people "still don't understand how to use them."
There are many reasonable criticisms of hooks, like 1) some people have a strong personal distaste for them, 2) some educators say they're difficult to teach to newcomers, and 3) many people who use them don't have a deep understanding of how they work and how to handle some of the "gotchas." But none of them lead me to conclude that people "still don't understand how to use them."
The JS ecosystem skews younger, not in age, but in years programming. Most people who maybe want to dabble, or fix a script or something, start with JS or Py, and as most of us do, they enjoy programming and venture out to pick up another language along side it. As is the custom, eventually if they chafe against the limitations of JS enough, they move on to something that improves on those, and their newer contributions go there, whether it be typescript, rust, zig, go, and so on.
Looking back at the JS side where the types don't bite, there's a library for everything, and the logos are really good, what we end up with are a lot of first year, or first three year contributions to the ecosystem, so a lot of patterns and algorithms are wisdom lost and aren't present, a lot of libraries are good but not perfect, and there is really no incentive to really dive in and become an expert on a given framework like react, because any day the community might decide, "It's VUE time now" or some such other technology, and suddenly you're the guy using Gulp and Angular on a busted 2021 macbook at the hackathon and people are addressing you as "sir"
There is no incentive to be "the react guy" when it comes to JS ecosystem, that 15 mins is quick.
I am "the react guy" -- but before that I built knockout applications with requirejs & angular applications with coffeescript and gulp, and before that with a 2000 line long script.js & jquery ;)
I don't really disagree with anything you said, except to point out that a lot of the current crop of web devs have never experienced what it is to build an app without any abstraction such as React, and quite understandably have no idea what problems it is doing for them.
I do know that since hopping onto react with all of that ~baggage~ context, I have never wanted to program UIs with a different model. It is true that hooks introduce a layer of abstraction that is sometimes difficult to reason about, but IMO they boil down the problems we faced with class components/lifecycle/server rendering gotchas, and put them front and center - forcing you to confront and fix them rather than settling for a solution that works 99% of the time.
> the current crop of web devs have never experienced what it is to build an app without any abstraction such as React, and quite understandably have no idea what problems it is doing for them.
This is true. A lot of those struggles that the earlier people established, the patterns and best uses, those are lessons learned the hard way, and the impact on generation 2 is often much less because that wasn't a problem that needed to be overcome.
What give you the impression that people don't get hooks? In our company I see zero questions about how hooks work on slack. 90% of the time useEffect is enough.
Yeah I was going to say.. where’s the confusion? Once you learn the 3 or 4 most used hooks you can pretty much achieve everything you would ever need in a web app. It’s not like they aren’t documented well, and there are tons of videos on them.
> Do they understand how useEffect actually works?
What do you mean? If you're asking if they can and do use useEffect for its intended purpose regularly and don't run into edge cases any more often than with any other coding pattern, then yeah, they understand how useEffect actually works. If you're asking if they have a deep technical understanding of how hooks are implemented in the React library and every potential "gotcha" they might ever run into, then sure, probably not, but the same goes for every basic pattern used in any programming language.
I think the magic of frameworks is that engineers can be productive and create actual value without understanding how things actually work under the hood. In the AngularJS days, how many people could honestly say they understood the scope inheritance and digest cycle entirely? Or how in VueJS that objects' setters and getters are replaced with proxies that trigger a rendering cycle?
Honestly, I would say 90% of professional engineers don't understand how these reactivity models actually work under the hood, and that is okay because it's not strictly necessary to get the job done.
That being said, if I ever had a candidate that is in that remaining % of people who not only know how to use the technology, but what it's doing under the hood (and as a bonus, the benefits and drawbacks of a given approach), it would be an enthusiastic two thumbs up from me.
This looks really cool. It would be nice to see some benchmarks against something like electron to see how they compare performance-wise for end users.
This is really interesting. Would you mind sharing a bit about how you keep the data that is shared across services in sync? Or is there a hard separation of concerns so that services would only commuincate with the service that owns that data to obtain it?