|
|
|
|
|
|
|
|
|
1. |
Record Nr. |
UNINA9910463118803321 |
|
|
Autore |
Kleinschmager Sebastian |
|
|
Titolo |
Can static type systems speed up programming? [[electronic resource] ] : an experimental evaluation of static and dynamic type systems / / Sebastian Kleinschmager |
|
|
|
|
|
|
|
Pubbl/distr/stampa |
|
|
Hamburg, : Anchor Academic Pub., 2013 |
|
|
|
|
|
|
|
ISBN |
|
|
|
|
|
|
Descrizione fisica |
|
1 online resource (114 p.) |
|
|
|
|
|
|
Disciplina |
|
|
|
|
|
|
Soggetti |
|
Computer programming |
Application software |
Electronic books. |
|
|
|
|
|
|
|
|
Lingua di pubblicazione |
|
|
|
|
|
|
Formato |
Materiale a stampa |
|
|
|
|
|
Livello bibliografico |
Monografia |
|
|
|
|
|
Note generali |
|
"Disseminate knowledge"--Cover. |
|
|
|
|
|
|
Nota di bibliografia |
|
Includes bibliographical references. |
|
|
|
|
|
|
Nota di contenuto |
|
Can static type systems speed up programming? An experimental evaluation of static and dynamic type systems; Abstract; Zusammenfassung (German Abstract); Table of Contents; Directory of Figures; Directory of Tables; Directory of Listings; 1. Introduction; 2. Motivation & Background; 2.1 Motivation; 2.2 Maintenance and Debugging; 2.2.1 Maintenance in a Nutshell; 2.2.2 Debugging in a Nutshell; 2.3 Documentation and APIs; 2.3.1 Documentation of Software Systems; 2.3.2 APIs and Application of their Design Principles in General Programming; 2.4 Type Systems |
2.5 Empirical Research in Software Engineering2.5.1 On Empirical Research; 2.5.2 Controlled Experiments; 2.5.3 Current State of Empirical Research in Software Engineering; 3. Related Work; 3.1 Gannon (1977); 3.2 Prechelt and Tichy (1998); 3.3 Daly, Sazawal and Foster (2009); 3.4 Hanenberg (2010); 3.5 Steinberg, Mayer, Stuchlik and Hanenberg - A running Experiment series; 3.5.1 Steinberg (2011); 3.5.2 Mayer (2011); 3.5.3 Stuchlik and Hanenberg (2011); 4. The Experiment; 4.1 The Research Question; 4.2 Experiment Overview; 4.2.1 Initial Considerations |
4.2.2 Further Considerations: Studies on Using Students as Subjects4.2.3 Design of the Experiment; 4.3 Questionnaire; 4.4 Hard- and Software Environment; 4.4.1 Environment; 4.4.2 Programming |
|
|
|
|
|
|
|
|
|
|
|
Languages; 4.4.2.1 Java; 4.4.2.2 Groovy; 4.5 Workspace Applications and Tasks; 4.5.1 The Java Application - A Labyrinth Game; 4.5.2 The Groovy Application - A simple Mail Viewer; 4.5.3 Important Changes made to both Parts; 4.5.4 The Tasks; 4.5.4.1 The Task Types; 4.5.4.2 Tasks 1 and 10 - 2 Types to identify; 4.5.4.3 Tasks 2 and 11 - 4 Types to identify; 4.5.4.4 Tasks 4 and 13 - Semantic Error |
4.5.4.5 Tasks 5 and 14 - Semantic Error4.5.4.6 Tasks 6 and 15 - 8 Types to identify; 4.5.4.7 Tasks 7 and 16 - Stack size 2 and branch size 3; 4.5.4.8 Tasks 8 and 17 - 12 types to identify; 4.5.4.9 Tasks 9 and 18 - Stack size 2 and branch size 5; 4.5.4.10 Summary of Variables and Mapping of Tasks to Hypotheses; 4.6 Experiment Implementation; 5. Threats to Validity; 5.1 Internal Validity; 5.2 External Validity; 6. Analysis and Results; 6.1 General Descriptive Statistics; 6.2 Statistical Tests and Analysis; 6.2.1 Within-Subject Analysis on the complete data |
6.2.2 Analysis for residual effects between the two ParticipantGroups6.2.3 Within-Subject Analysis on the two Participant Groups; 6.2.3.1 Participants that started with Groovy; 6.2.3.2 Participants that started with Java; 6.2.4 Exploratory Analysis of the Results based on Participants' Performance; 6.2.4.1 Participants that started with Groovy; 6.2.4.2 Participants that started with Java; 6.2.5 Hypotheses and Task based Analysis; 6.2.5.1 Tasks 1, 2, 3, 6 and 8; 6.2.5.2 Hypothesis 2-1 and Tasks 7 and 9; 6.2.5.3 Hypothesis 2-2 and Tasks 4 and 5; 7. Summary and Discussion; 7.1 Final Remarks |
7.2 Result Summary |
|
|
|
|
|
|
Sommario/riassunto |
|
Hauptbeschreibung Programming languages that use the object-oriented approach have been around for quite a while now. Most of them use either a static or a dynamic type system. However, both types are very common in the industry. But, in spite of their common use in science and practice, only very few scientific studies have tried to evaluate the two type systems'' usefulness in certain scenarios. There are arguments for both systems. For example, static type systems are said to aid the programmer in the prevention of type errors, and further, they provide documentation help for, there is an e |
|
|
|
|
|
|
|
| |