Parsimony Principles for Software Components and Metalanguages
2012-02-24 15:34
369 查看
A relatively easy paper on the principles of designing components from Todd L. Veldhuizen, University of Wateroo, Canada.
The paper investigates two questions:
1. In designing a library for a problem domain, how can we evalu-ate whether a component is undergeneralized, overgeneralized, or ‘just right’?
2. How and why should we strike a tradeoff between the power of
abstraction mechanisms in languages, their ease of use, and the
amount by which they allow program length to be reduced?
The conclusion part (Sec 5) points out clearly the main idea of the paper. Some notes are as follows:
- The Minimum Description Length (MDL) principle states that the model providing the best explana-tion of the data is the one providing the shortest explanation of the data.
- In designing a programming language, the tradeoff is largely between the succinctness a language offers (i.e., amount of compression) and the cognitive difficulty of recog-nizing and exploiting motifs (i.e., the cost of compression).
- In the cognitive dimensions frame-work this quality is dubbed viscosity: the resistance of a notation to change.
- This can be formalized by examining the relation between tree edit distance [12, 26] of the inputs and outputs to the abstraction function.
- The ease with which an abstraction can be used in design work is strongly influenced by whether it is Lipschitz, and if so, the magnitude of its Lipschitz constant.
本文出自 “梦的脚印” 博客,请务必保留此出处http://daisy8867.blog.51cto.com/1043582/788597
The paper investigates two questions:
1. In designing a library for a problem domain, how can we evalu-ate whether a component is undergeneralized, overgeneralized, or ‘just right’?
2. How and why should we strike a tradeoff between the power of
abstraction mechanisms in languages, their ease of use, and the
amount by which they allow program length to be reduced?
The conclusion part (Sec 5) points out clearly the main idea of the paper. Some notes are as follows:
- The Minimum Description Length (MDL) principle states that the model providing the best explana-tion of the data is the one providing the shortest explanation of the data.
- In designing a programming language, the tradeoff is largely between the succinctness a language offers (i.e., amount of compression) and the cognitive difficulty of recog-nizing and exploiting motifs (i.e., the cost of compression).
- In the cognitive dimensions frame-work this quality is dubbed viscosity: the resistance of a notation to change.
- This can be formalized by examining the relation between tree edit distance [12, 26] of the inputs and outputs to the abstraction function.
- The ease with which an abstraction can be used in design work is strongly influenced by whether it is Lipschitz, and if so, the magnitude of its Lipschitz constant.
本文出自 “梦的脚印” 博客,请务必保留此出处http://daisy8867.blog.51cto.com/1043582/788597
相关文章推荐
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- 现实世界的Windows Azure:Quest Software and OnDemand Migration for Email
- 运行yum报错Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Volume 2, 详细读书笔记 3
- VSTS for Software Testers [2] Web Test and Load Test
- 求书Pattern-Oriented Software Architecture Volume 5 - On Patterns and Pattern Languages 中文版即将开始翻译
- Cannot retrieve metalink for repository: epel. Please verify its path and try again
- CreationName for SSIS 2008 and adding components programmatically
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- yum安装epel库后,安装软件总是提示Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again(无法检索epel仓库)
- install JCE and BouncyCastle software for encryption.
- Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity
- 现实世界的Windows Azure:Quest Software and OnDemand Migration for Email
- VSTS for Software Testers [3] Manual Test and General Test
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- A meta-model for the analysis and design of organizations in multi-agent systems
- 现实世界的Windows Azure:Quest Software and OnDemand Migration for Email
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again