I've never seen a laptop that can hold a charge for more than 2 hours. Mac users tell me their lap top batteries go on all day on 1 charge.

Apple has rules for programming that release unnecessary information and processes instead of holding them. At least this is true for the iPhone, which is programmed in a light version of the framework used by OSx. This allows the software to run more efficiently and has something to do with battery life. There are of course other factors, but this is one thing.