CSS can be a source of deep frustration for developers, both new and experienced. Over time, this has resulted in a portion of the web community with a fundamental misunderstanding of CSS – not only of how to write it well, but of what CSS is in the first place: a domain-specific, declarative programming language.
Familiar programming concepts are all over our style-sheets…but you must learn how to see them! This talk will examine the overlaps between CSS and traditional programming concepts – such as conditional logic, algorithms, and OOP – to help us better understand CSS.