DEV Community

Discussion on: Hit me with a good rant

Collapse
 
sargalias profile image
Spyros Argalias

I have a strong love/hate relationship with many things about web development.

CSS is powerful and fairly good, and I've learned to like it, but I also really hate it:

  • It's super inconsistent.
  • NOTHING works how you would intuitively think it should. Or in other words, if you don't know CSS inside out, it's sometimes really difficult to do what you want and get pixel perfect stuff. Other technologies don't have this problem at all.

Other things have to do with browsers and CSS:

  • SASS has been out since 2006 but we've only recently been able to use things like CSS custom properties and such.
  • New features like flexbox and grid take a long time to be usable in production.

Standards in CSS: For some reason good programming standards like scope and not using globals all over the place are completely ignored in CSS.

No versioning for the web. Yes there are downsides to versioning, but I think the eternal backwards compatibility is very unfortunate because we can never fix design mistakes. Our only options are to only use "higher order languages" that hide those mistakes from us, or completely copy-paste functionality with new syntax and minor changes and just never use the "old way" of doing things.

JavaScript prototype system is bad. I have never, ever, had a use case that required me to use dynamic scoping for this. Having to use hard binding all the time for proper classes has only ever gotten in my way. It should have been completely hidden away in ES6 classes, without having to wait for the class properties proposal which copies functions everywhere.