edit: prepended "sufficient" with "in," which makes a big difference
At my company welders are paid less than programmers, but you can probably blame that on the welder's being in a union more than anything else.
The Bureau of Labor Statistics actually has a really nice website with more info: http://www.bls.gov/oco/ocos226.htm
I know for a fact that the younger guys resent the older guys (and the union that protects the older guys) far more than they resent the non-union or even at times the company itself.
Now I don't know much about non-union welders other than two friends I know. One started his own business making railings and fences and things like that and makes a good amount of money working for himself. He's non-union but also a small business owner so maybe that is a bad data point.
If we eliminated the union at my company, the welders would get paid on merit. It would be a very good thing for most of the younger guys who work their butt off. It would be a bad thing for most of the guys who have been here for 30 years.
Edited to add: nepotism and "good ol boy" networks are pretty much how business gets done everywhere, regardless of industry. A lot of people have this knee jerk reaction against such things and don't stop to consider this is the working end of "Networking".
So either we're all underpaid compared to the value we generate, or we all overvalue everything we create.
Strange that there are no reliable metrics in a field filled with zeros and ones.
I think your implication that the value of trades are somehow worth less than the value programming brings to society is unwarranted.