Design concerns for concrete syntax
In this part, we discuss:
– programming language Quorum
– viscosity of notations
– writability and readability of syntax
– learnability and effectiveness of syntax
– multiple notations for concepts
– IDE supportability
List of sources for images in slides
– http://www.computerhistory.org/atchm/wp-content/uploads/2012/10/matrix.jpg
– https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/APL-keybd2.svg/600px-APL-keybd2.svg.png
– https://i.stack.imgur.com/ei4p9.png
– https://i.stack.imgur.com/ei4p9.png
– https://en.wikipedia.org/wiki/Esoteric_programming_language#/media/File:Piet_Program_Hello_World(1).gif
– http://sandorvaly.com/wp-content/uploads/2017/08/MOndrian-06.jpg
– https://confluence.jetbrains.com/download/attachments/53345726/Multiple.png?version=1&modificationDate=1401798691000&api=v2
– https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/APL-keybd2.svg/600px-APL-keybd2.svg.png
– https://i.stack.imgur.com/ei4p9.png
– https://i.stack.imgur.com/ei4p9.png
– https://en.wikipedia.org/wiki/Esoteric_programming_language#/media/File:Piet_Program_Hello_World(1).gif
– http://sandorvaly.com/wp-content/uploads/2017/08/MOndrian-06.jpg
– https://confluence.jetbrains.com/download/attachments/53345726/Multiple.png?version=1&modificationDate=1401798691000&api=v2
Remarks
This part is based on:
– A. Stefik, S. Siebert, An Empirical Investigation into Programming Language Syntax
– T. Green, M. Petre: Usability Analysis of Visual Programming Environments: A “Cognitive Dimensions” Framework
– Section 4.7. of M. Voelter’s book DSL Engineering.
Additional materials
- Wikipedia page on cognitive dimensions of notations
- M. Völter, S. Lisson, et al.: Supporting diverse notations in MPS’ projectional editor
- B. Meyer: Principles of language design and evolution
- Wikipedia page on MUMPS (Massachusetts General Hospital Utility Multi-Programming System)
- D. Leijen: Programming Language Koka
- Programming language Piet
- What is the worst programming language you ever worked with?