While writing our applications we do care about how we accomplish our programming tasks. We want to efficiently write code, easily debug, sync with the repository, etc. But does it really matter what kind of representation on disk our projects have? Let's just imagine a tool that allows you to write code, has code refactoring and completion, builds your projects and api documentation easily, whatever else you could imagine. And if we had this tool, would it be important that the tool stores its data on disk to files? I don't think it would be important. At least I wouldn't care.
The problem is only that we don't have such tool. Editors let you do all that stuff by hand. IDEs try to do that but usualy suck in several cases. And they don't suck because of plain file representation of the code. IDEs usually have several representations of code and project in memory in format that you mentioned (yep, smth like semantic networks, trees, whatever) and they can (and do) store that into disk in binary formats. So the problem is not having the representation but implementing things you're asking about. It just takes enormous amount of time and believe me, implementing source parsers is not the only task that takes that time.
20 August 2005
Subscribe to:
Post Comments (Atom)

1 comment:
nah, we make it far harder on those who write IDEs and all those other terrific tools than it needs to be and we really limit the possibilities for the coder.
why? because we have to set up and understand N different tools, and then we can't even easily grab and refactor across projects. =(
Post a Comment