您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐