Learning rust: How experienced programmers leverage resources to learn a new programming language

Parastoo Abtahi, Griffin Dietz

Research output: Chapter in Book/Report/Conference proceedingConference contribution

5 Scopus citations

Abstract

Experienced programmers are capable of learning new programming languages independently using various available resources, but we lack a comprehensive understanding of which resources they find most valuable in doing so. In this paper, we study how experienced programmers learn Rust, a systems programming language with extensive documentation and example code, an active online community, and descriptive compiler errors. We develop a task that requires learning Rust syntax and comprehending the Rust-specific approach to mutability and ownership. Our results show that users spend 43% of online time viewing example code and that programmers appreciate in-line compiler errors, choosing to refresh, on average, every 30.6 seconds after first discovering this feature. The average time between these refreshes predicted total task time, but individual resource choices did not. Based on our findings we offer design implications for language and IDE developers.

Original languageEnglish (US)
Title of host publicationCHI EA 2020 - Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450368193
DOIs
StatePublished - Apr 25 2020
Externally publishedYes
Event2020 ACM CHI Conference on Human Factors in Computing Systems, CHI EA 2020 - Honolulu, United States
Duration: Apr 25 2020Apr 30 2020

Publication series

NameConference on Human Factors in Computing Systems - Proceedings

Conference

Conference2020 ACM CHI Conference on Human Factors in Computing Systems, CHI EA 2020
Country/TerritoryUnited States
CityHonolulu
Period4/25/204/30/20

All Science Journal Classification (ASJC) codes

  • Software
  • Human-Computer Interaction
  • Computer Graphics and Computer-Aided Design

Keywords

  • Computer science education
  • Learning resources
  • Programming languages
  • Rust

Fingerprint

Dive into the research topics of 'Learning rust: How experienced programmers leverage resources to learn a new programming language'. Together they form a unique fingerprint.

Cite this