Sign In

Communications of the ACM


Programming Languages Are the Most Powerful, and Least Usable and Learnable User Interfaces

Mark Guzdial

Andy Ko wrote a recent blog post with an important claim: "Programming languages are the least usable, but most powerful human-computer interfaces ever invented." Andy argues the "powerful" part with points about expressiveness and political power. He uses HCI design heuristics to show how programming languages have poor usability. Obviously, some people can use programming languages, but too few people and at great effort.

I see that Andy's argument extends to learnability. There are two ways in which programming languages have poor learnability today -- (1) in terms of expectancy-value and (2) in terms of social cost.

What's the benefit of a closure? Eugene Wallingford tweeted a great quote the other day: