One important difference in choosing standard libraries it that MS can say 'these are the standard libraries'. A linux distro can't really do that because, nothing is holding any developer back from using something else.
Originally Posted by pushkarajthorat
On the MS side there are many unused libs installed taking up space and specialized libs are usually home made or expensive to buy.(I to have been in dll-hell too) Still resulting in libraries with the same functionality.
On the linux side only libraries that are needed are installed. Yes even if two different libraries provide the same functionality. But because programmers like to flock to standards some libraries will gain popularity over others, reducing redundancies.
So you kind of end up at the same place where standard libraries are concerned.
Now for the n00bs.
Just about every distro uses a packaging system which keeps account of what software package needs to function. So naive users don't have to go and hunt for them. The simples way is to use Synaptic.
System -> Administration -> Synapitc
Look for the program you want and it'll tell you what other stuff needs to be installed and asks if your ok with synaptic making them also for installation.
Note: I think there is a simpler version called Software center but I've never used it.
Now if you want to program on your machine you need a bit more than the binaries of the libraries. You need the headers for those libraries so gcc or what have you can compile programs to use them. This type of packages usually have the '-dev' suffix.
I hope this has been of help.