Defining and measuring the productivity of programming languages

被引:20
|
作者
Kennedy, K [1 ]
Koelbel, C
Schreiber, R
机构
[1] Rice Univ, Dept Comp Sci, Houston, TX 77251 USA
[2] Hewlett Packard Labs, Palo Alto, CA 94304 USA
来源
INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS | 2004年 / 18卷 / 04期
关键词
productivity measurement; performance metrics; programming support systems; programming language effectiveness;
D O I
10.1177/1094342004048537
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The goal of programming support systems is to make it possible for application developers to produce software faster, without any degradation in software quality. However, it is essential that this goal must not be achieved at the cost of performance: programs written in a high-level language and intended to solve large problems on highly parallel machines must not be egregiously less efficient than the same applications written in a lower-level language. Because this has been a traditional stumbling block for high-level languages, metrics for productivity analysis must explore the trade-off between programming effort and performance. To that end, we propose the use of two dimensionless ratios, relative power and relative efficiency, to measure the productivity of programming interfaces. In this paper we define these concepts, describe their application, and explore various ways for measuring them, including both empirical strategies and expert opinion. Rather than combine these metrics into a single number representing a universal productivity, we propose that they be represented graphically in at least two dimensions so that the trade-offs between abstraction and performance are clearly depicted. However, we also introduce a single problem-dependent parameter that allows us to reason about the relative productivity of two languages for a given problem.
引用
收藏
页码:441 / 448
页数:8
相关论文
共 50 条
  • [21] Hardware architectures for programming languages and programming languages for hardware architectures
    Wirth, Niklaus
    Operating Systems Review (ACM), 1987, 21 (04): : 2 - 7
  • [22] Integrating Productivity-Oriented Programming Languages with High-Performance Data Structures
    Thankachan, Rohit Varkey
    Hein, Eric R.
    Swenson, Brian P.
    Fairbanks, James P.
    2017 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC), 2017,
  • [23] PROGRAMMING LANGUAGES, NATURAL LANGUAGES, AND MATHEMATICS
    NAUR, P
    COMMUNICATIONS OF THE ACM, 1975, 18 (12) : 676 - 682
  • [24] ON MEASURING LANGUAGES
    DODD, SC
    JOURNAL OF THE AMERICAN STATISTICAL ASSOCIATION, 1949, 44 (245) : 77 - 88
  • [25] Computer languages & productivity
    Managing System Development, 1994, 14 (06):
  • [26] PROGRAMMING PRODUCTIVITY
    FROST, B
    ELECTRONICS & WIRELESS WORLD, 1989, 95 (1638): : 380 - 383
  • [27] PROGRAMMING FOR PRODUCTIVITY
    LISKIN, M
    PERSONAL COMPUTING, 1987, 11 (04): : 41 - +
  • [28] PROGRAMMING LANGUAGES FOR HUMANITIES
    RASKIN, JF
    COMPUTERS AND THE HUMANITIES, 1971, 5 (03): : 155 - &
  • [29] Programming languages and gender
    Dattero, R
    Galup, SD
    COMMUNICATIONS OF THE ACM, 2004, 47 (01) : 99 - 102
  • [30] Quantum programming languages
    Heim, Bettina
    Soeken, Mathias
    Marshall, Sarah
    Granade, Chris
    Roetteler, Martin
    Geller, Alan
    Troyer, Matthias
    Svore, Krysta
    NATURE REVIEWS PHYSICS, 2020, 2 (12) : 709 - 722