3 ms·
> Second of all, what's this deal with mutating some model object, discarding the exact change that was made, and then making the "framework" diff the old objec
by wiseowise 7mo ago
> Second of all, what's this deal with mutating some model object, discarding the exact change that was made, and then making the "framework" diff the old object with the new one, call your code to render the "virtual DOM", then diff that, and only then update the real DOM tree? This is such an utterly bonkers idea to me. Like, you could just modify your real DOM straight from your networking code, you know?
https://youtu.be/Q9MtlmmN4Q0?t=519&is=Wt3IzexiOX4vMPZf https://youtu.be/Q9MtlmmN4Q0?t=519&is=Wt3IzexiOX4vMPZf
Also, why do you use SQL and databases? Couldn’t you just modify files on the filesystem?
- thomasikzelf 7mo agoThe declarative vs imperative example is strange here. Why is the imperative example so convoluted? This is what one could write in js: badge.textContent = count > 99? '99+' : count badge.classList.toggle('show', count > 0) paper.classList.toggle('show', count > 0) fire.classList.toggle('show', count > 99) The declarative example also misses the 99+ case. I don't think this example describes the difference between imperative and declarative well.
- grishka 7mo agoYes, I don't understand "declarative" approach at all, it seems too wasteful and roundabout to me. You want to change something? You go and change it. That simple. I hate it when callbacks are abstracted away from me. Abstractions over callbacks always feel like they're getting in the way, not helping me. > Also, why do you use SQL and databases? Couldn’t you just modify files on the filesystem? Anyone can read a MySQL data file. IIRC the format is pretty straightforward. The whole point of doing it through the real MySQL server is to make use of indexes, the query optimizer, and proper handling of concurrency, at least. Sure you can reimplement those things, but at this point congrats, you've just reimplemented the very database system you were trying to avoid, just worse.