views:

14

answers:

1

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!

+1  A: 

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.