Learning new programming languages: an analysis of the process and problems encountered

BEHAVIOUR & INFORMATION TECHNOLOGY(2007)

引用 9|浏览4
暂无评分
摘要
Experienced programmers transferring to a new language have a far easier time than the novice learning a first language. However, they still experience considerable difficulties. The objective in this exploratory study was to characterize the kinds of learning and transfer that take place in the early stages of using a new programming language and where difficulties develop. `Think-aloud' protocols were videotaped as subjects went about trying to write a program in a new programming language. Subjects used one of two unfamiliar languages, one similar to their known language (Pascal) and the other dissimilar. Three types of analyses were done on the recorded protocols: a procedural analysis showing the activities the subjects engaged in as they learned the new language, a programming knowledge analysis showing in which areas of program development difficulties were encountered, and a solutions analysis showing how successful the programmers were at using unique features of the new language. We found that the procedures programmers used to learn a new language were independent of the language being learned. The slight differences that existed in procedures were between levels of expertise. Programmers spent the majority of their time reading a language textbook. The programming knowledge analysis showed that programmers' main area of concentration was planning how to implement their approach given the constructs available in the language. We observed many iterations of programmers trying to implement plans, failing and having to revise their plans. Examination of the subjects' solutions and implementation approaches in Pascal led us to believe that programmers learning a new language are often biased by their implementation of algorithms in previous languages.
更多
查看译文
关键词
exploratory study,programming language
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要