Yes and no.
I have a MacBook pro with full ports. It should last me a while (like a tank). But Windows has generally been far better about supporting older hardware (though MS isn't generally thought of as a hardware... )
My coworker needed a new battery for her Air as it wasn't keeping power long enough for her teaching (it wouldn't make it through her lecture). Apple labeled her machine "vintage" so no official battery replacement available. She was not happy.
Making components non-upgradeable also lowers serviceable life.
They're better at supporting iOS devices, though I have a iPad1 and a iphone4S.
Hopefully this new initiative will help.