March 28th through 30th, I went to a 3-day training workshop to learn about Winforms progamming in C#. This training came on the heels of a 5-day trainig course in C# held the previous week. (see here, here and here for more about that). I did not enjoy this training as much as I had enjoyed the last one.
My main problem about this training was that, because there enough time between the C# language training, I had not had time to internalize everything about C#, the VC# development environment and .Net framework the way I had internalized C++, MFC, and the Win32 API. I know that if a programmer is proficient in one language, then they can easily pick up other programming languages easily. C#’s syntax was’nt really the problem here but our familiarity with the API of the .Net framework.
People often confuse that the productivity gains of using .Net come from C#. I dont believe thats the case. The real productivity gains come from the Framework classes that Microsoft has published for UI, XML, multithreading, and their tight integration with Visual Studio. Infact, I believe that C# would be a lot less powerful had Microsoft not published all those .Net framework classes that come with the SDK. <Rant>The truth is that the person who sent us to this training believe in silver bullets. Having never gotten his hands dirty with the actual working of the code, this person really does’nt understand that simply putting programmers through a grindhouse of training, does not give you productivity gains</Rant>.
All the students were expecting a classroom environment, where the instructor gave a lecture, and then the students did some excercises. But this was a workshop, where lectures were minimal and there was more hands-on programming. Hands-on programming meant the students really needed to be familiar with Visual Studio 2005, C# and .Net. Infact the course material stated that trainees need to have at least 1 year of experience of coding in C# and .Net. In our case it was like a week. Simply put, we were not ready for this training.
All I personally got from the training was a higher appreciation of Visual Studio 2005. However, I have to say this about the IDE. I think the IDE is much slower than Visual Studio 2003. Its not as responsive to commands as the previous versions were.