[ | Date | | | 2023-08-29 10:51 -0400 | ] |
[ | Current movie | | | Le locataire | ] |
Loosely following the news in Web development, I noticed a term appear: “polyfill”. Before looking into it, my assumption was that it would be related to the topic of filling polygons efficiently. This is a question that probably made sense for more people to be interested in before the time when specialized graphics acceleration hardware was ubiquitous: I wondered why there seemed to be renewed interest for it.
Instead, the term “polyfill” is about functions that are provided to fill a gap in a given implementation of a programming language’s library. The application for Web development is to JavaScript libraries, as implemented by multiple Web browsers. By loading a polyfilling library, a developer can benefit from functions that may or may not be natively provided by a given browser: if the browser includes the function, then that version is used; otherwise, the call falls back to the polyfilling library’s version.
In 2023, in Montreal, I noticed a mural by Michel Rabagliati showing a picture inspired from his series Paul, captioned “Paul en appartement, c’est ici”, with the characters preparing their apartment as they move into it. One of the products they use is “Polyfilla”, a brand name that seems to be a regional term meaning “spackling paste”. This, finally, explains the “polyfill” name: it is definitely not about filling polygons, but rather about filling holes; be it in a physical wall or in a software library.
I like to think of the implications: applying spackling paste is only adequate for smaller holes, and is not the end of the job, as one must wait for the paste to dry and apply paint to get a good-looking result. The software analogy implies that polyfilling is not adequate for very complex missing functions, and that, perhaps, a polyfill fallback is not as high-quality as a native function would have been.
Quick links: