Oops, that reply was very badly worded and incomplete, let me try again.
My experience is that a lot of developers gets scared of the unknow and
oddly enough the reasoning they give are emotional based instead of logic
based. Instead of actual testing if it is that bad, they will use any
emotional technique in order not to touch the thing.
Since any work I would do would be nothing but experimentation quality, I
don't think I'd need to worry much about individuals going emotional on it.
Anyone who would touch taht particular compiler would likely do so strictly
to play with the parallelziation.
So I guess that if you make loops default to execute in paralel, then they
will get scared because they have no control.
So I guess if you implement a feature like that, then you must at least
provide a way to disable it too. A keyword like noparalel, or a compiler
option. Just an idea.
Parallel would be like the checked{} block, forcing parallelization within
that block. Not sure if turning it off makes any sense or not, that's
something to think about.
My guess is that programmers coming from VB, probably would love the fact
that it gets treaded, and programmers from VC++ probably would love not to
have it hyperthreaded because they are mostly scared of things they do not
have control over.
If the design was similar to OpenMP in capability, I imagine advanced VC++
coders would like it as it should offer a much finer grained control than I
have illustrated here.
But the VB\Java\Delphi crowd would be the core target, as this would be C#,
so I wouldn't personally go as far as OpenMP does.
One thing I do miss is the ability to include ILAsm in the code. And I
don't
know if ILAsm contains MMX and the SSEx-like instructions? But then again,
this could give additional problems with security things.
Directly embeddable IL would be a bit tricky(I'm not sure how it would deal
with variables), but it would probably require a loss of verifiability, thus
unsafe code.
Now, IL doesn't have any form of MMX\SSE style instructions that I can think
of. So that capability is somethign the CLR developers would have to add. I
hope they are thinking about it and chose to, being able to hint to the JIT
to use instructions of that nature might produce faster\better code in
future runtime generations.