CS 541 meeting -*- Outline -*- * motivation for studying domain specific languages ** programming is too hard not enough programmers exist get CRA data on jobs ** What makes programming hard? have a discussion, the results of which in 1999 were as follows: *** requires special-purpose training - looping, recursion - size of the language - reading code is hard (features, precedece, overloaded operators, pointers, arrays) - arrays, off by one errors - support needed for large-scale software development modules, hierarchy, access control, encapsulation documentation tools, requirements documentation, architectural design, interface design integration tools, testing support, change control systems *** not oriented towards end-users **** design - languages are not oriented towards end-users poor correspondence with natural language - abstraction, design, conceptual gap concerns for efficiency affect program structure **** tools - poor tool support, such as poor debugging tools - error messages are hard to read