Return to search

Qualitative Analysis of the Usability of Three Contemporary Scripting Languages: Perl, Python and Tcl.

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.

Identiferoai:union.ndltd.org:ETSU/oai:dc.etsu.edu:etd-1109
Date01 August 2001
CreatorsWang, Lingyun
PublisherDigital Commons @ East Tennessee State University
Source SetsEast Tennessee State University
Detected LanguageEnglish
Typetext
Formatapplication/pdf
SourceElectronic Theses and Dissertations
RightsCopyright by the authors.

Page generated in 0.0023 seconds