Preprocessors are for newbs who aren’t good at CSS, plain and simple.
1) Compass (for SASS) is a joke, how can you possibly learn bad ass CSS3 stuff if Compass is always taking care of the mountainous task of vendor prefixing.
For example, this is just ridiculous looking.
What the hell is that doing?
If you would just use CSS, it is 10x more clear what is going on and so much easier to write the full thing out. After all, half of being a good front-end dev is really nailing down copy and paste keyboard shortcuts.
The more repetitive the CSS, the more opportunities you have a chance to memorize it, amirite?
2) Ok, people keep touting working in a “modular way” by using imports and breaking your CSS up into manageable chunks. If CSS was meant to be like this, we wouldn’t minify it back to one single file, duh. CSS naturally likes to be in a big clump. Plus scanning giant CSS files is super easy once you memorize the structure of the document and where everything resides, as a bonus, this is also job security.
3) Auto creating sprites? Sounds like someone should take a a remedial math class and create sprites like a man. There is nothing like the satisfaction of having to look at that previous sprite you created on another project to remember the format of how to set them up.
4) Extends, Silent Classes & Includes are all just crutches for people who don’t have a grasp on CSS. Preprocessors are a trend that will fade soon, I am pretty sure things like SublimeText will die out also. Real men just use the OG Notepad, not the ++ version (which is just another crutch).
I think the points above illustrate why Preprocessors are lame, but even worse, the people who use them probably listen to Nickleback.
> Preprocessors are for newbs who aren’t good at CSS, plain and simple.
This statement invalidates everything that follows it. @scottnix
I agree that any programing language must be learned well before adding another abstraction layer. As a professional who has good grasp on many features of CSS, one should IMO consider preprocessing…after all it’s just a tool, and if it helps… all the better.
Also, nobody is forcing you to use it. (unless it’s a job requirement)
The whole idea behind preprocessing CSS was developed by people who are proficient in writing plain CSS and were looking for ways to make life easier. (80/20)
> Preprocessors are for newbs who aren’t good at CSS, plain and simple.
Plain and simply: wrong.
I guess I’m a newb? @chriscoyier is a newb? Paul Irish is a newb?
> The more repetitive the CSS, the more opportunities you have a chance to memorize it, amirite?
Yes… when you’re learning. Why the hell should I have to write out all of the prefixes if I already know they should be there?
> If CSS was meant to be like this, we wouldn’t minify it back to one single file, duh.
I guess you also don’t minify any of your JS files?
> Plus scanning giant CSS files is super easy once you memorize the structure of the document and where everything resides, as a bonus, this is also job security.
This is ridiculous. Your argument against a modular set up is that you can easily *memorize* a massive CSS file. The whole point of a modular set up is to avoid that and to make things easier for you. Why should I have to scan a massive file to find sidebar stuff when I can just create sidebar.scss?
> Auto creating sprites? Sounds like someone should take a a remedial math class and create sprites like a man.
I’ve never used it myself. Instead, I’ve built a custom mixin that makes it easier to read and to automatically support retina displays. All I have to do is write `@include sprite(x,y)` (where x and y aren’t pixel values, instead they are they location in a structured grid sprite that I’ve created).
> Extends, Silent Classes & Includes are all just crutches for people who don’t have a grasp on CSS.
I have a complete grasp of CSS. It sounds like you have a problem with people taking shortcuts and not learning something properly.
> I think the points above illustrate why Preprocessors are lame, but even worse, the people who use them probably listen to Nickleback.
Either this is an amazing troll or you have a lot to learn in this industry. Not understanding preprocessors is one thing, but refusing to use them would make sure you wouldn’t get hired by my employer.
I *have* to assume he’s trolling since this is from his own blog:
> Using the SASS mixin has definitely increased my overall workflow speed which is probably the greatest benefit.
> Hopefully you are using SublimeText as a text editor
[Link to post](http://scottnix.com/placement-of-media-queries/ “”)
Why would you make me get so angry when you believe differently, @scottnix!?
@AlenAbdula Yeah man, i prefer not to use a preprocessor simply because i honestly haven’t given it the time and with my workflow, a preprocessor isn’t really needed. I figure one of these days i will give it a gander. In no way am i saying these things aren’t good for workflows, i just work with a lot of .NET and Java. I guess this weekend i will give one a try, who knows, maybe it will change the way i write css lol..
To tell you the truth, I prefer 2 preprocessing methods:
1. the shortcut coding(zen coding plugin)
2. drag-and-drop html tags/css properties/custom predefined structures/codes from left to right, that will generate code for you, this way you can have an html and css skeleton in 5 minutes
You’re not weird, I completely agree with you. That’s kind of why I don’t like CoffeeScript (that, and I like curly bracers!). That said, to me, at least Sass doesn’t make me feel like I have lost any control. I know exactly what’s going out, because there’s very little magic happening there.
To me, using Sass is equivalent of using better tools when painting. I already have the gems I need installed (I set it up once when I reinstall the computer, and occasionally update), so I don’t lose any time there. It doesn’t replace knowing how to create CSS, or visualize the design, or anything like that, but it allows me to do my stylesheets in a nice setup where I can pull in what I need for every thing, and it allows me to skip some steps that I really prefer not needing to deal with (seriously, I need three-four different syntaxes to create a gradient?!? F that noise!), so I can work on the bits that I enjoy, IE create.
At the end of the day, however, as long as your output is minified, gzipped and functional, that is what matters, not the exact way of reaching it.
Oh, and as a summary of what I enjoy with Sass?
* Variables: Variables that can be manipulated using various functions, both colour-based and other (“I want this nice shade of red, but a bit more transparent!”)
* Logical nesting: In particular being able to nest your media queries within the elements they apply to. That particular bit is probably based on how you think with MQs. If you look at set breakpoints, having them in a separate sheet is probably a better idea, if you look at each element individually, it’s almost a must to be able to nest them
* Loops: I’m a programmer. I dislike repetition, I dislike writing the same thing over and over. Being able to quickly set styles that have similar traits (see for instance the way that typeplate associates headers with the correct font-size and margin-bottom) through loops is a godsend
Just saying: I was totally sceptical of how it would help until I used it. Within a day of using SCSS I could see how much easier it would make my life.
Using variables for global colours then allowing you to lighten / darken the color by a % (lighten($primaryRed, 10%);) – this exports as a new hex colour, px to em conversion, setting a variable for global padding which I will use maths to adapt if I need to – (padding: $padding / 2 )
Everything feels more in control, as opposed to out of control as someone above suggested.
You must be logged in to reply to this topic.
*May or may not contain any actual "CSS" or "Tricks".