Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blog post #7

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions posts/blog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Examining "User-Centered PL Design: A Course-Based Case Study"
==============================================================

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who is the author of this blog post?

Michael Coblenz, Ariel Davis, Megan Hofmann, Vivian Huang, Siyue Jin, Max Krieger, Kyle Liang, Brian Wei, Mengchen Sam Yong, & Jonathan Aldrich. (2020). User-Centered Programming Language Design: A Course-Based Case Study.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where was the paper published? The citation is incomplete.


Designing programming languages is challenging task. Languages suffer from early design decisions that are difficult to change later once enough inertia has accumulated. Unfortunately, the techniques used to study programming languages are expensive time-wise.
These barriers to entry in prototyping a language can make it difficult to make design decisions that are crucial in shaping the future of the language. The authors have designed a process to ease programming language design with a framework called PLIERS that integrates user-centered methods with traditional formal methods. They have already designed two languages with this framework and wish to reinforce this by having other participants that did not develop this framework use it for their own programming language design. To do so, the authors asked students in a class to design a new programming languages according to their own design goals. The students (in groups of six) learned about concepts in language design, semantics, and user study design and execution. Furthermore, they learned about the key concepts and methods PLIERS suggests in designing programming languages.

The research questions for the paper are "Does PLIERS highlight problems in the early stages of programming language design?" and "What difficulties do practitioners face when using PLIERS, a systemic framework to aid designers for prototyping a programming language?"

Critique
--------

The authors view that user studies are an essential portion of programming language design. Many popular languages have changed their capabilities over time once widespread adoption happened. The related works section for this paper is a short two paragraphs. The literature on how to do programming language design is small and not directly tied to addressing programming language design. There is a gap in a systematic way in improving programming language design, probably because it is somewhat subjective and very hard to test directly. The work is very relevant to the large amount of language designers creating and introducing new languages.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you be more specific about what the problem, gap, and hook are? Take a look at the Lingard readings here.


The authors use theory in that programming language design is an iterative process that requires user-study input to help guide design. It has shaped them to develop PLIERS and use this framework to develop 2 languages and develop a case study on user-studies using this framework. The paper effectively summarized each student teams' language and details about insights on the design process. The author split up overarching observations in two different user-centered approaches (natural programming, usability study). The paper also tidily identified future work in using the PLIERS process with more experienced language designers. They noted that since there is a lack of previous literature that it is difficult to make generalizable language design guidelines.