I do agree on the js, but not on sass. Sass is still good, because of utterly-stupid-mixins and placeholders. Specially placeholders. Placeholders are amazing to make someone understand what inheritance is, when it can be a so-called pain in the butt, when it can save you from writing about a hundred lines. A lesser known benefit of sass is, it is a very gentle was of introducing someone to command line.
I've been meaning to reply to this comment all day, because it really stuck in my head. Thanks Samia.
I've never really considered people moving in to development via CSS as their first step. Yes, in this sense Sass makes a lot of sense - a more complex language with more things to use. I wouldn't want to get in the way of a pedagogical technique - it's great.
But I guess my counter point would be that I would want to demonstrate some of those principles you mention above in a more general purpose programming language like Ruby or PHP.
But it's really about what interests people sometimes; if you're very in to your CSS, Sass could be a wonderful thing to learn and use. I think I'll have to think more.
You're welcome. Since we are talking about newbies and people slightly more experienced than that, I hope this comment gives you some more food for thought.
Also, let us talk about CSS variables. They are incredibly useful, but they don't really makes sense, not yet. I know it is controversial, but read on. I say this because there's no "operation" on them, not yet. CSS has no loops, no if-else, no functions (I'm not counting calc()). So I get this question a lot "but, I can just write them there, right? won't that be easier?" It's like the new shiny gold heels in my wardrobe, it complements my dress fabulously but I could just as easily have worn the dress with another pair. But variables in Sass makes sense. you can just hold a value or you can hold a value and run operations on them. So when you write "You don't need Sass, CSS has variables now." it does not show the whole picture. CSS feels restrictive to a lot of people, which in result makes them want to use frameworks to "just get it over with". Sass can make them learn the fundamentals, which is the whole point of your article.
So my point is, even though general purpose languages can be used to make someone see the programming principles, when you are web programming, CSS and Sass are the easiest choice. And CSS by itself, is not very interesting to programmers who already had a lot of freedom with other languages, which in turn, encourages them to "bootstrap their site to death". Sass can actually make CSS interesting and in turn, they learn how it works, write better code and don't use unnecessary frameworks.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.