My friend always leaves his computer on all the time and I turn mine off when i'm not using it, does this harm it in any way 
At worst RAM fragmentation adds a few ns latency onto retrieving data from the ram, also paging of data to swap (windows is highly developed in this regard) is like a partial RAM defrag anyway. The problem is more that over time programs that aren't fully debugged, or just badly written, can set flags and not unset them (or vice-versa) which leads to odd behavior and the longer a program is running, including the base OS programs, the more likely is it this is going to happen. Another problem is memory leaks, minor ones over time can build up into big problems. Both of these can be solved by periodic reboots (often required for patching of the OS and once a month is about the right amount of time anyway).Liam said:If you leave a PC running the RAM can get fragged up and it can do funny stuff, Server OS's have stuff written into them which allow them to run constantly.