ctags one more...

Richard Dale Richard_Dale at tipitina.demon.co.uk
Tue Apr 17 17:32:56 UTC 2001


On Tue, 17 Apr 2001, you wrote:
> --- Richard Dale <Richard_Dale at tipitina.demon.co.uk> wrote:
> > In my opinion, a feature like this would not be 'built into' KDevelop
> > 3.0, it
> > should be added by means of a python script creating a custom menu
> > item or
> > similar. 
> 
> I dont think this would be a smart thing to do. Agreed the generation
> of the ctags file is debatable but that's just a convenience thing
> anyway. The important thing is a "Goto Definition/Declaration"
> function. And for that you need to build a search database which you
> have to keep in memory. Yes, you can do that w/ python but then, why
> bother writing anythin in C++ anymore. 
But we have an excellent class parser, which handles "Goto
Definition/Declaration" perfectly well. I measured the performance of the
KDevelop parser vs. the ctags one the other day, and KDevelop is faster. I
later commented out the QDom insertion code in KDEStudio, and it took 6s to
open a project instead of 7s (KDevelop 3.0 took 4s). 

I compared how long KDevelop 2.0 took to open its own project, compared with
KDevelop 3.0; they both took the same time 15s.

> 
> You seem to doubt the usefulness of ctags in the first place. Let me
> say a bit about that. 
> 
> There are many other languages that Java and o.o. C++ where you dont
> have classes. Therefore class parsers and class trees are only of very
> restricted use when trying to undestand 20 year old legacy code. 
> 
> Also there a codes with millions of lines with everything from Algol
> over FORTRAN, C, C++, and all written in "spaghetti code" fashion. No
> way you can manage a large codebase w/o good crossreferencing tools.
> Ctags is one tool that help tremendeously and cross referencing is one
> of the major selling points of VC++. 
KDevelop handles classes, methods, functions, variables, structs in C, C++,
Objective-C and Java. 

ctags has support for Fortran and Eiffel, which we would get in return for
losing Objective-C, the native language of Apple's Cocoa on Mac OS X. I think
that is a poor trade-off. I've just successfully ported ctags 3.2 to KDEStudio,
so I can confirm that there are no technical problems to replacing the parser in
KDevelop, but I can't see any reason why we should.

-- Richard

-
to unsubscribe from this list send an email to kdevelop-devel-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop-devel mailing list