Having fractured my shoulder myself, I know first hand that they take an age to heal. It's not so much the 4-8 weeks for the bones to mend that you refer to, but the rehabilitation that follows. The shoulder is quite a complex joint, so the recuperation period is quite long.