I’ve heard these statements before, and I agree with the general sentiment, but I’ve yet to hear a solid set of solutions. Many of these statements are contradictory, or at least hide opposing principles. For instance:
> We are destroying software by no longer caring about backward APIs compatibility.
and
> We are destroying software by always underestimating how hard it is to work with existing complex libraries VS creating our stuff.
I’d say for about 75% of the projects I’ve worked on, choosing an existing complex library over writing something new was due to backward compatibility. I’d say we vastly underestimate how much work is put into to deal with back compat.
> We are destroying software by no longer caring about backward APIs compatibility.
and
> We are destroying software by always underestimating how hard it is to work with existing complex libraries VS creating our stuff.
I’d say for about 75% of the projects I’ve worked on, choosing an existing complex library over writing something new was due to backward compatibility. I’d say we vastly underestimate how much work is put into to deal with back compat.