Everything About ___
Live briefing

Everything about Programming complexity

Attribute of a software system

Programming complexity is a term that includes software properties that affect internal interactions. Several commentators distinguish between the terms "complex" and "complicated". Complicated implies being difficult to understand, but ultimately knowable. Complex, by contrast, describes the interactions between entities. As the number of entities increases, the number of interactions between them increases exponentially, making it impossible to know and understand them all. Similarly, higher levels of complexity in software increase the risk of unintentionally interfering with interactions, thus increasing the risk of introducing defects when changing the software. In more extreme cases, it can make modifying the software virtually impossible. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: Programming complexityA 5-minute orientation
  2. Skim a recent paper: Rademacher Complexity for Enhancing the Generalization of Genetic Programming for Symbolic RegressionInfluential work since 2022
  3. Pick up a classic book: Parallel Processing and Applied MathematicsThe most-reprinted book on the subject
  4. Read the landmark paper: Complexity and expressive power of logic programmingCited 441 times
  5. Go sideways: Coupling (computer programming)A closely related topic
  6. Go sideways: Cohesion (computer science)A closely related topic

📖 Definitions

No dictionary entry for this exact phrase.

🗂️ The subject at a glance

  1. Types
  2. Measures
  3. Chidamber and Kemerer Metrics

🏆 Landmark papers (most cited)

🆕 Influential since 2022

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics