|Think about Loose Coupling|
Re: Perl Development Toolsby jonadab (Parson)
|on Feb 19, 2006 at 14:04 UTC||Need Help??|
Some additional info for the Emacs row. I should note that I've had to skip some entries because I don't know what they mean. Perhaps below the table you could give definitions for each of the columns? Just for example, the only meaning I can think of for "code snippets" would eather be, "Does the editor come with snippets of example Perl code", which seems an odd question, or else have to do with copy-and-paste, which I would hope *every* entry has. This is just one example of a column with a very unclear title. I'd really like to see a list below the table of what each column means.
Perl engine: no, but see Perlmacs
Syntax-checking: If the ability to hit a menu item or keyboard shortcut and have perl be called to report on whether the syntax checks okay or not qualfies, for instance, then Emacs definitely has it. Internally, though, apart from grouping-symbol-matching, there is only the syntax coloring.
Auto-indent: syntax-driven and configurable.
Incremental Search: certainly, and regular expression isearch too.
Bracket matching: several different kinds of this.
Debuggers: the _internal_ debugger in Emacs is only for lisp, but Emacs can work with external debuggers like gdb, the Perl debugger, and so on. cperl-mode sets up menu items and shortcuts for working with the Perl debugger.
Stepping, Breakpoints, Watchers: Dunno. Maybe if you're using a debugger. I've never messed with that.
Interactive shell: absolutely. Emacs can use an external shell such as bash in a buffer, or you can use eshell, which is a good deal better in a number of ways and integrates better with the rest of the environment, or there are also versions of Emacs available with Perl embedded, which would probably let you run a Perl shell in a buffer, without calling it externally like you would with bash, and would let the Perl shell have access to the internal editor environment.
Var tree: not AFAIK. Maybe with one of the (many) features I've never messed with, speedbar or whatever.
Var evaluation: only via an external debugger.
Multi-document: Of course. Frankly, I'd just exclude from the table anything that doesn't have this. I mean, come on.
Split view: ditto. Seriously, if you don't require basic stuff like this you'll end up with dross like Notepad on the list. Forget that: require this feature and trim out the column.
Docs and help viewer: Yes, yes, yes. man page viewer, info viewer, web browser, TeX viewer, et cetera, ad infinitum, ad nauseam, all included, and cperl-mode also sets up menu items and shortcuts that pick up the function or whatever where the cursor is, call perldoc externally and put the results in a help buffer.
Module installer: for Perl modules? Not built in, but of course you could hook up a shortcut to call perl and CPAN externally.
Web: yes, and you can edit remote documents via WebDAV.
FTP: yes, and you can directly edit documents that reside on a remote ftp server, if your ftp accounts gives you write access. Similarly for other protocols like scp.
HTML export: Define this. I mean, yes, but I don't know that cperl-mode will export Perl code as HTML with the indenting and syntax coloring. That could be implemented in lisp, but I don't think it's standard. So, probably "n", if that's what you mean.
Linux, Mac OS X, Solaris, Windows: yes, and every other OS you care to name.
PHP, Python, Ruby, Tcl, HTML, SQL: of course, and every other programming language you care to name, except a couple of extreme "joke" languages like Malbolge.
Sanity? Oh, yeah, I've got all kinds of sanity. In fact, I've developed whole new kinds of sanity. Why, I've got so much sanity it's driving me crazy.