1) Developers do not need local admin rights.
There has never been a time as a developer that I needed administrator rights on my local development machine with 2 specific exceptions. First was the initial configuration of my system which required the installation of a few tools. Second was while testing a custom in house tool that we were preparing to deploy to other developers and required testing on a developer's computer. Even when your application is going to be requiring local admin rights (which is should do only when absolutely required) this is when you should be using your test environment (preferably a VM), where having a local user with admin rights is safer.
2) Unless you are in certain special development types a developer should not need more than 16GB of RAM.
The exceptions to these become pretty obvious, game development, certain applications that will process large amounts of data in memory. Even SQL server can live on your development system with room to spare with 16GB of ram. If your target application won't need more than 4GB your dev system certainly doesn't need more than 16GB, and can likely pass with 8GB.
3) Especially powerful processors are rarely required.
This is likely the least hard "rule" if you are working especially large projects, compile time can suck but odds are if you're using any modern processor the upgrade to something more powerful isn't going to help in a significant way. Among other problems compilers are primarily single threaded so even throwing more cores at it isn't going to solve the problem.
4) Get an SSD
Seriously, some of the massive tools we have to run to make the software work, load in half the time or less on an SSD.
Personally I prefer to work on a laptop with a docking station and 3 screens. This allows me to have all the comforts of a desktop such as a good keyboard, mouse and decent screen arrangement. While also allowing me to get up and take my workstation with me to meetings or collaboration sessions and actually having *my* personalized, customized system there. I'm currently working on a Dell Latitude E5450 with 16GB of RAM and a 256GB SSD. This is more than adequate for 99.99% of the software projects I have worked on in the 18 years I've been writing software in every major field.
Look, you may not like Microsoft or Visual Studio but what they've built with the.Net Framework and VisualStudio is a pleasure to work in. I spend most of my day (all 7 of them in the week) writing software in both C# and PHP. I started writing code in PHP on my RedHat 7.3 (Valhalla) system in kedit (?), and later in Eclipse. I worked that way for a while and after distro-hopping for about 4 years I settled on just working in Windows with the old Zend Studio (before it was Eclipse based). After Zend went to hell, I went back to using a Linux (Debian, IIRC) desktop again this was good and well, until I needed to write a windows service. Thats when I discovered C#, Visual Studio and the.Net. Prior to this I was a die-hard anti-Microsoft guy, if it was from "big evil" then it had to be bad. I immediatly fell in love with Visual Studio and C#, it took me a bit longer to come to like the.Net. Visual Studio doesn't get in my way when I'm writing code, it doesn't slow my system down and it gives me the features I want in a fairly clean interface.
As a developer I see Operating Systems, IDEs, Toolkits and Frameworks for what they are TOOL! No more no less. I would rather developer in OS X or in Linux (and I'll never run a server that isn't Debian), but the tools there outright suck by comparison. I don't want to have to convince my IDE to give me code completion, I don't want to be bogged down because Eclipse is starting. I just want to get the code written so I can be paid.
If you still think I'm just a shill, see my profile. You'll find a link to my website which includes more Linux based stuff than Windows.
To further you point, Eclipse is not something I want to spend my day in. I'm tied to windows only because of Visual Studio, I'm doing all of my development (.Net and PHP) in it.
1) Developers do not need local admin rights.
There has never been a time as a developer that I needed administrator rights on my local development machine with 2 specific exceptions. First was the initial configuration of my system which required the installation of a few tools. Second was while testing a custom in house tool that we were preparing to deploy to other developers and required testing on a developer's computer. Even when your application is going to be requiring local admin rights (which is should do only when absolutely required) this is when you should be using your test environment (preferably a VM), where having a local user with admin rights is safer.
2) Unless you are in certain special development types a developer should not need more than 16GB of RAM.
The exceptions to these become pretty obvious, game development, certain applications that will process large amounts of data in memory. Even SQL server can live on your development system with room to spare with 16GB of ram. If your target application won't need more than 4GB your dev system certainly doesn't need more than 16GB, and can likely pass with 8GB.
3) Especially powerful processors are rarely required.
This is likely the least hard "rule" if you are working especially large projects, compile time can suck but odds are if you're using any modern processor the upgrade to something more powerful isn't going to help in a significant way. Among other problems compilers are primarily single threaded so even throwing more cores at it isn't going to solve the problem.
4) Get an SSD
Seriously, some of the massive tools we have to run to make the software work, load in half the time or less on an SSD.
Personally I prefer to work on a laptop with a docking station and 3 screens. This allows me to have all the comforts of a desktop such as a good keyboard, mouse and decent screen arrangement. While also allowing me to get up and take my workstation with me to meetings or collaboration sessions and actually having *my* personalized, customized system there. I'm currently working on a Dell Latitude E5450 with 16GB of RAM and a 256GB SSD. This is more than adequate for 99.99% of the software projects I have worked on in the 18 years I've been writing software in every major field.
Look, you may not like Microsoft or Visual Studio but what they've built with the .Net Framework and VisualStudio is a pleasure to work in. I spend most of my day (all 7 of them in the week) writing software in both C# and PHP. I started writing code in PHP on my RedHat 7.3 (Valhalla) system in kedit (?), and later in Eclipse. I worked that way for a while and after distro-hopping for about 4 years I settled on just working in Windows with the old Zend Studio (before it was Eclipse based). After Zend went to hell, I went back to using a Linux (Debian, IIRC) desktop again this was good and well, until I needed to write a windows service. Thats when I discovered C#, Visual Studio and the .Net. Prior to this I was a die-hard anti-Microsoft guy, if it was from "big evil" then it had to be bad. I immediatly fell in love with Visual Studio and C#, it took me a bit longer to come to like the .Net. Visual Studio doesn't get in my way when I'm writing code, it doesn't slow my system down and it gives me the features I want in a fairly clean interface.
As a developer I see Operating Systems, IDEs, Toolkits and Frameworks for what they are TOOL! No more no less. I would rather developer in OS X or in Linux (and I'll never run a server that isn't Debian), but the tools there outright suck by comparison. I don't want to have to convince my IDE to give me code completion, I don't want to be bogged down because Eclipse is starting. I just want to get the code written so I can be paid.
If you still think I'm just a shill, see my profile. You'll find a link to my website which includes more Linux based stuff than Windows.
When you use an account all someone has to do is look at your posting history and say "Yep, nother fucking shill."
I'll start and end with, because I don't much care what someone on slashdot thinks of me.
To further you point, Eclipse is not something I want to spend my day in. I'm tied to windows only because of Visual Studio, I'm doing all of my development (.Net and PHP) in it.