← Back to Concept Index

programming-language-design

Programming languages should be designed for human cognitive limitations and the development process, not just the elegance of finished programs.

3 chapters across 2 books

Hackers & Painters: Big Ideas from the Computer Age (2008)Paul Graham

Chapter 15. Design and Research

Paul Graham distinguishes design from research by emphasizing that design prioritizes creating something good for users, while research focuses on discovering something new. He argues that programming languages should be treated as design problems centered on user needs rather than purely theoretical research. The chapter highlights the importance of iterative prototyping, user-centered calibration, and maintaining morale throughout the design process.

Chapter 2

This chapter discusses the evolution and impact of technology and culture on art and programming, highlighting how photography disrupted traditional painting by undermining portrait painters' livelihoods and shifting value from skill to brand. It also critiques corporate attitudes toward open source, emphasizes the importance of empathy in software design, and advocates for programming languages that prioritize clarity and expressiveness over excessive commenting.

Hackers & Painters (2008)Paul Graham

Chapter 2

This chapter reflects on the evolution and impact of technology and culture on art, programming, and competition. It discusses how photography disrupted traditional painting by undermining portrait painters' livelihoods and how brand value replaced technical skill. It also critiques corporate policies on open source contributions, highlights the importance of empathy in software design, and advocates for programming languages that prioritize clarity and algorithmic expression over excessive commentary.