

What is LESS CSS? Hints and tips - PanosJee
http://blog.bugsense.com/post/16878087313/learn-about-less-and-why-it-rocks-so-hard

======
jtchang
I've used scss and less and I prefer SCSS.

When I first started using less I found the javascript parser missing some
functionality that was in the full ruby gem. Also, since I use django, I found
integrating with scss much easier, especially with pyscss.

I find that scss provides a level of abstraction that I am comfortable with.
Because of pyscss I can run it from the command line and figure out exactly
what is going on pretty easily.

With compass I find that I write much cleaner css code. But the big win is
being able to nest my css. Nesting CSS brings it much closer to the HTML that
you are styling.

In my mind this is the huge win.

~~~
untog
Can you tell me what the syntactical differences are between LESS and SCSS?
Because they seem to do basically the same thing, as far as I can see. I use
LESS right now, but for no good reason- I just happened upon it first.

------
hasenj
Last time I checked, Stylus provides more powerful abstractions and a cleaner
syntax

<http://learnboost.github.com/stylus/>

~~~
reaktivo
Can't recommend Stylus enough. Some features not found on less or scss:
optional colons, semicolons and braces and referencing properties:

    
    
      body
        color black
        a
          color @color
    

will compile to

    
    
      body{
        color: black;
        a{
          color: black;
        }
      }

------
bwarp
I won't use LESS CSS for anything. Why? Because it's another layer of
abstraction which is a pain in the arse to debug when it goes wrong, which it
does regularly. It's ok for about 3 months which is enough to build some false
confidence in it, then WHAM problems.

~~~
untog
_when it goes wrong, which it does regularly._

What do you mean by "it goes wrong"? Do you mean the LESS parsing engine
fails? Because I've used LESS extensively and it's never happened once. If you
mean "my code was incorrect" then yes, LESS errors could be more descriptive.
But it's hardly world-ending stuff.

~~~
bwarp
I'll explain further: I used it extensively for about 3 months on a project
and ended up binning it and going back to plain CSS.

I experienced utterly unhelpful parse errors resulting in head scratching for
literally hours. Small behavioral changes between versions resulting in broken
CSS. Zero error checking in the code whatsoever. Completely 100% incompatible
with some browser hacks.

Each of those, plus the non-portable learning curve eats time and therefore
cash resulting in a net loss versus plain CSS.

~~~
crazygringo
I don't think I've ever met a new "language" with a smaller learning curve. It
took me about half an hour to master everything in LESS. It's so basic and
intuitive.

And with the benefits it has brought, in terms of code intelligibility and
structure, and lack of redundancy, I'm not sure I'm ever going back to pure
CSS again.

I am literally baffled by your experience. What version changes created
problems for you? And as for error checking, pure CSS has _no_ error checking
at all, so I don't understand how LESS could be anything but better in that
regard.

As for using browser hacks with LESS, I've never tried, but since you can
always include conditional stylesheets to account for browser differences, it
doesn't seem like that should be a dealbreaker. It would be pretty cool if
LESS supported inline browser detection per-rule, however.

------
EAMiller
I got bit by the switch from Ruby to Node.js. The Node.js arrangement was
considerably more difficult to set up on the older systems we maintain. Most
annoyingly lesscss.org makes no mention of the switch away from Ruby. Our plan
right now is to abandon less-css and just check the converted CSS into our
repo - the (server setup complexity) costs far outweighed the benefits.

[edit] Well I guess the old repo did mention the switch :\
<https://github.com/cloudhead/less> still frustrating

------
SquareWheel
I had been thinking about using LESS/SASS for a new project, but ultimately I
decided on PHP. Overkill perhaps, but it gives me access to the rest of the
site variables, database calls, etc.

