Dan,
I don't think that expecting VS.NET 2005 to compile for the .NET 1.1
runtime is reasonable. Just like with VB3/4/5/6 etc etc, you couldn't
compile an application for a previous runtime. The only environment that
I know of that allowed this is C++ (but I'm not completely sure about
this), since there was no runtime to speak of.
VS.NET 2003 does not compile to unmanaged code. For all managed code,
the JIT compiler handles the compilation to unmanaged code from IL. The
only unmanaged code that VS.NET can create is unmanaged C++, which VS.NET
2005 supports as well.
I see it the same way I see it as the upgrade from VB5 to VB6 (I'm a
bit young, so I wasn't around for many other major shifts like this). The
way I see it, yes, the client has to upgrade from .NET 1.1 to .NET 2.0,
but with Windows Update cramming the new runtimes down your throat (and WU
will push 2.0 when it is released), as well as the fact that different
.NET runtimes can run side-by-side, I'd MUCH rather take .NET over
previous runtimes.
I took the time to read the article posted by Mark Jerde. While I do
think that Joel is on crack (at least when he wrote the article), to his
credit, the article is over a year old. There are too many instances in
the article where he lists a specific problem which can be specifically
addressed with .NET solutions (or other solutions not .NET related even,
just .NET makes them very easy). An example of this is his statement
about web applications not providing the rich UI experience. Smart
clients are a way to do this. It's not easy (but it's not overly hard
either), it's just new, and people are too afraid to come out from under
the protective blanket they THINK they have. While this isn't the cause
for eveyone to resist new ways of doing things (I do think ROI is a valid
reason to not move to new technologies whenever they appear), it certainly
is a big one, IMO.
There are also a few areas in the article where he is outright wrong.
One of the biggest errors is where he states that WinFX is a replacement
for the Win32 API. This simply is not true. It simply provides new
functionality. SendMessage and CreateFile are not going anywhere (the
framework wouldn't work if that was the case). This goes back to people
not liking new things, for (personal) security reasons. What's
interesting is that I don't see Joel blasting MS for when they used COM to
wrap many API functions, as well as new functionality in the OS which is
provided only through COM interfaces. I also find it interesting that
there is no mention of the expansion of the Windows API (for example,
transactional NTFS), preferring to act as if there is none.
He goes on to quote Paul Graham:
There is all the more reason for startups to write Web-based software now,
because writing desktop software has become a lot less fun. If you want to
write desktop software now you do it on Microsoft's terms, calling their
APIs and working around their buggy OS. And if you manage to write
something that takes off, you may find that you were merely doing market
research for Microsoft.
Unfortunately, he is using a statement about the environment a decade
ago to justify his perception of migration patterns now. This doesn't
work. .NET wasn't around 10 years ago, and writing these kinds of apps on
windows platforms was difficult, which is why HTML was preferred.
However, if you are going to tell me that you would rather write an
ASP.NET app (or web app) over a smart client app (especially with
ClickOnce on the horizon), I would pretty much say you are out of your
mind. God forbid if you had to display information of a heiarchical
nature in a web app.
Anyways, I could go on, but it would be more of the same. The article
is interesting, but I put it in the same camp as the people petitioning MS
to continue supporting VB6 (here's a hint, it's not the camp you want to
be in). This isn't to say I think VB6 is bad, but if I had a choice to
develop between that and .NET, the choice is easy for me (and yes I know
the people petitioning MS for VB6 (sorry, VB.COM, my mistake) are doing it
for the hobbyist programmer, I don't see VB.NET being that much of a
different thing than VB6 (at least to the extent that the hobbyist
programmer uses it for)).
Flame away! =)
--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)
Dan Bass said:
Would be nice if VS.Net 2005 compiled to .Net 1.1... After all, 2003
compiles to unmanaged code, all be it the code needs adjusting to get it
to compile.
I find the new IDE great to use, but don't necessarily want to insist on
the client having .Net 2.0.
Do you have any comments on that article posted by Mark Jerde? I found it
most interesting.