In the pedagogy of programming languages, one well-known course structure is to tour multiple languages as a means of touring paradigms. This tour-of-paradigms approach has long received criticism as lacking depth, distracting students from foundational issues in language theory and implementation. This paper argues for disentangling the idea of a tour-of-languages from the tour-of-paradigms. We make this argument by presenting, in depth, a series of case studies included in the Human-Centered Programming Languages curriculum. In this curriculum, case studies become deep, serving to tour the different intellectual foundations through which a scholar can approach programming languages, which one could call the tour-of-humans. In particular, the design aspect of programming languages has much to learn from the social sciences and humanities, yet these intellectual foundations would yield far fewer deep contributions if we did not permit them to employ case studies.
翻译:在编程语言的教学法中,一种广为人知的课程结构是通过遍历多种语言来遍历范式。这种"范式遍历"方法长期以来因其缺乏深度而受到批评,被认为会分散学生对语言理论与实现中基础问题的注意力。本文主张将"语言遍历"与"范式遍历"的概念解耦。我们通过深入展示"以人为中心的编程语言"课程中包含的一系列案例研究来论证这一观点。在该课程中,案例研究变得深入,旨在遍历学者研究编程语言时可依据的不同知识基础——这或许可称为"人类视角遍历"。特别是编程语言的设计方面可以从社会科学和人文学科中汲取丰富养分,但如果我们不允许这些知识基础运用案例研究方法,它们所能产生的深度贡献将大幅减少。