Semantic Compression: A Different Approach to Programming Beyond Object-Oriented Design
By
tosh
Hot, fresh, and worth queueing round the block for.
Summary
The article introduces the concept of "semantic compression" as an alternative approach to traditional object-oriented programming. It critiques the common practice of creating classes for every noun in a problem domain (like 'Employee' and 'Manager' for a payroll system) and suggests that code should be approached with a mindset toward compressing it semantically rather than rigidly following object-oriented patterns. The piece appears to be a programming philosophy article that challenges conventional C++ and object-oriented design practices.
Key quotes
· 4 pulledWe all know how to program in C++, don't we? I mean, we've all read a selection of wonderful books by the gaggle of bearded fellows who defined the language in the first place
First, you look at the real world problem — say, a payroll system — and you see that it has some plural nouns in it: 'employees', 'managers', etc. So the first thing you need to do is make classes for each of these nouns.
But really, both of those are just people.
An introduction to the idea that code should be approached with a mindset towards compressing it semantically, rather than orienting it around objects.
You might also wanna read
Beyond 'Code is Read More Than Written': Considering Runtime Performance in Software Development
The article challenges the common programming wisdom that 'code is read more than written' by proposing an extension: 'code is run more than
Rust Programming Language: A Tool, Not an Identity
The article presents a balanced perspective on the Rust programming language, acknowledging its strengths as a versatile tool for both appli
The Case for LEGO-Like Software Building Blocks Over Advanced Type Systems
The article argues that the software development community is overly focused on advancing type systems (like dependent types and effect syst
Examining the Philosophy of Vibe Coding and Programming Language Preferences
The article is a thoughtful exploration of programming philosophy, contrasting 'vibe coding' (intuitive, flow-state programming) with more s
Why Average LLM Use Is Likely Destroying Value in Software Development
The author argues that, contrary to prevailing hype, the average use of Large Language Models (LLMs) is likely destroying value rather than
How AI Accelerated Prototyping: From Idea to Tangible in Record Time
The author reflects on how AI has transformed their prototyping workflow. Previously, the biggest bottleneck was the time needed to scaffold
