2nd Year College - Learning - Microsoft Server Products
Question: As the title says, I just finished my first year of college (majoring in
Software Engineering). Fortunately my school likes Microsoft enough, and I can
get pretty much anything I want that Microsoft sells. I also can get IBM
Websphere and the like for free as well.

Earlier this year, I set up an oldish computer (2.6 Pentium D, x64) to run
ubuntu server headless. I'm predominately a Java developer, so Apache, Maven,
Nexus, Sonar, SVN, etc made it onto the machine. It worked really well for
personal and school projects, especially team projects (quick ramp up).
Anyways, I started to pick up C# to complement my Java knowledge (don't judge
me :P), and am interested in working with some of the associated Microsoft
equivalents.

The machine currently has the Ubuntu install, as well as Windows 7 Ultimate. I
do all of my actual development work off my laptop, also running Windows 7
Ultimate. I was wondering what software you would recommend putting on the
machine. I’m not actually serving anything off the machine itself, but in
Ubuntu I had it doing integration tests with Hudson on every commit, and
profiling my applications, etc, etc.

The machine would be running headless, and I would remote into it.

Here is what I am currently leaning towards / wondering about:

  * Windows 7 Ultimate vs Windows Server 2008 (R2) (no one is really clear why I should go with one over the other)

  * Windows Team Foundation

  * Sharepoint (Never used it before, kind of meh about it)

  * IBM Websphere or Glassfish (Some Java EE web server)

  * SQL Server 2008

  * A DVCS

In order to better control product conflicts / limit resource use, I’m
wondering if I should install things into virtual machines (I can get VmWare
or Microsoft Virtualization Products)

I also plan on installing everything I had running under Linux (it’s almost
entirely Java based development software, so it’ll run on both, only reason I
went with ubuntu during the year was because the apache build seemed better).

I’m primarily looking to become familiar with enterprise software development
tools, as well as get something functional that will help my development
process. (IE, I’ll still use project and assign tasks even though I might be
the only one to assign tasks to, just to practice doing so).

Is there any other software / configuration details I should explore? Opinions
on my current list? I primarily use C#, Java, and PHP. I'm familiar with ruby,
and python as well.

Thanks!


Answer: I can confirm that as long as you have the resources for VMs, then that is a
very smart way to go with installing many test environments, Windows does well
in these.

I want to tell you from personal experience, that Windows Server 2008 (and the
like) is a much better way to go than Windows 7/Vista. Microsoft puts a great
deal more efforts into building their server OS's than they do into the
client-side counterparts.

My experience goes as far back as alpha testing for Microsoft for Windows
Vista, and Server Longhorn. In every situation and setup I had/used/built,
Windows Server was always a more stable system. As for viruses, they don't
exist in Windows Server, they do however find themselves into relatively
clean/un used Vista/7 systems (not mine however).

I can give you many more reasons and examples from my experience if you like.
I would be happy to help, as security/stability is important and in my
business I put it first, and will gladly help someone else.

Use Windows Defender! its impressively successful in Windows Server, and use
freeware software such as spybot Search & Destroy for your Windows OS
protection.

As for coding, I highly recommend using Notepad++ as it has code coloring and
supports a huge assortment of coding languages. Great interface and awesome to
use.

...Feel free to ask for more. I specialize in Windows/Windows Server in my
business.

