David has inspired me to look closely at LOC (Lines Of Code), and trying to keep the numbers low. Why? Less code means less code to read, write, maintain, understand, keep in your head, and especially modify when you realize that something else would be better for users or business.
Rails already has a built-in Rake stats target, but OpenACS does not, so last night I wrote this quick shell script to count the number of lines of code:
find . -name \.tcl -print | xargs grep “][#[:space:]]” | wc -l
Current LOC for my CMS project: 9545.
Current LOC for our intranet project: 1146.
I think real project size would account for the CMS to be about twice the size of the intranet, but no more. The rest7253 LOC, or 75%would be due to differences in language and platform.
If I ever get a chance to rewrite the CMS in Rails, I would be happy to report.

Comments ↓
1 Mark Aufflick // Jan 23, 2005 at 03:09 PM
2 Lars Pind // Jan 23, 2005 at 03:20 PM
3 Mark Aufflick // Jan 24, 2005 at 10:07 AM
On a side-topic, one of the things that often amazes me about Java IDEs is how much template code they auto-generate. It doesn't matter how good the framework is, you just need a lot of LOC to get started.
Another side-topic, by properly implementing inheritance, we cut out a third of the LOC in a client project. Without OO (and multiple inheritance or similar) there would be no easy way to shave off those 20,000 lines. (The language was Perl fwiw).