Introductory Programming Language Design

Since the fortran-lang projects try to make Fortran easier for beginners to learn, the 1996 paper Seven Deadly Sins of Introductory Programming Language Design by Linda McIver and Damian Conway, discussed at Hacker News, may be of interest. Below are the bullet points that the paper explicates.

Seven Deadly Sins

  1. Less is more
  2. More is more
  3. Grammatical traps
  4. Hardware dependence
  5. Backwards Compatibility
  6. Excessive Cleverness
  7. Violation of Expectations

Seven Steps Towards More “Teachable” Languages

  1. Start where the novice is
  2. Differentiate semantics with syntax
  3. Make the syntax readable and consistent
  4. Provide a small and orthogonal set of features
  5. Be especially careful with I/O
  6. Provide better error diagnosis
  7. Choose a suitable level of abstraction

There is also a 2006 paper An Objective Comparison of Languages for
Teaching Introductory Programming
by Linda Mannila and Michael de Raadt that compared languages by features and ranked Eiffel, Python, and Java highest.