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.
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, 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. Python's and Tcl's mechanisms for supporting OO are much easier to learn for new users than Perl's. 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. Perl's I/O and Socket libraries are much harder to use than Python's and Tcl's.
The primary recommendations of this study are as follows: For Perl, a better OO support will reduce a significant number of OO-related defects, especially to new users. 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. 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.
Identifer | oai:union.ndltd.org:ETSU/oai:dc.etsu.edu:etd-1109 |
Date | 01 August 2001 |
Creators | Wang, Lingyun |
Publisher | Digital Commons @ East Tennessee State University |
Source Sets | East Tennessee State University |
Detected Language | English |
Type | text |
Format | application/pdf |
Source | Electronic Theses and Dissertations |
Rights | Copyright by the authors. |
Page generated in 0.0019 seconds