What should the ideal programming language (or languages) be like?

If I were to start building what I believe would be the best programming environment for children I would make something like ToonTalk with the following differences:

  1. Programming would take place within a 3D persistent shared on-line virtual world with an integrated physics engine. Discussed here.
  2. The kernel of the language would be as elegant and powerful as possible. Mathematical elegance is discussed here and the layering of a "user-level" language upon such a kernel is touched upon here.
  3. The model of concurrent and distributed computation would remain the same but would have a very different implemented. The model is discussed here and the proposed implementation and further motivation can be found here.
  4. ToonTalk's support for programming with concrete examples in an action-oriented fashion using metaphorical analogs of computational abstractions would be augmented with corresponding static pictorial representations (comic books) and a symbolic language. Briefly discussed here.
  5. ToonTalk's exact rational arithmetic could be augmented with exact irrational numbers. Discussed here.
  6. Perfect or ideal geometry could be supported. Discussed here.
  7. A better version of time travel could be supported. Discussed here.
  8. Programs can run in mobile devices, web browsers, and maybe more. Discussed here.
  9. ToonTalk is rarely used by professional programmers to accomplish their tasks. Perhaps the ideal language for children and non-professionals should provide support for professionals as well.

If I were to start designing the ideal programming environment for children, I would first try to start a discussion by writing documents like this one.

home | search | purchase | manual | news | info | games | faq | support | downloads | endorsements | press | contact us