Graphical user interface layout language using combinators - Kasmiran, Khairul Azhar (2006)
While Java is a popular general-purpose programming language, there are certain areas where the syntax of Java is lacking for the task at hand. One of them is in the area of layout handling, i.e., the task of placing controls in a Graphical User Interface (GUI) with regard to their relative position and size. This is because the syntax of Java is targeted towards imperative programming, where code is written in the form of a list of instructions. A list of instructions does not adequately mirror the hierarchical structure of a layout. To overcome that weakness, this thesis describes and evaluates a new domainspecific programming language designed specifically for layout handling, named Swing GUI Layout Language (SGLL). One of the primary features of SGLL is the use of combinators, a concept used in functional languages. We propose that combinators are a more intuitive concept compared to the approach taken by Java, which involves adding controls to a layout m anager. Furthermore, we suggest that e li mination of clutter and better s upport for the abstractions in layout handling can provide an increase in programmer productivity and understandability of the source code. In this thesis, we focus on the GridLayout manager class, since it is rather easy to understand and provides a good starting point. To validate our approach, we evaluated Java and SGLL in both productivity and understandability. We found out that SGLL does provide a significant improvement in productivity and understandability for the task of layout handling.