Discussion on:

Message 24 of 40
2 Votes
+ -
Concrete problems
I would generally agree with that. They show you simplistic ways of accomplishing what you want to accomplish with their stuff, which work, but beyond really simple "hello world"-type examples, their recommended solutions tend to be really bad in terms of creating readable, maintainable code. Late in my "career" as a .Net developer, I discovered that there were a few people outside Microsoft who had much better ideas about how to use their stuff to solve the same problems. I really had to go searching for them, though. What they illustrated was that for what MS produced (architecturally), it wasn't half bad. They had some good ideas in there, but that MS wasn't showing people how to use their stuff to its maximum potential. What they showed were the solutions that were easy for the average developer to understand . The catch is this is generally not the best solution for the problem. To clarify, what they did was show how to accomplish quick, boilerplate solutions. They didn't document the existing architecture much, so that one could craft their own solution, which would likely be better, because it would be directed toward the specific issue the developer was dealing with. The difference was it would take some creative work to accomplish. The approach MS took was to take the creativity out of the code. "Just do this."

This was the reason developers were coming out with their own decompilers, like Reflector, which allowed you to look at the source code for each method in the .Net Framework, so you could see how you could effectively leverage what was in there for your own solution.

Like I was saying earlier, their stuff is good for building quick-and-dirty, throw-away apps. I wouldn't recommend most of their documented (code) solutions for commercial apps. that you think are going to have a future.

Their documentation on what their mainline frameworks do, object by object, and method by method, is generally very good in terms of using the functionality (not architecture) that's available. I wouldn't recommend it to .Net newbies at all, because they're not going to know which end is up. I'd recommend a good beginner book for that.

I've seen some of their documentation that was absolutely worthless. There were several occasions when a project required me to integrate Crystal Reports into a web app. That was hell. The MS documentation on CR was pointless. It didn't tell me anything of value. It made me wonder what poor shlup got the job of writing it. I looked for a book on it, but I couldn't find one. I can't remember exactly how I learned how to use the CR library in .Net, but it was by "hook or by crook"! I vaguely remember finding information on a Microsoft newsgroup for this. Without that I would've been sunk.
Posted by Mark Miller
Updated - 30th Jun 2011