What is the best cheap setup for initial development? Low cost, easy to change to different languages (or web server) if first choice doesn't work, easy to move to a colocation site if that time ever comes and easy to administer. GUI isn't required.<p>My last webserver was circa 2000 with Apache and Redhat.
OK, you're pretty ambiguous on what you want, but based on "easy to move to a collocation center" and "GUI isn't required" it sounds like you're mostly asking about servers.<p>For initial development, you probably don't even need a server. There's pretty much always an easy way to have a local server run on your computer for development.<p>When you are ready for a server (probably not until you're about ready to go live), I'd suggest Slicehost. They're well-documented and cheap ($20/mo. for their smallest server!), and you can scale the server all the way to 15.5GB of RAM in just a couple of minutes.<p>You could look at Linode too though. It seems like you get a little more RAM for your buck, especially on the smaller end, but you can only go to ~2.8 GB of RAM on one server.<p>As for your development computer, I love Ubuntu, but it really depends what you want. If you want to do everything through an IDE, it depends on your language, but the best IDE may be for Windows. If you want to do much of anything through the command line or think you might in the future, develop on either Mac or Linux. Their shells are just way better. There is always Cygwin, which sorta fixes the problem, but I think true Unix works better.
Ubuntu Linux. You can use aptitude or apt-get to install pretty much whatever you want, it will run on whatever hardware you have at the moment, and it's free of charge.<p>If you already have a Mac you could decide to stick with the Mac OS for development instead (I use it; it works fine), though you will almost certainly not be running Mac OS on your server. So you'll have to figure out Linux anyway sooner or later. The Slicehost tutorials make it much easier -- a lot of the grunt work has been figured out and documented.
VirtualBox (free from virtualbox.org) running on top of whatever Windows, Mac-x86 or Linux system you have.<p>Debian or Centos as the operating system that you run as a VM inside VirtualBox.<p>You should be able to easily install Python, Ruby, TCL, Lisp, etc. on either platform for development language; Apache or NGINX or Lighttpd as the web server; Emacs or Eclipse or whatever as the editor.
One thing that took us a while to figure out, but helped immeasurably once we did was getting good, at VM/image based development.<p>So in our case we wrote the code on whatever laptop we liked best (I did most of the coding for first few versions our software on a 12" PowerBook, other folks used ThinkPads or Dells with Windows).<p>But having a beefy server box with enough memory/disk to host a few different VM environments (various QA, staging, multiple different DBs etc.) and the ability to rapidly set up new ones was killer. It makes the laptop choice more a matter of personal preference, and keeps a consistent environment where it counts.
Strategy: Linux under Xen. (just copy disk image or dump/restore FS) Amazon EC2 for production.<p>Tactics: Fedora (It will become CentOS after polishing) everything already packaged - Django, Ruby, nginx, apache with tens of modules, etc.<p>Hint: Forget Java.
I didn't understand what are you looking for, but I think you want to start a project on a given platform.<p>For that I recommand, Visual Studio.<p>1- It's 100% free of cost (express edition), you get the editor (Visual Studio Express) for free and .net frame work is free to install and compatible on Windows versions<p>2- It's very easy to use and Object Oriented. It also has a lot of power and by learning .net you can develop for windows, web or mobile interface.<p>3- You can code a program in different languages with Visual Studio<p>Also lot of videos and tutorials can help you getting started with it