My turn to rant. I mostly skimmed over these posts, so feel free to skim this one over too, becuase it would only be fair.
OOP is the new wave of the future. Trust me, once you learn how OOP operates, you can basically program in any OOP lanaguage you want. For example, the fact that I know VB.NET makes my Java course so much easier, whereas other people in my class are sitting there typing String HelloWorld = New HelloWorld(String "Hello world") - semicolon left out intentionally.
Its a large shift from a procedural language like VB6, whose behind the scenes methods cover things up and make the language easier. Trust me - I came from vb6, and I knew the pain of switching to .NET.
I used to be in the exact same position as you, ranting about .NET. Now I realize I said that "I loved .NET when I first got it" (or something along those lines) - but it took me some time to really appreciate the language. I felt a little
quirky using it. What bothered me almost instantly was the fact that a lot of code was generated for you. I immediately got confused upon opening "Windows Form Designer Generated Code." And also the other thing that bothered me was that each event had strange arguments (lol, things like "ByVal sender As Object, ByVal e as System.KeyEventArgs). And it took a long time to figure out how to show a new form.
Now, once I got into actually coding and making applications with this - I found it great. I recently opened up VB6 (after about 2 years!) and found that it was kind of
weird I guess.
Learning an OOP language really reforms you (and could spoil you if you switch back to a procedural language). In VB.NET you could say something like form1.FormBorderStyle = FormBorderStyles.None. I dont exactly remember how to do this in vb6... but I
think (dont quote me on this), it was something like form1.FormBorderSTyle = BorderStyles_None (again, I havent done vb6 in a few years). Dim c as Color = Color.Blue... .NET keeps it simple.
Now, about the whole Microsoft sucks when it comes to documentation rant. I think its safe to say that theres a general consensus that agrees with this. They
do document some things well, true, but other things they tend to leave blank or keep it (very) vague.
Moving to a more OO style give much more long term benefits in terms of reuse, maintainability and architectural design choices
Very true. Gone are the days where you program large modules, nowadays everything is divided into several classes.
Edit: Your comment about the pricing, heh, sorry - thats what monopolies do (ex: Google bumped my pagerank down becuase I didnt have google ads on my site (they did this to a lot of people - now its no longer first when you search, its backed up by a ProgrammersHeaven link which links to my site)).
Who among you has not wanted to take a baseball bat to the monitor at some point? Submit yourself for sainthood, and/or psychiatric evaluation, but dont make excuses for Microsofts sloppiness and arrogance.
Been there, done that (well...almost). I wholeheartedly agree with the slopiness and arrogance part. And you are right though - theres no excuse for that. And its quite annoying when they change some source code for the next version, and then they switch it back for the version after that (see DirectX). They can really let you down.
It sucks in the beginning (trust me, I know where youre coming from). Microsoft can drive you nuts sometimes. Keep an open mind.
My advice:
Improvise. Adapt. Overcome. (Clint Eastwood, Heartbreak Ridge)
-The Pentium Guy