Taking ASCII Drawings Seriously: How Programmers Diagram Code

被引:1
作者
Hayatpur, Devamardeep [1 ]
Hempel, Brian [1 ]
Chen, Kathy [1 ]
Duan, William [1 ]
Guo, Philip J. [1 ]
Xia, Haijun [1 ]
机构
[1] Univ Calif San Diego, La Jolla, CA 92093 USA
来源
PROCEEDINGS OF THE 2024 CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYTEMS (CHI 2024) | 2024年
基金
美国国家科学基金会;
关键词
programming; graphical representations;
D O I
10.1145/3613904.3642683
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Documentation in codebases facilitates knowledge transfer. But tools for programming are largely text-based, and so developers resort to creating ASCII diagrams-graphical artifacts approximated with text-to showvisual ideas within their code. Despite real-world use, little is known about these diagrams. We interviewed nine authors of ASCII diagrams, learning why they use ASCII and what roles the diagrams play. We also compile and analyze a corpus of 507 ASCII diagrams from four open source projects, deriving a design space with seven dimensions that classify what these diagrams show, how they show it, and ways they connect to code. These investigations reveal that ASCII diagrams are professional artifacts used across many steps in the development lifecycle, diverse in role and content, and used because they visualize ideas within the variety of programming tools in use. Our findings highlight the importance of visualization within code and lay a foundation for future programming tools that tightly couple text and graphics.
引用
收藏
页数:16
相关论文
共 64 条
  • [1] American Standards Association, 1963, AM STAND COD INF INT
  • [2] Adding Interactive Visual Syntax to Textual Code
    Andersen, Leif
    Ballantyne, Michael
    Felleisen, Matthias
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4
  • [3] [Anonymous], 2022, LLVM Compiler Infrastructure
  • [4] [Anonymous], 2006, LINUX KERNEL
  • [5] [Anonymous], 2000, LINUX KERNEL
  • [6] [Anonymous], 2021, LINUX KERNEL
  • [7] [Anonymous], 2020, Tensorflow
  • [8] [Anonymous], 2014, Llvm compiler infrastructure
  • [9] [Anonymous], 2022, LINUX KERNEL
  • [10] Arafat O., 2009, Proceedings of Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, P857