Powered by
7th International Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2016),
November 1, 2016,
Amsterdam, Netherlands
Frontmatter
Papers
Discount Method for Programming Language Evaluation
Svetomir Kurtev, Tommy Aagaard Christensen, and Bent Thomsen
(Aalborg University, Denmark)
This paper presents work in progress on developing a Discount
Method for Programming Language Evaluation inspired
by the Discount Usability Evaluation method (Benyon
2010) and the Instant Data Analysis method (Kjeldskov et
al. 2004).
The method is intended to bridge the gap between small
scale internal language design evaluation methods and large
scale surveys and quantitative evaluation methods. The
method is designed to be applicable even before a compiler
or IDE is developed for a new language.
To test the method, a usability evaluation experiment was
carried out on the Quorum programming language (Stefik et
al. 2016) using programmers with experience in C and C#.
When comparing our results with previous studies of Quorum,
most of the data was comparable though not strictly
in agreement. However, the discrepancies were mainly related
to the programmers pre-existing expectations of a language.
The results show that our evaluation method could
serve language designers as a low-cost way for evaluating
programming languages, especially in the early stages of the
language design process.
Future work includes adjusting and improving the method
in such a way that it becomes usable to novice programming
language designers.
@InProceedings{PLATEAU16p1,
author = {Svetomir Kurtev and Tommy Aagaard Christensen and Bent Thomsen},
title = {Discount Method for Programming Language Evaluation},
booktitle = {Proc.\ PLATEAU},
publisher = {ACM},
pages = {1--8},
doi = {},
year = {2016},
}
Info
AngularJS in the Wild: A Survey with 460 Developers
Miguel Ramos, Marco Tulio Valente, Ricardo Terra, and Gustavo Santos
(Federal University of Minas Gerais, Brazil; Federal University of Lavras, Brazil; Inria, France)
To implement modern web applications, a new family of JavaScript frameworks has emerged, using the MVC pattern. Among these frameworks, the most popular one is ANGULARJS, which is supported by Google. In spite of its popularity, there is not a clear knowledge on how ANGULARJS design and features affect the development experience of Web applications. Therefore, this paper reports the results of a survey about ANGULARJS, including answers from 460 developers. Our contributions include the identification of the most appreciated features of ANGULARJS (e.g., custom interface components, dependency injection, and two-way data binding) and the most problematic aspects of the framework (e.g., performance and implementation of directives).
@InProceedings{PLATEAU16p9,
author = {Miguel Ramos and Marco Tulio Valente and Ricardo Terra and Gustavo Santos},
title = {AngularJS in the Wild: A Survey with 460 Developers},
booktitle = {Proc.\ PLATEAU},
publisher = {ACM},
pages = {9--16},
doi = {},
year = {2016},
}
Info
A Quantitative Study of Java Software Buildability
Matúš Sulír and Jaroslav Porubän
(Technical University of Košice, Slovakia)
Researchers, students and practitioners often encounter a situation when the build process of a third-party software system fails. In this paper, we aim to confirm this observation present mainly as anecdotal evidence so far. Using a virtual environment simulating a programmer's one, we try to fully automatically build target archives from the source code of over 7,200 open source Java projects. We found that more than 38% of builds ended in failure. Build log analysis reveals the largest portion of errors are dependency-related. We also conduct an association study of factors affecting build success.
@InProceedings{PLATEAU16p17,
author = {Matúš Sulír and Jaroslav Porubän},
title = {A Quantitative Study of Java Software Buildability},
booktitle = {Proc.\ PLATEAU},
publisher = {ACM},
pages = {17--25},
doi = {},
year = {2016},
}
Benefits of Session Types for Software Development
A. Laura Voinea and
Simon J. Gay
(University of Glasgow, UK)
Session types are a formalism used to specify and check the correctness of communication based systems. Within their scope, they can guarantee the absence of communication errors such as deadlock, sending an unexpected message or failing to handle an incoming message. Introduced over two decades ago, they have developed into a significant theme in programming languages. In this paper we examine the beliefs that drive research into this area and make it popular. We look at the claims and motivation behind session types throughout the literature. We identify the hypotheses upon which session types have been designed and implemented, and attempt to clarify and formulate them in a more suitable manner for testing.
@InProceedings{PLATEAU16p26,
author = {A. Laura Voinea and Simon J. Gay},
title = {Benefits of Session Types for Software Development},
booktitle = {Proc.\ PLATEAU},
publisher = {ACM},
pages = {26--29},
doi = {},
year = {2016},
}
What Do We Really Know about Data Flow Languages?
Guido Salvaneschi
(TU Darmstadt, Germany)
Over the last years, a number of languages based on data flow abstractions have been proposed in different important areas including Big Data, stream processing, reactive programming, real time analytics. While there is a general agreement that the data flow style simplifies the access to such complex systems compared to low level imperative APIs, this design has been substantiated by little evidence.
In this paper, we advocate a systematic investigation of the design principles of data flow languages and suggest important research questions that urge to be addressed.
@InProceedings{PLATEAU16p30,
author = {Guido Salvaneschi},
title = {What Do We Really Know about Data Flow Languages?},
booktitle = {Proc.\ PLATEAU},
publisher = {ACM},
pages = {30--31},
doi = {},
year = {2016},
}
What Is a Programming Language, Really?
Andrew J. Ko
(University of Washington, USA)
In computing, we usually take a technical view of programming languages (PL), defining them as formal means of specifying a computer behavior. This view shapes much of the research that we do on PL, determining the questions we ask about them, the improvements we make to them, and how we teach people to use them. But to many people, PL are not purely technical things, but socio-technical things. This paper describes several alternative views of PL and how these views can reshape how we design, evolve, and use programming languages in research and practice.
@InProceedings{PLATEAU16p32,
author = {Andrew J. Ko},
title = {What Is a Programming Language, Really?},
booktitle = {Proc.\ PLATEAU},
publisher = {ACM},
pages = {32--33},
doi = {},
year = {2016},
}
proc time: 0.69