"By "perfect MT programs", I mean code that's easy to write and understand, that works with the same design approach in any programming language, and on any operating system, and that scales across any number of CPUs with zero wait states and no point of diminishing returns."
That doesn't mean to say its "perfect" or "solves" multithreading, just that its easy to write and understand and portable across architectures.
That says nothing of how optimal it is for concurrency or parallelism ease-of-use wise or performance-wise, just that its 'easy'.
easy to write and understand is something completely different to correctness, robustness, scalability, etc.
All those must be considered if you think you have 'solved' parallelism, but they are orthogonal to 'easy to understand'.
Perfect _implies_ that it's easy to write and understand, but it's not the whole picture. It's just a feature that _he_ thinks is _crucial_ to it being perfect.
You get my point right?
Like sure, you could implemented a _perfect_, I don't know like gnome desktop in assembly language, but it wouldn't be easy to write and understand.
He thinks it's essential that it should be easy to read and write for it to be perfect.
Unfortunately, He's not with us now so can't even confirm :(
http://zguide.zeromq.org/page:all#Multithreading-with-ZeroMQ
Maybe I should've just linked it there,sorry!
Okay, I will take that course and get back, thanks for the suggestion.
P.S. You just implied Pieter Hintjens is naive. You have to live with that now :(