I've done a very small amount of programming. I admit to being a hardware, hands on kind of guy.
Concurrent programming sets my brain spinning. Having ADD makes things both harder and easier. I can think of several things at once, but keeping track of it all is another matter.
Multi-channel programming is a requirement for todays hardware. No argument there at all. I have difficulty in seeing how the average person (and I know that programmers aren't average people) can think beyond the "normal" linear mode of thinking.
"If x then y else z" is easy to see.
"If x then y unless y = q, q being processed while x was checked for y, and then lets calc z*x=y-q while q is being modified by x, or z..." I get lost just trying to figure out how to describe it!
I am GLAD that there are people who can program in a non-linear fashion.. but personally, I have to see it in a linear manner. Which todays hardware just laughs at anyway. If the language people can come up with something to allow linear people to program concurrently, it would be a wonderful thing.. but all I can see are two linear programs running on diff processors!
Ack.. I'm so confused.