[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Does CEDET work?
Eric M. Ludlam
Re: Does CEDET work?
Wed, 18 Apr 2012 21:50:30 -0400
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre
On 04/18/2012 05:39 PM, Leo wrote:
On 2012-04-19 06:05 +0800, address@hidden wrote:
This type of humour is sometimes funny in #emacs, but does not translate
at all well to emacs-develop where people are trying to be productive.
Indeed. But the question is genuine. I have been comparing two python
editing environments: PyCharm (commercial) and Emacs. And the former got
decent parser for everything remotely related to python: js, html, xml,
css, sass, sql, coffeescript etc. etc not to mention python specific
stuff. I can appreciate such an intelligent environment and the enormous
productivity it enables.
CEDET suffers in that it is pretty good in a fairly narrow band, ie -
the band that I've worked in, and a few areas other people have helped
with. As I wrote it, I wanted to create a framework to make sure new
support for these tasks could be added for other languages/projects.
Sort of the way you always use GUD to write a debugger, you can use
CEDET to do project management, parsing, or code gen.
Anyway, I think folks pick up CEDET, see a reference to their favorite
language, and the most complex feature (smart completion) doesn't work
as they expected because they are outside the well supported band, and
configuring it is too much of a challenge because they have never seen
it work in areas where it does work well to even know what the reward is.
Python is a fine example. There's a pretty good parser, but if it can't
find system libraries, and if it doesn't understand a typical python
project structure, then the smart completion is kind of lacking.
Hooking in all the external tool support in really needs someone who
loves the language to stick their nose in to complete the feature.
I recently picked up Android programming as a hobby to see what I could
do, and immediately found the lack of direct support for Android
projects and java system libraries meant very few features worked. It
took a little while to build up the support, teaching CEDET where
directories are, and getting system libraries hooked so I can extract
symbols from them, and tying it all into smart completion. Now it will
complete almost anything in Java with android libraries. Nifty, but
also took a couple days since I'm not an expert in either Android or
Java. Arduino support went a lot quicker since the language was C++,
but their command line Make system was a bit baffling to me for a while.
Anyway, there is the beginnings of support for many languages, but a
combination of developing project support and hooking in external tools
to derive system symbol libraries is needed to really make the system
work well. As has been said many times, configuring CEDET can be a real
challenge. That's why tools that do work well often are very
persnickety about how you lay out your project. It is rare for a tool
to try and "just work" in some arbitrary code blob the way CEDET does.
Re: Does CEDET work?, Nix, 2012/04/23
Re: Does CEDET work?, Philipp Haselwarter, 2012/04/26