I wouldn't call myself an expert, but I avoid calling C portable assembler. I tend to think of C as having low level data manipulation and high level flow.
It might not be applicable anymore, as the compiler optimizations become more advanced to the point that it is hard to predict the translated machine-code. This is one of the most important points with regards to tool-chain specific knowledge. The other is proper usage of the debugger.
claren|11 years ago