LEADER 05149nam 2200589 a 450 001 9910787798603321 005 20230803031328.0 010 $a3-95489-540-4 035 $a(CKB)2670000000422357 035 $a(EBL)1324010 035 $a(OCoLC)854977184 035 $a(SSID)ssj0001154054 035 $a(PQKBManifestationID)11676750 035 $a(PQKBTitleCode)TC0001154054 035 $a(PQKBWorkID)11161009 035 $a(PQKB)10899449 035 $a(MiAaPQ)EBC1324010 035 $a(Au-PeEL)EBL1324010 035 $a(CaPaEBR)ebr10735066 035 $a(EXLCZ)992670000000422357 100 $a20130729d2013 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aCan static type systems speed up programming?$b[electronic resource] $ean experimental evaluation of static and dynamic type systems /$fSebastian Kleinschmager 210 $aHamburg $cAnchor Academic Pub.$d2013 215 $a1 online resource (114 p.) 300 $a"Disseminate knowledge"--Cover. 311 $a3-95489-040-2 320 $aIncludes bibliographical references. 327 $aCan 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 327 $a2.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 327 $a4.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 327 $a4.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 327 $a6.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 327 $a7.2 Result Summary 330 $aHauptbeschreibung 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 606 $aComputer programming 606 $aApplication software 615 0$aComputer programming. 615 0$aApplication software. 676 $a006.22 700 $aKleinschmager$b Sebastian$01466421 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910787798603321 996 $aCan static type systems speed up programming$93729412 997 $aUNINA