On ASP.NET:
>>3. What other factors should be considered in making such a far
-reaching
> decision?
>
> I can only tell you what effects my decision:
> * Availability of developers
Getting OT here, but: I work for a software company in Austin, TX, a
town with lots of software companies and lots of programmers. We
recently were looking for two or three ASP.NET developers.
We had an very difficult time finding decent ASP.NET developers. Many of
the people we talked to did not have a good understanding of web
applications in general. For example, no one could tell me how they
would approach desiging a system with multiple user roles that gave
different kinds of access to content. No one we talked to could describe
how they would approach building a web app that could be reskinned or
rebranded for different clients.
Further, we did not talk to a single ASP.NET developer who had even
*heard* of Ajax or RSS, and many did not realize that Google had used
Ajax techniques in GMail or Google Maps. When a web programmer says,
"wow, I wondered how they did that" in an interview, that is a bad
sign.
They could talk a lot about building things with drag and drop widgets
in Visual Studio. And every application they showed us basically looked
like...a bunch of widgets dropped onto a page.
So even having lots of developers available doesn''t mean you want to
actually hire them.