I wondered what
MicrosoftManagedCode is other than a
VirtualMachine where the
ByteCode happens to be x86-code. But then realized that this seems to be a more or less new combination (even if it may be a step back).
Is this really a new combination, or are there other OSes, that have
SandBoxes (most have more or less sensible process isolation),
GarbageCollection (not that I know of;
ErosOs maybe?), ...
Misconception: ManagedCode has nothing to do with the OS. It is simply Microsoft MarketingSpeak for SourceCode intended to run on their CommonLanguageRuntime.
There may be a misconception, but that's not it. It may be
MarketingSpeak, but it names some feature. What is this feature? It cannot be '
SourceCode' as that is surely not run (=interpreted)on the CLR. And the CLR is surely an OS feature. Now what is
ManagedCode else then I stated?
I personally see
ManagedCode as that code which executes in a runtime that provides type safety verification,
GarbageCollection, rich reflection, dynamic loading, and exceptions with readable stack traces; I would not consider security or process isolation to be prerequisites. Both
JavaVirtualMachine and
CommonLanguageRuntime fit my description of
ManagedCode. --
JeffreyHantin
You mean ManagedCode is to VirtualMachine as MachineCode is to CPU/RealMachine?
Not necessarily.
ActiveOberonSystem would probably qualify as well, and it appears to be managed machine code; Microsoft's NGEN tool accomplishes much the same purpose. The use of a
VirtualMachine is largely a means to provide simpler, more verifiable input code and allow for more extensive optimization by the runtime, possibly even
PartialEvaluation of common cases. -jh
managed code - that is, using a language in which memory management is automatic. Java and .NET languages do this with garbage collection; VB does this with reference counting; I don't care how you do it, just let me concatenate strings without thinking about where the new bigger string will go and I'll be happy.
--
JoelSpolsky
What does "managed code" mean to .NET programmers?
Automatic memory management?
A sandbox something like a "chroot jail" ?
Something else entirely?