Share options

O is for Occamʼs Razor

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
Object-Oriented Programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields (often known as attributes or properties), and code in the form of procedures (often known as methods).
A common feature of objects is that methods are attached to them and can access and modify the objectʼs data fields. In this brand of OOP, there is usually a special name such as this or self used to refer to the current object.
See also Functional Programming.
Source: Object-oriented programming
Occamʼs Razor
Occamʼs razor … is the problem-solving principle that recommends searching for explanations constructed with the smallest possible set of elements. It is also known as the principle of parsimony or the law of parsimony.
Attributed to William of Ockham, a 14th-century English philosopher and theologian, it is frequently cited as “Entia non sunt multiplicanda praeter necessitatem,” which translates as “Entities must not be multiplied beyond necessity”, although Occam never used these exact words.
Note: many people paraphrase Occamʼs Razor as “The simplest solution is the best one”. But this is incorrect as it ignores the key words “beyond necessity”. A correct paraphrase is:
The simpler solution all else being equal is the better one.
In short, if two solutions solve the problem equally, choose the simpler one. If not, choose the better solution.
See also KISS.
Source: Occamʼs razor
open-source software (OSS)
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose.
Open-source software may be developed in a collaborative, public manner.
Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software.
Use of open-source software is an important component of sustainable web development. Craft Code strongly supports open-source software, transparency, collaboration, and sustainability.
Source: Open-source software
overengineering
Overengineering (or over-engineering) is the act of designing a product or providing a solution to a problem in an elaborate or complicated manner, where a simpler solution can be demonstrated to exist with the same efficiency and effectiveness as that of the original design.
See also Functional Programming.
Source: Overengineering

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.