difference between hardware and software with examples