Sunday, November 04, 2007

If I were to write a programming language

It would have several characteristics borrowed from everybody else:

  • YACC-like grammar definition built-in; think of it as LISP macros but with custom syntax
  • Closures
  • Lightweight "processes" as in Erlang, Stackless, and Squeak
  • Persistable processes as in Squeak
  • Pattern-matching as in Prolog
  • Primitives for parallel execution
  • Variable argument lists as in Python (or perhaps C)
And several that would be new:
  • All artifacts expressed as text in "code:" bugs, features, tasks, etc.
  • IDE browsers based on examining artifacts in code
  • Refactoring and versioning built into the language as primitives
I think I can have this language implemented by the time I'm 50....