Computer Science and Information Systems 2010 Volume 7, Issue 2, Pages: 247-264
https://doi.org/10.2298/CSIS1002247K
Full text ( 144 KB)
Cited by


Comparing general-purpose and domain-specific languages: An empirical study

Kosar Tomaž (University of Maribor, Faculty of Electrical Engineering and Computer Science, Maribor, Slovenia)
Oliveira Nuno (University of Minho - Department of Computer Science, Campus de Gualtar, Braga, Portugal)
Mernik Marjan (University of Maribor, Faculty of Electrical Engineering and Computer Science, Maribor, Slovenia)
Pereira Varanda João Maria (Polytechnic Institute of Bragança Campus de Sta. Apolónia, Apartado, Bragança, Portugal)
Črepinšek Matej (University of Maribor, Faculty of Electrical Engineering and Computer Science, Maribor, Slovenia)
Da Cruz Daniela (University of Minho - Department of Computer Science, Campus de Gualtar, Braga, Portugal)
Henriques Rangel Pedro (University of Minho - Department of Computer Science, Campus de Gualtar, Braga, Portugal)

Many domain-specific languages, that try to bring feasible alternatives for existing solutions while simplifying programming work, have come up in recent years. Although, these little languages seem to be easy to use, there is an open issue whether they bring advantages in comparison to the application libraries, which are the most commonly used implementation approach. In this work, we present an experiment, which was carried out to compare such a domain-specific language with a comparable application library. The experiment was conducted with 36 programmers, who have answered a questionnaire on both implementation approaches. The questionnaire is more than 100 pages long. For a domain-specific language and the application library, the same problem domain has been used - construction of graphical user interfaces. In terms of a domain-specific language, XAML has been used and C# Forms for the application library. A cognitive dimension framework has been used for a comparison between XAML and C# Forms.

Keywords: domain-specific languages, general-purpose languages, program comprehension, empirical software engineering