Image for post
Image for post
Components of the 3P Principle

As programmers, we are continuously looking for languages that are performant, productive, and general purpose. Is there any programming language that currently satisfies these properties? Can we ever create one?

In this article, I present the 3P Principle, a fundamental trade-off that affects the design of programming languages and the success of software projects.


The 3P Principle dictates that a programming language cannot satisfy the following desirable properties at the same time:

  • (General) Purpose: a programming language can be applied to a wide range of tasks and problems (e.g., web programming, computer security, theorem proving, data analysis …).

Médéric Hurier (fmind)

Doctor, Hacker, Learner, Teacher, Researcher, Entrepreneur, Father, and Dog Owner. I’m a Data Scientist / ML Engineer working in the area of Luxembourg.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store