There’s been a lot of debate on the Extreme Programming list recently about Tcl vs Java, mostly spurred by Dossy’s citation of the Jeff Hobbs quote: I’ve come to the realization that there are so many more Java jobs than Tcl jobs because it takes 10 Java programmers to do what I can do in Tcl. I’m only half-joking…
Interestingly I came across an article today in IEEE Computer, from Jan 1998, that compared the scripting languages (particularly Tcl) with the system languages (C, C++, Java et al). It covers most of the usual ground, but also includes an interesting chart of some applications that, for one reason or another, ended up being written in both types of languages:
Application | Comparison | Code Ratio | Effort Ratio |
---|---|---|---|
Database Application | C++: 2 months Tcl: 1 day |
60:1 | |
Computer System Test and Installation | C Test Application: 272,000 LOC, 120 mths C FIS Application: 90,000 LOC, 60 mths Tcl/Perl: 7,700 LOC, 8 months |
47:1 | 22:1 |
Database Library | C++: 2 months Tcl: 1 day |
60:1 | |
Database Library | C++: 2-3 months Tcl: 1 week |
8-12:1 | |
Security Scanner | C: 3000 LOC Tcl: 300 LOC |
10:1 | |
Display Oil Well Production Curves | C++: 3 months Tcl: 2 weeks |
6:1 | |
Query Dispatcher | C 12,000 LOC, 4-8 weeks Tcl: 500 LOC, 1 week |
2.5:1 | 4-8:1 |
Spreadsheet Tool | C: 1460 LOC Tcl: 380 LOC |
4:1 | |
Simulator and GUI | Java 3,400 LOC, 3-4 weeks Tcl: 1600 LOC, under 1 week |
2:1 | 3-4:1 |
Some of the reduction in effort is no doubt due to the TCL version usually being written second, but for at least one of the applications this wasn’t true. In many of the cases the TCL version also provided more functionality.