- Workshop Title! Discuss here!.
- Organizers & Primary contact - I'm happy to be primary contact, but would like to have at least one co-organizer, preferably someone who has organized similar event before. Anyone?
Most of academic work on programming languages is done in a way that makes it possible to evaluate the presented work using a small number of methods - an idea can be supported by a formal model with proofs, prototype implementation with measurable indicators or a controlled user study. As a result, programming language ideas are often shaped in a way that makes such evaluation possible. As a result, many interesting ideas about programming struggle to find space in the modern programming language research community, because we do not yet know how to evaluate them and we see them as "unscientific".
The aim of this workshop is to provide a venue where such ideas can be presented and discussed. In the absence of established evaluation methods, our only resort is to subject work to constructive critical review. This workshop takes inspiration from literary criticism - submissions that provoke interesting discussion will be published together with an attributed review that presents an alternative position, develops additional context or summarizes discussion at the workshop.
The methodology of constructive critical commentary makes it possible to explore a wider space of programming ideas than those that are covered by established programming language conferences. This workshop not only enables exploration of new areas of the programming language ideas space, but also provides a venue for discovering other areas of the idea space where further quantitative or qualitative evaluation methods can be applied.
The objective of the workshop is to explicitly provide a venue for discussing programming language ideas that are difficult to evaluate using established programming language evaluation methods. We intend to encourage submissions such as:
Thought experiments. Just like Galileo's early efforts "involved thought experiments, analogies and illustrative metaphors rather than detailed experimentation" (Chalmers 1999, p106), we believe that thought experiments can inspire fruitful programming language ideas. Wadler's widely cited, but never formally published, "expression problem" (Wadler 1998) can be seen as such a programming language thought experiment (as argued by Petricek 2015).
Experimentation. As noted by Hacking, "we find prejudices in favour of theory, as far back as there is institutionalized science" (Hacking 1983, p150). We intend to encourage submissions that "conduct experiment simply out of curiosity to see what will happen." As further noted by Hacking "The physicist George Darwin used to say that every once in a while one should do a completely crazy experiment, like blowing the trumpet to the tulips every morning for a month. Probably nothing will happen, but if something did happen, that would be a stupendous discovery" (Hacking 1983, p151).
Paradigms. All scientific work is rooted in a scientific paradigm (Kuhn 1970) or scientific research programme (Lakatos 1975). Those define not only appropriate methods for answering scientific questions, but also determine what questions are asked. We would like to encourage submissions that explore alternative scientific paradigms or research programmes by acknowledging that "logically perfect versions (...) usually arrive long after imperfect versions have enriched science" (Feyerabend 2010, p8)
Metaphors, myths and analogies. After all, John von Neumann's report on EDVAC, which introduced modern computer architecture, was inspired by a biological metaphor and referred to individual computer components as "organs" (von Neumann, 1945) and as noted by Heinz von Foerster "we should not forget that any description of formal, mathematical, quantitative or even poetical nature still represents just an analogy" (von Foerster, 2013).
Other non-serious ideas. As noted by Priestley, the idea that a steam-engine could be used to execute laborious computations was first suggested "in a manner which certainly at the time was not altogether serious" sparking "serious consideration of the possibility of mechanical computation" (Priestley 2011, p22).
We believe that constructive criticism can provide a way for making discussions triggered by the above topics a valuable contribution to programming language research literature. A secondary objective of the workshop is to begin systematic exploration of the ideas in the programming language area and one of the roles of the critical reviews (published together with accepted submissions) is to provide additional context and relate the discussed ideas with other areas of the programming language design space.
Intended audience (TBD)
[Insert some generic note about how the workshop should be interesting to anyone?]
The workshop would complement the main ‹Programming› conference track by providing a venue for work that:
- Can trigger an interesting discussion, but is more difficult to evaluate.
- Explore programming ideas inspired by unorthodox sources of thoughts including metaphors, myths and analogies.
By explicitly encouraging such submissions to a less formal workshop format, we would like to contribute to the diversity of thoughts represented at the ‹Programming› conference.
(Any past events related to your workshop including related conferences, previous workshops, previous sessions / panels)
- Discussions at PPIG ?
If a subject does not permit exactness, it is not sufficient to be exact about something else. (Realms of Value, Ralph Barton Perry)
The alternative (...) which I am seeking to establish here, is to restore to us once more the power for the deliberate holding of improved beliefs. We should be able to profess now knowingly and openly those beliefs which could be tacitly taken for granted in the days before modern philosophic criticism reached its present incisiveness. (Personal Knowledge, Michael Polanyi)
(Can we get someone else to say nice thing about this idea?)
- Details on the organizers (previous workshop organizing experience, etc.)
- Workshop program committee (indicated as finalized or expected)
- Would you be willing to merge your workshop with other workshops on a similar topic if this were a condition for hosting your workshop at ‹Programming›?
- Planned deadlines
- Intended paper format
- Evaluation process
- Intended publication of accepted papers (printed proceedings or website)
- Intended workshop format (including duration, number of presentations, and planned keynotes)
- How many participants do you expect (please make at least an educated guess)
- What kind of equipment do you need (e.g., data projector, computer, whiteboard)
- Workshop web page (URL of the draft web page, if one exists)
- Draft Call for papers for the Workshop (a one page Call for papers that you intend to send out if your workshop is accepted)
- Feyerabend, P. (2010). Against method. Verso (4th edition). ISBN 1844674428.
- Hacking, I. (1983). Representing and Intervening: Introductory Topics in the Philosophy of Natural Science. Cambridge University Press. ISBN 0521282462.
- Chalmers, A. F. (1999). What is this thing called science? Open University Press.
- Kuhn, T. S. (1970). The Structure of Scientific Revolutions. The University of Chicago Press (2nd edition). ISBN 0226458040.
- Lakatos, I. (1975). Falsification and the Methodology of Scientific Research Programmes. In Can Theories be Refuted? Essays on the Duhem-Quine Thesis (ed. Harding, S. G.), pp205-259. ISBN 9789027706300.
- von Neumann, J. (1945). First Draft of a Report on the EDVAC. University of Pennsylvania.
- Petricek, T. (2015). Against a universal definition of 'type'. Onward! Essays
- Priestley, M. (2011). A science of operations: machines, logic and the invention of programming. Springer Science & Business Media.
- Wadler, P. (1998). The expression problem. Sent to the Java-genericity mailing list.