Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Which wouldn't be so bad if it were a language built of small atomic values and transformations atop those values, like most programming languages. Then you don't have to care that, say, an entire new language for flexible layout exists because you've written your layout core and transformers on top of those atoms and it works fine.

It's not. It's a declarative language where the declared intents are extremely high-level and can interact in surprising ways (credit where it's due: modern CSS has almost all those interactions well-defined and considered; it was much worse when the answer to how two pieces that were independently designed interacted was "However the browser feels like they should interact"). As a result, to really be deeply fluent in it you have to keep abreast of design trends (dialog boxes! scroll state! custom corner shapes!), and that's not every programmer's cup of tea.

(To be fair: there are really good tradeoffs here. Especially around accessibility: a declarative language where high-level intent is the main element is much easier to answer questions around, say, "How will a screen reader interpret this" than a low-level atoms-and-transforms language. Othewise, your screen reader has to be able to guess things like whether that set of SVG commands and transforms is supposed to be the corner of a dialog box or a very fancy letter 'C').





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: