Being quite simplistic, Polyfill would be a technical jargon restricted to the web universe, javascript, webToolKit and browsers.
And as far as the day-to-day programming is concerned, that is, when we put our hand in the same dough (hands-on) when implementing the Features regression for older browsers, they are implementing a Shim to the browser. After being released, delivered, by common sense, cease to be Shim and begin to compose a list of Polyfill of said browser.
For any reason in the universe (damned reason) we have to implement our system for old browsers, so we must ensure that the Features are cohesive with the list of Polyfill liberated.
At some point we worry about the degenerate concept: Cross-browser, but not to lose the focus of the question I suggest watching: youtube because it has relationship and can contribute positively in understanding the Polyfill.
To conclude, we can define in the following way:
A Shim that mimics a future API providing return functionality for older browsers. [Paul Irish]
Note: Remy Sharp, 2010, Reference indicated by @Bacchus.
Reference:
[Paul Irish]. Available in personal site. Accessed: 4 Apr, 2017.
[youtube]. Available at youtube - The Navigators' War [Dubbed]. Accessed: 4 Apr, 2017.
[Remy Sharp, 2010]. Available in Remy Sharp’s blog. Accessed: 4 Apr, 2017.
If anyone is curious to know about the use of the term in graphic applications (contraction of Polygon Fill), which came before use in JS, follow a reference search: https:/duckduckgo.com/? q=polyfill+Polygon+Fill - More recently, the term has been adopted in another context, in reference to polyfill which is like our "running dough" for plugging holes in the wall: http://remysharp.com/2010/10/08/what-is-a-polyfill
– Bacco
The term "polyfill" originated in Javascript libraries, but it is based on the term Shim which has always been widely used in programming. The difference is that "polyfill" is oriented to the concept of forward Compatibility, while the "Shim" is based on backward Compatibility. So it’s not about "copying" the term, that’s the name you give the backporting of a future API. :)
– Paulo Freitas
@Paulofreitas That is, copy the term, since technical has nothing to call something "mass race";) (different from Polyfill in computer graphics, which actually has a technical meaning)
– Bacco
@Paulofreitas the observation of Shim is good, if send a reply and take advantage to compare the 2 things (Shim vs polyfill) I think it is cool and values the post.
– Bacco
Just to relate the concepts - Shim. I believe it is interesting to maintain a relationship between them.
– pss1suporte