Jump to content

Intentional Software

From Wikipedia, the free encyclopedia
(Redirected from Intentional programming)
Intentional Software
IndustrySoftware engineering
FoundedSeptember 2002
FounderCharles Simonyi
Gregor Kiczales Edit this on Wikidata
DefunctApril 2017
FateAcquired by Microsoft
Headquarters
Key people
Charles Simonyi (co-founder), Eric C. Anderson (CEO)
Number of employees
50-100
ParentMicrosoft Edit this on Wikidata
Websitehttp://www.intentional.com

Intentional Software was a software company that designed tools and platforms that followed the principles of intentional programming[1] in which programmers focus on capturing the intent of users and designers, and spend as little time as possible interacting with machines and compilers.[2] Its tools included language workbenches, tools that separated software function from implementation, and allowed 'language-focused' development.[3][4] This allowed automatic rewriting of code as expert knowledge of implementation options changed.[5] The company later began developing a platform for improving productivity of software groups.

History

[edit]

Charles Simonyi led a team in Microsoft Research in the 1990s and developed the concept of Intentional Programming, in which programmers focus on capturing the intent of users and designers, and spend as little time as possible interacting with machines and compilers.[6] Simonyi developed the paradigm and by March 1995 had built an integrated development environment demonstrating it.[1] In September 1995, he published a technical report entitled "The Death Of Computer Languages, The Birth of Intentional Programming",[7] and in 1996, he presented a talk.[8] The project was moved from Microsoft Research to the development group in 1999.[9] In 2000, Microsoft Research released an educational video introducing their Intentional Programming system.[10]

Around spring 2001, Microsoft was rolling out C# and .NET to counter Java adoption, and decided not to productize the Intentional Programming paradigm. Simonyi obtained Microsoft's approval to take his idea out from Microsoft and commercialize it himself. Microsoft cross-licensed Simonyi's patents to Intentional Software, but he could not take any of the code.[1] The company was co-founded by Simonyi and Gregor Kiczales in 2002, and later headed by CEO Eric Anderson. However, Kiczales left the company in 2003.[11] After rewriting the code from scratch, in 2006, another major rewrite was performed.[1]

In 2017, the company had almost 100 staff.[12] On April 18, 2017, it was acquired by Microsoft,[13][14] with many of its employees joining the Microsoft Office team.

Products and services

[edit]

Intentional Software developed the Domain Workbench, a language workbench for building and working with domain-specific languages,[15] and designed custom languages for clients for their particular uses.[16] They also built the Intentional Platform,[17] a platform for group productivity software.

Intentional Software's ideas and capabilities were not particularly novel, and had all been around for a while. However, their language workbench was more mature than comparable tools of the time. Programs were written in a general purpose language with the working name of CL1, which was represented as a tree or database rather than text. This information could be projected or viewed in several ways, such as circuit diagrams or a C#-like language. The workbench featured integrated specification of test cases, integrated version control, and a runtime deployment option to release standalone products. The system was primarily integrated into the .NET ecosystem, but Java deployment was also supported.[18]

References

[edit]
  1. ^ a b c d Rosenberg, Scott. "Anything You Can Do, I Can Do Meta". Retrieved 4 September 2017.
  2. ^ Pontin, Jason (2007). "Awaiting the Day When Everyone Writes Software". The New York Times. ISSN 0362-4331. Retrieved 2017-09-12.
  3. ^ Fowler, Martin. "Language Workbenches: The Killer-App for Domain Specific Languages?" (PDF).
  4. ^ Rosenan, Boaz (2010). "Designing language-oriented programming languages". Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion. OOPSLA '10. New York, NY, USA: ACM. pp. 207–208. doi:10.1145/1869542.1869576. ISBN 9781450302401. S2CID 13841558.
  5. ^ Simonyi, Charles; Christerson, Magnus; Clifford, Shane (2006). "Intentional software". Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications. OOPSLA '06. New York, NY, USA: ACM. pp. 451–464. doi:10.1145/1167473.1167511. ISBN 1595933484. S2CID 10334945.
  6. ^ Czarnecki, Krzysztof; Eisenecker, Ulrich W.; Eisenecker, Ulrich (2005). "11. Intentional Programming". Generative programming: methods, tools, and applications (6th ed.). Boston Munich: Addison Wesley. ISBN 978-0201309775.
  7. ^ Simonyi, Charles (September 1995). The Death Of Computer Languages, The Birth of Intentional Programming (Technical report). Microsoft Research. MSR-TR-95-52.
  8. ^ "Intentional Programming - Innovation in the Legacy Age". 4 June 1996.
  9. ^ Ling, Dan (16 August 1999). "IP Team Moves From Research Into Development".
  10. ^ Intentional Programming. Microsoft Research. 2000. Archived from the original (ASF) on 1 July 2004.
  11. ^ "Co-Founder Of Intentional Software Has Left The Company". InformationWeek. Retrieved 2020-07-28.
  12. ^ "Charles Simonyi rejoins Microsoft as it buys his startup". The Seattle Times. 2017-04-18. Retrieved 2017-09-12.
  13. ^ Miller, Ron. "Microsoft acquires Intentional Software and brings old friend back into fold - TechCrunch". Retrieved 4 September 2017.
  14. ^ "Charles Simonyi, Founder, Chairman, and CTO -". www.intentional.com. Archived from the original on 2018-08-25. Retrieved 2017-09-12.
  15. ^ "Charles Simonyi reveals production use of Intentional Software @ JAOO". InfoQ. Retrieved 2017-09-12.
  16. ^ "ACORD and Intentional Software Announce Strategic Partnership — ACORD.org Press Releases". Press Releases. Retrieved 2017-09-12.
  17. ^ "Intentional Platform -". www.intentsoft.com. Retrieved 2017-09-12.
  18. ^ Fowler, Martin (20 April 2009). "Intentional Software". martinfowler.com.
[edit]