API Documentation

The official Second Life LSL wiki

has taken the lead. It's up to date and has some detailed, specific information on things like energy use of the functions and other "internal", hard-to-guess-or-reverse-engineer parameters and limits, as well as nice, clean writeups of gotchas and things to be aware of. Some examples are various limits and delays. Another useful page is the built-in animations.

LSL Wiki

long held the lead as the most useful and informative, and it still has a lot of good comments and examples. In addition to the LSL reference, it also includes things such as this handy overview of operators and the asset keys.

Fine points

Evaluation order, prefix and postfix

While in general you shouldn't write code relying on too fine and obscure points, the evaluation order can be nice to know in some cases, and pre- and postfix is certainly acceptable use.

Optimizations

Before optimizing, think about how a script works: It lies dormant most of the time, waiting for the sim to wake it (after the sim has already jumped through a lot of hoops, detecting collisions and sending messages around and whatnot). Your script gets triggered, does its thing, and goes back to sleep, leaving the sim to sort out all the consequences of any updates.
So unless your script is doing a significant amount of work there, or doing it very often, there is little reason to pull out all the stops and make your script unreadable for the sake of one less instruction cycle when an avatar touches it.
That doesn't mean you should do something stupid in your code, and there are some things which are such an easy win that there's no point in not doing it.

Bit patterns

A crash course in the way computers store numbers, and what that means for the numbers you use in your scripts.