TY - GEN
T1 - Learning rust
T2 - 2020 ACM CHI Conference on Human Factors in Computing Systems, CHI EA 2020
AU - Abtahi, Parastoo
AU - Dietz, Griffin
N1 - Publisher Copyright:
© 2020 Owner/Author.
PY - 2020/4/25
Y1 - 2020/4/25
N2 - 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.
AB - 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.
KW - Computer science education
KW - Learning resources
KW - Programming languages
KW - Rust
UR - http://www.scopus.com/inward/record.url?scp=85090246000&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85090246000&partnerID=8YFLogxK
U2 - 10.1145/3334480.3383069
DO - 10.1145/3334480.3383069
M3 - Conference contribution
AN - SCOPUS:85090246000
T3 - Conference on Human Factors in Computing Systems - Proceedings
BT - CHI EA 2020 - Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems
PB - Association for Computing Machinery
Y2 - 25 April 2020 through 30 April 2020
ER -