Today software industry is geared towards distributed and cross platform application
I strongly disagree with this statement. It sounds like you've been drinking the Linux-zealot kool-aid again. Very little commercial software development is actually
cross platform, especially any "relevant" software; Adobe's products are about all I can think of.
But in any case, there are actually 3rd party version of .Net (Mono and DotGNU come to mind) that allow most fully-managed .Net applications to run on a variety of platforms.
Why Microsoft is giving away their IDE's as Free?
Microsoft has always catered to developers, or at least tried to (they haven't always been successful, e.g., the TestDriven.Net fiasco); I imagine you can find a video of Steve Ballmer's "Developers" explosion on YouTube. A million years ago their developer products were cheap and easy to license; now that there are decent freeware alternatives, Microsoft continues to lower the bar to entry into Windows development.
Their philosophy is that people use Windows to run applications; the more applications there are, of higher quality, the more likely people are to stick with Windows. So they do everything they can to encourage developers to build Windows apps.
This runtime environment looks like copy of Java's Runtime environement,is it so?
No, it's not a copy, but it can't be denied that Java was a significant influence on it. It's hardly surprising that they'd be similar, since most of their goals were similar.
So if we create simple utility like todo lists or thesaurus program then even we have to force our users to download the runtime environment on there system?
MS is trying
to ensure that .Net runtime is installed on user's computers. It's included with XPsp2, and it's a recommended install from Windows Update. It should
turn out to be a similar situation to the VB runtime, or MSVCRT. The one notable difference, of course, is that including the runtime in your VB app was trivial; doing so in a .Net app is a big deal because of the size of the thing, as well as the difficulty of installing it.
Please let me know what you think? I've these questions as i'm doing job search as programmer,i need to know where some future stands for programming language before taking decision as programmer to choose a perticular language
I wouldn't worry too much about the specific language, but do
worry about the language family
. When I'm hiring a C# developer, I don't care too much if most of your experience is Java. They are both OO languages syntactically deriving from C, with GC memory management; much of the way you think about programming is the same in both languages.