5 ms·
> Can your emacs editor construct hyperlinked call graphs showing all callers and callees of a given function? Will this call graph generation remain up to date
by geocar 17y ago
> Can your emacs editor construct hyperlinked call graphs showing all callers and callees of a given function? Will this call graph generation remain up to date as I edit files?
Yes. You're looking for Cedet. Can your IDE read my mail?
> Can Emacs give me a hyper-linked list of all usages of a given symbol and do it properly(lexical scope, etc.), not just doing a simple symbol search?
Yes. You're looking for Cedet. Can your IDE integrate with your calendar?
> Can I edit my code in emacs, have a background compiler compile the file on the fly, and also provide error feedback, hilighting the problem lines
Yes. You're looking for `flymake-mode`. Can your IDE email who created the error using version control information?
> How's emacs' refactoring support? Judging by the following stackoverflow post
Stackoverflow gives retarded answers sometimes. The next best suggestion on that page is correct. Cedet is great.
> How's Emacs' keyword completion?
It's fine. You can complete symbols sensitively, and complete filenames or email addresses from anywhere. Having multiple completion systems is very useful. How's your IDE's ability to complete those things?
> Even if you can get Vim or Emacs to do some of the above, it usually isn't as easy to use or as useful as an IDE.
You don't need to be so hostile. Emacs does these things just fine, and has for a long time. Emacs also does my time tracking, outlining, and email. Your IDE won't do any of those things, and you don't expect it to because you think those tasks are best left to other parts of your operating system.
The thing you're missing is that for Emacs users, Emacs is the operating system. I dual boot into Firefox sometimes.
- sreque 17y agoI apologize if people thought I was hostile. I thought I was just making an argument by pointing out several examples of things text editors like Emacs don't normally do that IDE's do well. You've proven me wrong, at least for the case of C/C++. I would still argue that Emacs itself is not an IDE. It's just an editor with a turing-complete scripting engine. However, you could definitely convince me that Emacs+CEDET is an IDE, and I'm glad you pointed it out for me. I would be interested in seeing similar environments for C#/Java as well as for dynamic languages like ruby/python/php, which IDEs have also been handling very well lately. I've also noticed in general that it's difficult to make an IDE for c/c++ that works better than editors. They compile slowly, The macro system severely complicates quick parsing, C++'s grammar in particular is very difficult to parse and analyze, the languages do not make run-time loading of code easy, and they don't provide much in the way of RTTI. In short, they are not very IDE-friendly languages. Java and C# are the perfect IDE languages, and dynamic languages suffer from not providing enough static information.
- somebear 17y agoWhere you went wrong was in realizing that Emacs isn't a text-editor. Emacs is a text-based IDE.
- barrkel 17y agoEmacs is a scripting environment shell that comes with an editor. It's probably closer in philosophy to one of the old single-user operating systems that microcomputers used to come with.
- geocar 17y ago> I would still argue that Emacs itself is not an IDE. ... Emacs+CEDET is an IDE. It's just an editor with a turing-complete scripting engine. This isn't helpful. First of all, Emacs is an excellent IDE for Lisp and has a built-in debugger, sensitive completion and automatic documentation, while Visual Studio can't do any of those things you thought were important until you install Visual C/C++. Is Visual Studio "just" a editor with a plugin system? Why are you so interested in giving emacs such a negative label? > I would be interested in seeing similar environments for C#/Java as well as for dynamic languages like ruby/python/php, which IDEs have also been handling very well lately. For python, there's Ropemacs: http://rope.sourceforge.net/ropemacs.html http://rope.sourceforge.net/ropemacs.html For perl, there's Sepia: http://cpansearch.perl.org/src/SEANO/Sepia-0.97/Sepia.html http://cpansearch.perl.org/src/SEANO/Sepia-0.97/Sepia.html I don't program in C# or Java or Ruby or PHP regularly so I don't know about them off the top of my head.
- Poiesis 17y agoGUI based IDEs are flexible and have large communities too! > Yes. You're looking for Cedet. Can your IDE read my mail? Yes. At least, it can read my mail. For yours I'd have to know more info. :) > Can your IDE integrate with your calendar? Yes. > Can your IDE email who created the error using version control information? I don't know. But I'll give it a qualified yes bes cause this is generally handled by the build script, which is IDE-agnostic. > How's emacs' refactoring support? Judging by the following stackoverflow post Stackoverflow gives retarded answers sometimes. The next best suggestion on that page is correct. Cedet is great. > How's Emacs' keyword completion? It's fine. You can complete symbols sensitively, and complete filenames or email addresses from anywhere. Having multiple completion systems is very useful. How's your IDE's ability to complete those things? I don't see anything, so perhaps they don't exist. But this is silly. We're developers. Using IDEs designed to be extensible. There is very little we couldn't do if we wanted to. Emacs has been around forever, and it has tons of stuff available for it. It also favors a different working style than something more GUI-based, which some prefer and some don't. There are tons of great tools out there. It's a great time to be a developer. > Even if you can get Vim or Emacs to do some of the above, it usually isn't as easy to use or as useful as an IDE. You don't need to be so hostile. Emacs does these things just fine, and has for a long time. Emacs also does my time tracking, outlining, and email. Your IDE won't do any of those things, and you don't expect it to because you think those tasks are best left to other parts of your operating system. The thing you're missing is that for Emacs users, Emacs is the operating system. I dual boot into Firefox sometimes.