147 karma · joined January 29, 2014
- Cordless drill/screwdriver.
Anecdotally, I see many drawbacks in using video games for learning. With my kids doing remote-learning, most of the math is taught/practiced with math games -- most of these have advertisements. It's so easy for kids to tab to another site/app that's more interesting. I can only imagine that if I had YouTube a click away from my studies as a 12-year-old, I'd get absolutely nothing done.
I also disagree that learning always needs to be "fun" and that we have to sugar-coat everything, including education, for kids. I don't understand why we can't teach kids to deal with difficulty -- to work on learning -- and then be proud of themselves when they've accomplished something.
With class components, my state/props are clearly defined within the constructor and/or PropTypes. This makes it easy to understand the overall architecture of a component. Functional components with Hooks don't have the same sort of structure and can be difficult to understand at a glance.
One of my gripes with Hooks is that listening for async state updates requires more code/complexity than w/classes. In a traditional class component, you can add a second, optional argument as a callback which is called when the state has updated:
setState({ myState: 'newValue' }, () => { this.doSomething(); });
With Hooks, that doesn't apply. The useState "set" function doesn't have a similar argument. setMyState('newState');
Instead, you need to use 'useEffect' with an optional argument: useEffect(() => { doSomething(); }, [myState]);
This leads to potentially having many "useEffects" scattered throughout the component.That said, this is just my experience with Hooks after a few months of working with them. It's entirely possible that I just haven't had enough experience with them yet.
In my opinion, Slack has "won" over other clients because of UX: it's extremely easy to sign-up, understand, and use productively. Plus, even large orgs (ours included), can use the free version if they're OK with having chat history disappear after a few days/weeks.
The primary reason I chose over zsh/bash was that autocompletion just works. If you install it, I highly recommend oh-my-fish as well, which allows you to add packages for look/functionality: https://github.com/oh-my-fish/oh-my-fish
If you're a zsh user, they have a similar framework: oh-my-zsh: https://github.com/ohmyzsh/ohmyzsh