coppertop-bones/coppertop

Write up design decisions / goals

Opened this issue · 0 comments

Off the top of my head

  • professional quality and speed
  • ease of use for non-career programmers

others

  • performance - needs to be as fast as normal python
  • influences - simplicity (Smalltalk, q/kdb, Cuis / Rich Hickey), magritr library (https://magrittr.tidyverse.org/)
  • programming with types vs programming with classes (expressivity for the user which leads to formation of a culture leading to tacit expression)
  • the extensibility problem
  • easy to understand error messages
  • dispatch must not interfere with stack trace or debugger (hence putting in C)
  • explicit lazyness (implicit gets very hard to debug and complicates code)
  • focussed on optimising interactive use for non-career programmers rather than professional programmers who use a compile execute paradigm
  • PoD rather than classes / OO
  • Alan Kay on OO quote
  • high quality error messages (ones that ideally don't need any further googling, stack overflowing, etc)