Backward Compatiblitity
A few months ago I read two articles on MSDN about the compatibility
One is https://msdn2.microsoft.com/en-us/library/58bc9k67(VS.71).aspx
The other is https://msdn2.microsoft.com/en-us/library/58bc9k67(VS.80).aspx
The first link said, “Backward compatibility means that an application is compiled for an earlier version of the .NET Framework, and continues to execute on later versions of the .NET Framework, without any degradation of functionality”.
The second link said “Backward compatibility means that an application is compiled for a newer version of the .NET Framework, but continues to run on earlier versions of the .NET Framework without any loss of functionality.”
My first impression was that the above two definitions are opposite. One of them must be wrong. Later, after carefully considering I realized these two articles look similar, but they were telling different stories. The first article was saying the backward compatibility of the .NET Framework, while the second article was saying the backward compatibility of a given application. In other words, the first link was referring to,: "Backward compatibility of Framework means ...." and the second link was referring to, "Backward compatibility of Application means ....".
The name of backward compatibility actually self-explains the definition, but in case you were confused by something else, here is a good link
https://en.wikipedia.org/wiki/Backward_compatibility