From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Cross Message-Id: <200106181456.KAA26414@augusta.math.psu.edu> To: 9fans@cse.psu.edu Subject: Re: [9fans] source code as data not text In-Reply-To: <200106180852.KAA04199@boris.cd.chalmers.se> References: <00d701c0f78d$fb26d750$6401a8c0@freeze2k> Cc: Date: Mon, 18 Jun 2001 10:56:45 -0400 Topicbox-Message-UUID: bcd6b6fc-eac9-11e9-9e20-41e7f4b1d025 In article <200106180852.KAA04199@boris.cd.chalmers.se> you write: > > [...] > >Syntax highlighting does catch errors. Does it make you lazier about not >making errors in the first place? How can we test this hypothesis? I >know people who never used line editors like ed extensively are >surprised when old ed hackers sit down and write 20, 50, 100 lines of >code, one line right after each other, without going back and fiddling with >bits. If you started writing programs when there was no cursor addressing, >or screen editors (or they were banned because of the load they >put on those old machines) this is no trick at all. I think that there has to be a break-even point. Before that point, the tools are too difficult, thus too restricting. Afterwards, the tools are too easy and make one lazy. Does syntax highlighting help? I don't think so; in my experience, programmers who use syntax highlighting editors don't turn out code as good as that produced by programmers who use a non-syntax highlighting editor, and they certainly don't do it as quickly. On the other hand, I've programmed using ed, and I don't particularly want to go back (though it's really handy for some things!). Regarding using a database to store code, please don't confuse the term ``database'' with ``relational database.'' Storing code in an RDBMS certainly doesn't buy you anything, as code doesn't map well to the relational model (though I suppose one could argue that the relational model could implicitly encapsulate the functionality of mk and its ilk without additional code). An object database with versioning, on the other hand, might be used to house a repository of code, but that's not the issue at hand; the issue is a programmer editting within the context of a database at all times. I don't think this is a good idea, if for no other reason than yes, it defies the tool-based approach. Specifically, as Nigel pointed out, I'm forced into using a vendors proprietary tools to edit my source. Bye bye acme? No thanks. Besides, tools like CVS, Perforce, etc, already do what the object database would do for me, but do so using normal text files (okay; perforce uses a database on the ``back end''). I use these things in industry all the time (despite my email address :-), and they can come in really handy. However, I almost never use a syntax highlighting editor (unless I'm doing something really repeditive), and I never use a database to store code in my directory. I do use shell scripts and text-based tools all the time. Good God, I'd cut off my hands and stop programming forever if I couldn't. - Dan C.