My Windows 7 laptop of 3.5 years is starting to get a bit flaky. I have been considering making the move to a mac for development, but have heard that they are not necessarily my best bet for development. I am also not sure what to think about Windows 8 yet.
I do a variety of Java/J2EE (for work, don't judge!) as well as various web development and am looking to get into Ruby as well.
What OS/hardware would you recommend for a general purpose development machine?
From 2006 to 2008 I did everything except development (only some web dev stuff) on an Apple Macbook. It was a really good product, excellent font rendering at the time, stuff just worked. Well there was some pain with using fink/darwinports and rails etc. back in the day, but I think that is a solved problem today with Homebrew.
During 2011 I also had a contract where I did C# development in Windows 7 on a high-end Dell Inspiron with an i5 and 8GB RAM and a 160 GB Intel SSD. This worked fine too even though Visual Studio was still slow on our rather big project.
For a general purpose development machine today I'd look at lots of RAM, i.e. at least 8GB, at least a good i5 cpu, and an excellent screen with at least 1920x1080 and I prefer matte displays for development. Good full-size keyboard too. SSD is nice too, but at least on Dells it probably cheaper to replace the disk yourself.
If a laptop, some people like to have a docking station that is able to drive two external displays. I don't, mainly because my M4500 display is so much better than the glossy cheap external displays I have access to at work.
If you can afford it the 15" Macbook Pro with a Retina display is pretty sweet.
Having used Linux+Mac+Windows the last couple of years has given me the knowledge to be able to get work done on all of these platforms, and debunk FUD about why a specific plaform sucks/rules. I think that is an argument to switch platform every now and then.