All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Understanding the Expression Problem: A Fundamental Software Design Challenge

By

ibobev

8mo ago· 17 min readenInsight

Summary

The article discusses "The Expression Problem" — a fundamental software design challenge concerning how to design abstractions for data types and operations. The author describes encountering this problem multiple times in their career but only recently discovering it has a formal name. The piece explores solutions to this problem, which involves the tension between adding new data types versus new operations on those types, and how different programming paradigms (object-oriented vs functional) handle this trade-off differently.

Key quotes

· 3 pulled
The craft of programming is almost universally concerned with different types of data and operations/algorithms that act on this data.
It's a problem so fundamental that I was quite surprised that I haven't seen it named before.
designing abstractions for data types and operations has been on the mind of software engineers and programming-language designers since... forever.
Snippet from the RSS feed
The craft of programming is almost universally concerned with different types of data and operations/algorithms that act on this data [1]. Therefore, it's hardly surprising that designing abstractions for data types and operations has been on the mind of

You might also wanna read