What a Software Engineer Needs to Know: I. Program Vocabulary
• Technical Report
Publisher
Software Engineering Institute
CMU/SEI Report Number
CMU/SEI-89-TR-030Abstract
Software development, like any complex task, requires a wide variety of knowledge and skills. We examine one particular kind of knowledge, the programming language vocabulary of the programmer, by gathering statistics on large bodies of code in three languages. This data shows that most of the identifiers in programs are either uses of built-in or standard library definitions or highly idiomatic uses of local variables. We interpret this result in light of general results on expertise and language acquisition. We conclude that tools to support the vocabulary component of software development are wanting, and this part of an engineer's education is at best haphazard, and we recommend ways to improve the situation.
Cite This Technical Report
Shaw, M., Giuse, D., & Reddy, R. (1989, December 1). What a Software Engineer Needs to Know: I. Program Vocabulary. (Technical Report CMU/SEI-89-TR-030). Retrieved November 23, 2024, from https://insights.sei.cmu.edu/library/what-a-software-engineer-needs-to-know-i-program-vocabulary/.
@techreport{shaw_1989,
author={Shaw, Mary and Giuse, Dario and Reddy, Raj},
title={What a Software Engineer Needs to Know: I. Program Vocabulary},
month={{Dec},
year={{1989},
number={{CMU/SEI-89-TR-030},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://insights.sei.cmu.edu/library/what-a-software-engineer-needs-to-know-i-program-vocabulary/},
note={Accessed: 2024-Nov-23}
}
Shaw, Mary, Dario Giuse, and Raj Reddy. "What a Software Engineer Needs to Know: I. Program Vocabulary." (CMU/SEI-89-TR-030). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, December 1, 1989. https://insights.sei.cmu.edu/library/what-a-software-engineer-needs-to-know-i-program-vocabulary/.
M. Shaw, D. Giuse, and R. Reddy, "What a Software Engineer Needs to Know: I. Program Vocabulary," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-89-TR-030, 1-Dec-1989 [Online]. Available: https://insights.sei.cmu.edu/library/what-a-software-engineer-needs-to-know-i-program-vocabulary/. [Accessed: 23-Nov-2024].
Shaw, Mary, Dario Giuse, and Raj Reddy. "What a Software Engineer Needs to Know: I. Program Vocabulary." (Technical Report CMU/SEI-89-TR-030). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Dec. 1989. https://insights.sei.cmu.edu/library/what-a-software-engineer-needs-to-know-i-program-vocabulary/. Accessed 23 Nov. 2024.
Shaw, Mary; Giuse, Dario; & Reddy, Raj. What a Software Engineer Needs to Know: I. Program Vocabulary. CMU/SEI-89-TR-030. Software Engineering Institute. 1989. https://insights.sei.cmu.edu/library/what-a-software-engineer-needs-to-know-i-program-vocabulary/