Mike said:
You *know* so? How? What information sources do you have that we do
not? Can you please post them so we can be equally as informed?
Thanks.
I first was given access to longhorn builds in mid 2002 (ie a year
before the first public release) I had been asked to write a book about
WinFS (you may have read my article on WinFS for MSDN Magazine). Of
course that's all history now. My 'minder' at Microsoft told me that the
developers on the LH team were told that *all* development in LH (note,
I say Longhorn, not Whidbey), had to be managed code. They were told
that if they wanted to write *any* native code they had to make a good
case for it. I was told that unmanaged wrappers would be supplied for
'VB6 developers to use'.
I have just finished an analysis of Vista and I find that there is very
little .NET in the operating system. Clearly, when the big change
happened, when the code base was changed from XP to Win2003 they also
took the decision to do the majority of Longhorn development in native
code. That is a huge shift, in just a few years. As a .NET enthusiast,
and someone who has spent 5 years persuading people to use .NET that
comes as a complete disappointment to me.
wouldn't tell anyone that I *knew* something without being able to
back it up with facts.
Is this enough for you?
http://www.grimes.demon.co.uk/dotnet/vistaAndDotnet.htm
I'm sorry, but I have to disagree with that point. The shared source
CLI (available at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/faq111700.asp)
compiles and runs on Windows and FreeBSD.
Go on, give me a quote *anywhere* on microsoft.com, or from *any*
Microsoft person where they use the term 'cross platform'. They are
studiously careful *not* to say that, because that is not their
intention. .NET is a Windows technology and that is the way they want it
to remain. Yes, Rotor has PAL so therortically you can compile it for
other platforms, but it is a research tool, and it is not supported for
production code.
Despite its small share of the desktop computer market, Microsoft has
continued to dump lots of money into the development of software for
Apple computers (which are (1) now running Unix [the core of OSX] and
(2) soon coming to Intel chips). It would be far more economical for
Microsoft to be able to write one codebase for Office and deploy it to
both operating systems without having to recompile.
Oh yes. That's the way that I thought 5 years ago. But Microsoft are
showing no intentions to make products like Office based on .NET. I have
asked Microsoft many times (most recently I asked Eric Rudder about
this) and Microsoft have always replied that Office will remain a native
application, although parts of it may have .NET code. Clearly their
intention is to use .NET for RAD (in particular - RAD for *you*) and
keep their code base native.
Oh, now that's just splitting hairs.
.NET is a platform, not a set
of binaries. Further, it is an open standard, and you can obtain the
source from Microsoft itself.
If only. Rotor is an altered version of .NET, yes, the library is very
similar, Reflector shows that, but the unmanaged code? As I said above
Rotor is just a research tool. It is not a reference standard.
Microsoft's implementation of the .NET standard; Mono is an
open-source
implementation of .NET for several different operating systems and
CPUs.
Here's a question: will mono code run under Microsoft's runtime, and
visa versa?
Microsoft are putting huge efforts into Web Services (SOA), why do you
think that is? It is because the code stays in one place - running under
the platform that it was designed to run. Microsoft have *never* said
that their intention is for 'mobile' code, that is, code that will run
on multiple platforms. I know because I have spent 5 years trying to
find such a statement!
Trying not to laugh out loud at this one.
Let's be realistic. You can't POSSIBLY expect to design an application
for a desktop whose minimum display size these days is 800x600 and
expect them to run on PDAs. Further, look at all the equipment you can
connect to a desktop that can't be connected to a PDA. And no one in
their right mind would constrain the design of a desktop application
to
the constraints of a PDA application. That's not even CLOSE to being
realistic.
You have amply killed your own argument: .NET is *not* cross platform.
You cannot take code written for one platform and get it to run in
another one.
The point is that the Compact Framework does not support the entire .NET
framework that the desktop does. Most of the overloads are missing. Many
of the classes are missing. For example, I wanted to use a SHA hash on
my iPaq but there aren't any crypto classes in the CF, so I had to write
my own. This means that any utility code written for the desktop that
uses SHA, but does not use *any* hardware features, will not work on a
CF machine.
Can you back that up with facts? Links? Statistical data? Under which
particular circumstances is it processor hungry?
Been following the argument? When the GC occurs it suspends all threads.
It does a walk of all objects from the roots it determines. All objects
in the finalization queue are finalized. You're telling me that all of
that is tivial and uses infitessimally small amounts of CPU cycles? I
have written .NET code that has frozen the entire machine, sure, I
didn't intend it to do that, and a bug created 10 times more objects
that I intended, but it certainly froze the machine when a GC occurred.
The GC is great for what it does, but don't ever imagine that it is some
pice of magic that will solve all of your software problems.
Richard