Explanation
As one of the first activities we will do at this Dagstuhl, we want to informally highlight some of the challenges in designing error messages. Thus, we are providing an ice breaker activity, which works by giving everyone a set of source code, written in a programming language you may not know. Your job is to write the message for the error. There are a few rules we would ask you to follow:
- It may be obvious what the language is and that is ok, but please avoid looking up what the actual error message is or any information about the language. We are trying to get people to discuss what the error messages should be without additional information. We are not asking you to look up what a message is in an existing compiler by that language's existing rules.
- As an error message designer, you may, or may not, have control over the programming language, its compiler, or its rules. You get to choose a message and that is all. Change to the language may very well be valid, but they miss the point of this exercise.
- Try to think general purpose. It is sometimes easy to imagine what an error message should be for a very specific use case, but more difficult to imagine the bigger picture where a user can type whatever one could imagine.
Note that all samples are either real code submitted by a user or slightly modified. They may come from any known version of the language in question. We are intentionally omitting any information about the users that submitted the code (and they are not the same people). Assume you have no information on age, gender, ethnicity, disability status, or anything else. As such, you cannot determine ahead of time if you are giving this message to a child with no experience, an experienced professional, a person with a native language other than English, a college student with dyslexia, or really anything else. All you get to decide is what the error message is. All message submissions should go in the following form:
Error Message Submission FormThere are three parts to this exercise:
- (40 minutes) Discuss in small groups each code sample. Try to identify what the problems are in each sample to ensure everyone knows what the issues actually are. Try to do so without digging into the details of the programming language, even if you know how to do so.
- (20 minutes) Decide individually what each compiler error message should be and fill out the google form.
- Later in the week, we will look at everyone's submissions and re-think our submissions.
Code Sample 1
integer value = 10
outputvalue
Code Sample 2
integer value = 10
Output value
Code Sample 3
repeat 10 times
text= name input("Please enter your first name:")
output "Hello world!", Name
end
Code Sample 4
number test = 10.4
integer test = 15
repeat until test > 50 times
test = test + 1
end
Code Sample 5
use Libraries.Game.Game
// INSERT YOUR " USE " STATEMENTS HERE
class Main is Game
action Main
StartGame ()
end
action CreateGame
// INSERT YOUR CODE HERE
end
end
use Libraries.Sound.Audio
Audio.clickSound
clickSound:Load("media/astro/click.wav")
clickSound:Play()