I always try to have at least one small toy project that I can play with at night. Sometimes it consists of only reading the source code and mailing list from a big project and sometimes my toy project involves writing code and playing with different tools than the ones required by my daily job.
A few months ago I added to my schedule a Windows Day. Brand new world. I dove into Vista, ASP.NET, C#, IIS, MSSQL and Visual Studio one day per week (and occasionally weekends) for a few months.
I was excited because of the novelty. I read a few books on the subject and had to play with it.
Here are some random thoughts about my experience.
Right on the first day I got frustrated using the mouse for simple tasks like moving and copying files around so I installed cygwin. A difference between two worlds.
I learned later that there is a Windows option for the command line: Powershell. Although I didn’t try it the Wikipedia article gives me the impression that learning Powershell is probably a good investment for Windows developers.
Back to random thoughts.
I was then ready to try Visual Studio. It is amazing to try examples from books just dragging and dropping icons that build some correctly written snippet of code. I just doubt that experienced developers would follow that approach.
One problem I had with Visual Studio was trying to set the Emacs key bindings. Leaving the keyboard home row to reach keys like arrows, page down and page up is disturbing. I followed this post advice and installed Emacs Everywhere.
The next step was the database. Oh boy, choosing a MSSQL version is so damn confusing! I’m probably getting older and dumber but I couldn’t understand which option to download from the MS website. Installing MSSQL in Vista was quite painful, too. Had to follow some MS black magic recipes to get it running. Installation on Windows 7 Beta was a breeze though.
After setting up the database I went to the HTTP server. IIS is pretty straightforward. You can setup a working environment with just a few clicks.
Working environment ready and I started to follow the books’ examples. A few ASP.NET web forms later and I was ready to start learning C#.
Talking about computer languages is somehow a taboo so it should suffice to say that C# is verbose.
Well, a few months after my first Windows I’m back to a Linux side project but I’m glad that I took some time to get an overall idea about the ASP.NET world. It’s not for me. Once you go open source you never go back.
If you are only interested in building your client project it doesn’t really matter the platform you pick but it’s a disturbing feeling that you can’t build IIS or poke Visual Studio’s source code. There is this sense of being a powerless and passive consumer always trying to catch up every .NET update.
