Share options

P is for polemic

Glossary index

Skip to glossary

  1. A
  2. B
  3. C
  4. D
  5. E
  6. F
  7. G
  8. H
  9. I
  10. J
  11. K
  12. L
  13. M
  14. N
  15. O
  16. P
  17. Q
  18. R
  19. S
  20. T
  21. U
  22. V
  23. W
  24. X
  25. Y
  26. Z
Polemic is contentious rhetoric intended to support a specific position by forthright claims and to undermine the opposing position. The practice of such argumentation is called polemics, which are seen in arguments on controversial topics. A person who writes polemics, or speaks polemically, is called a polemicist.
Note: many people confuse polemics with rants. But a polemic, while often angry, is a rational, principled argument. In contrast, a rant is a stubborn, emotional outburst, often irrational.
At Craft Code we polemicize. We never rant. Our views are rational and supported by evidence and argument. We may be wrong occasionally, but we are neither stubborn nor irrational. Prove us wrong and we will happily change our views.
Try us.
Source: Polemic
In software development, a polyfill is code that implements a feature of the development environment that does not natively support the feature. Most often, it refers to a JavaScript library that implements an HTML5 or CSS web standard, either an established standard (supported by some browsers) on older browsers, or a proposed standard (not supported by any browsers) on existing browsers.
Formally, “a polyfill is a shim for a browser API.”
Source: Polyfill (programming)
premature optimization
Premature optimization is a phrase used to describe a situation where a programmer lets performance considerations affect the design of a piece of code. This can result in a design that is not as clean as it could have been or code that is incorrect, because the code is complicated by the optimization and the programmer is distracted by optimizing.
Source: Program optimization
premature reification
To “reify” means to make real or concrete. Premature reification occurs when we rush to completion, turning potential into reality sooner than we need to. It often leads to wasted time, effort, and money.
For example, we might know that eventually we will need a certain widget, so we go ahead and build it. But then later it turns out that we didnʼt need it after all. Or we did, but the way we built it was all wrong. Doh!
Principle of Least Power
The Principle of Least Power states that when writing software, we should always use the least powerful approach that solves the problem. Donʼt over-engineer. Donʼt over-abstract or abstract too soon. Stay low on the tree of abstraction and keep it simple.
problem space
The problem space is the problem and everything associated with the problem, including such things as the history of the problem; the stakeholders (those who benefit from the problem, those who contribute to the problem, and those who feel the problem most deeply, as pain).
See also solution space.
Source: Problem Space, Solution Space
progressive enhancement
Progressive enhancement is a design philosophy that provides a baseline of essential content and functionality to as many users as possible, while delivering the best possible experience only to users of the most modern browsers that can run all the required code.
The word progressive in progressive enhancement means creating a design that achieves a simpler-but-still-usable experience for users of older browsers and devices with limited capabilities, while at the same time being a design that progresses the user experience up to a more compelling, fully-featured experience for users of newer browsers and devices with richer capabilities.
Source: Progressive Enhancement
Proof of Concept (PoC)
Proof of concept (POC or PoC), also known as proof of principle, is a realization of a certain method or idea in order to demonstrate its feasibility, or a demonstration in principle with the aim of verifying that some concept or theory has practical potential.
A proof of concept is usually small and may or may not be complete.
Source: Proof of concept
Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing.
Source: Software prototyping

Get notified form

Get notified of site updates
Button bar

Carbon emissions for this page

Cleaner than 99% of pages tested
0.012g on first visit; then on return visits 0.007g
QR Code

Scan this code to open this page on another device.