4 ms·
abstraction isn't inherently a bad thing, it's what gives us the tools to reason at a higher level. It's leaky abstractions that are the problem. Proper abstra
by axlprose 10y ago
abstraction isn't inherently a bad thing, it's what gives us the tools to reason at a higher level. It's leaky abstractions that are the problem.
Proper abstractions are supposed to compress large bundles of information into a smaller set of [broad] concepts, which then imply all the large sets of details they're abstracting away. High level languages are pretty good abstractions on top of raw assembly code for example, because you don't have to think about what the assembly for your java code is going to look like, it's already implied that it's going to work.
As for react, I'm also not a huge fan, but that's because it's still a relatively leaky abstraction that comes with a lot of the same baggage as plain js+html+css. Especially when compared to a fuller abstraction like Elm[0]. But even that's still lacking a complete abstraction of html/css stuff. And that's not even taking the leaky abstractions on the backend side of the equation into account:
http://haskell-web.blogspot.com/2014/04/towards-deeper-integration-web-language.html http://haskell-web.blogspot.com/2014/04/towards-deeper-integ...
[0] http://elm-lang.org/ http://elm-lang.org/
- evolve2k 10y agoI think where a key abstraction was lost was when JavaScript became the language you had to compile to if you wanted to do web development. Biggest hope I see on the horizon is WebAssembly, which has support of many big players but I've heard very little on it recently. Ref: https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6#.958p781v9 https://medium.com/javascript-scene/what-is-webassembly-the-...
- tezza 10y agoBut then you still have the following hack offenders: * DOM, * HTML Layout, * CSS, * A small variety of crappy events ( onDomLoaded ), * a fairly rubbish heavyweight communication layer ( AJAX ) * Keyboard bindings that never work cross app, never cross platform * Accessibility ?? * No idea of the energy impact of your code * No ability to do queries on important device metrics ( energy consumption, clipboard, user presence, login / logoff, single sign on ) * History management and back button mess