East Tennessee State University
Qualitative Analysis of the Usability of Three Contemporary Scripting Languages: Perl, Python and Tcl.
Abstract
dc:description.abstract<p>The subject of this thesis is a qualitative analysis of the usability of three contemporary programming languages: Perl, Python, and Tcl. The relative usability of these languages was assessed by implementing two representative applications — a paint program and a chat program — in all three languages; using PSP to collect data on program development; and then comparing development times, defect counts, and defect fix times.</p> <p>Overall, Python was the easiest of the three languages to use, especially for new users. Perl is the hardest, and Tcl is somewhere between. Specifically,</p> <ol> <li>Perl's basic language constructs are the hardest to learn and to use. Python's are the easiest. Tcl's are closer to Python's.</li> <li>Python's and Tcl's mechanisms for supporting OO are much easier to learn for new users than Perl's.</li> <li>Python's Tk libraries are easier to use than Perl's and Tcl's. Tcl's [Incr Widget] (megawidgets) library is by far the hardest to master. Perl's Tk library is somewhere in between.</li> <li>Perl's I/O and Socket libraries are much harder to use than Python's and Tcl's.</li> </ol> <p>The primary recommendations of this study are as follows:</p> <ol> <li>For Perl, a better OO support will reduce a significant number of OO-related defects, especially to new users.</li> <li>For Tcl, Tcl's [Incr Tcl] megawidget library should wrap the standard raw Tk widgets into [Incr Tk] classes, to prevent a significant number of defects from mixture uses of raw Tk widgets and [incr Tk] megawidgets classes.</li> <li>Tcl's eventloop mechanism is a good model for handling non-blocking sockets and I/Os. Both Perl and Python should also provide such an easy model.</li> </ol>
Degree
thesis:*- Name thesis:degree_name
- MS (Master of Science)
- Level thesis:degree_level
- Thesis - restricted
- Discipline thesis:degree_discipline
- Computer and Information Science
- Year dc:date.issued
- 2001
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Wang, Lingyun
Subjects
dc:subject × 9Rights
dc:rights- Statement dc:rights
-
- Copyright by the authors.
Identifiers
dc:identifier.*- Repository record dc:identifier
- https://dc.etsu.edu/etd/59
- OAI identifier oai:identifier
- oai:dc.etsu.edu:etd-1109