IntentionalComputingPreparation

From SPA Wiki

Jump to: navigation, search

Preparatory reading

Intentional Programming is still in its infancy - and Intentional Computing is still a twinkle in any number of eyes… There is no single source of information on IP or IC: to prepare for the working group, participants should familiarise themselves with some of the following material - most of which is on IP:

The Death of Computer Languages, The Birth of Intentional Programming Charles Simonyi, 1995 http://research.microsoft.com/research/pubs/view.aspx?tr_id=4

From the abstract: IP is currently under development at Microsoft Research. Several US Patents have been applied for, covering various aspects of the system. The system achieved complete self-sufficiency March 1, 1995, and since then all further development of IP has been performed in IP itself. The size of the system as of September 1995 was about 1.7M nodes (intention instances) in the source tree. Plans include the creation of component libraries; the support of additional legacy languages, such as C%2b%2b; operational use of the system elsewhere within the company; and finally productization before the year 2000.

Given this timescale, and the fact that this paper is now nearly ten years old, you might like to consider why IP has taken so long to bring to even it’s current stage of preparedness.

Interview with Charles Simonyi Code Generation Network, July 2004 http://www.codegeneration.net/tiki-read_article.php?articleId=61 This interview is a follow-up to:

Interview with Sergei Dmitriev Code Generation Network, July 2004 http://www.codegeneration.net/tiki-read_article.php?articleId=60 Dimitriev is CEO of JetBrains, the company behind the IntelliJ Java IDE. His ideas coincide quite closely with Simonyi’s.

Language Oriented Programming: The Next Programming Paradigm Sergei Dmitriev, November 2004 http://www.onboard.jetbrains.com/articles/04/10/lop/ A more extensive exposition by Dmitriev. The alpha version of Meta-Programming System, described in the article, can be downloaded from http://www.jetbrains.com/mps/


Generative Programming: Methods, Tools, and Applications Czarnecki/Eisenecker, 2000. ISBN 0201309777 Covers many programming techniques, has an extensive chapter on IP based on Simonyi’s work at Microsoft before he left to start Intentional Software.

Intentional Programming Video http://www.cse.unsw.edu.au/~cs3141/ip.asf Copy of a Microsoft Promotional video on IP.

Subtext http://www.subtextual.org/ A new experimental language/environment in the intentional vein.

Haystack http://haystack.lcs.mit.edu/ The closest I have found to being an Intentional Computing platform.


Some other ideas to consider as stepping-stones towards or manifestations of intentionality:

  • Aspect-oriented programming
  • Meta-programming
  • Code generation
  • Domain-specific languages
  • Model-driven architectures

-> Back to IntentionalComputing