The simple answer is that when you get down to the CIL a lot of the context has been lost. It is true, of course, that the CIL *is* a representation of whatever you wrote but the translation is one way and the higher level information is lost. For example,
this post could be read one letter at a time but without assembling the letters into words the content will be lost. It may be possible to get some speedup by examining the CIL, CPUs do that right now on the 'real' machine code by doing out-of-order and speculative
execution.
I wasn't suggesting nothing is done or people do nothing. After all fully parallel applications have been possible for a long time (I have even written some). The problem is not 'can it be done' but 'how do we make it easier'. Your original point was that
it would be better to teach people something new rather than (say) relying on C# to provide the necessary concurrency. Sure it would be good to teach programmers a new paradigm that really helps solve the concurrency issues -- I am just sure we have much idea
as to what it is.
> I'd like to know if we'll ever get to the point where hardware designers can no longer maintain cache coherency system wide.
Don't you think we have a big enough problem without that rearing its head I suppose NUMA may mitigate that ... assuming the overlying system can manage it of course.
sylvan: I agree with your original post, that the cost of learning something more suitable for many-core development outweighs the cost of the messes that people will produce with C#.... The problem is not that Microsoft are promoting parallel extensions
over miracle language 'x', the problem is that 'x' does not exist *and* no one really knows what 'x' is. People have some ideas what 'x' may look like but they are just that: ideas. It doesn't exist because no one in the field really knows what it looks like
and how to solve the (many) problems. There are some proposed solutions, most of which while having some positive points look just like what they are: guesses. I defy anyone to say here even what colour the solution will be (yes that's a joke).
No low bandwidth version? It is not that I have a slow network or a tiny PC -- I just cannot see the point of using a gig of download to I can have it 2"x2" (they are guys speaking, why have it bigger) on screen.
Netduino Controlled LED Cube
Nov 08, 2011 at 7:16 AMGreat work Mark.
Expert to Expert - Joe Duffy: Perspectives on Concurrent Programming and Parallelism
Feb 20, 2009 at 8:51 AMExpert to Expert - Joe Duffy: Perspectives on Concurrent Programming and Parallelism
Feb 19, 2009 at 3:28 AMI wasn't suggesting nothing is done or people do nothing. After all fully parallel applications have been possible for a long time (I have even written some). The problem is not 'can it be done' but 'how do we make it easier'. Your original point was that it would be better to teach people something new rather than (say) relying on C# to provide the necessary concurrency. Sure it would be good to teach programmers a new paradigm that really helps solve the concurrency issues -- I am just sure we have much idea as to what it is.
Expert to Expert - Joe Duffy: Perspectives on Concurrent Programming and Parallelism
Feb 18, 2009 at 5:01 AMDon't you think we have a big enough problem without that rearing its head
Expert to Expert - Joe Duffy: Perspectives on Concurrent Programming and Parallelism
Feb 18, 2009 at 1:32 AMAndy Ayers: Understanding the Phoenix Compiler Framework
Apr 10, 2008 at 1:37 AMChristian Kleinerman: SQL Server 2008 for Developers
Mar 02, 2008 at 3:31 PM