Jedit, Jext & J: Java-based Editors Compared
An anonymous reader writes "There are times when I want a lean, mean editor and times when I enjoy a good, bloated editor packed with wizards. We compare the programming editors Jext and J to Jedit and offer a revised opinion of the best Java for Linux."
I luve jEdit. When you get a set of plugins for it you really like, there's no beating it. of course... I haven't used one since i started using jEdit, so there may be something better these days.
What's wrong with good ole' (g)vim?
I was reluctant to try out a java based editor (I'm a C++-er all the way :), but nedit was acting strangely as packaged in Mandrake 9.0, so I gave it a shot.
I really like the hyper-searching and the tabbed windows. There are a few annoyances such as the order it uses when you switch to the next buffer (uses opened order rather than Z order), but my main complaint lately has been speed. It has become quite a hog, probably due to too many cool plugins. I'm using the latest java from Sun. Perhaps I'll try one mentioned in the article.
All in all, I've been using it for about a month and I don't think I'll give it up.
Summary:
J: interesting and--Oh look! shiny php object!
Jext: tricky installation, but nothing interesting in the five seconds I spent reviewing it.
jEdit: reviewer liked this one the most, but was biased from the beginning.
Whatever. Why waste the time to even write a review if you are not even going to take the time to go into depth? The reviewer complains about bloated IDEs like eclipse or netbeans and then does not even point out why ANY of the reviewed editors are a compelling choice over an IDE. Eclipse and Netbeans make enterprise deployment, unit testing, and building a lot easier because they were created with that in mind. They only implement editing functions to the extent that they support iterative development cycles and integration with software engineering tools. Do the editors support automatic code copmletion based on classpath and in-scope variables? If I wanted souped up text editor I would use emacs or vi, whiach are FAR better than this j* stuff. An editor is great when you are developing alone, but when you are part of a team of developers, things like CVS integration, code style enforcement, and automation of repetitive build tasks are essential. How do any of these editors fare in that respect? You'll never find out in this review.
-a
"The plural of anecdote is not data." -- Roger Brinner
But! That's the only reason I use it. When I need to write Java code I still go with Emacs and the JDEE package from Paul Kinnucan which gives me everythign IDE-like I could ever want.
www.HearMySoulSpeak.com
"...a revised opinion of the best Java for Linux."
You seem to have forgotten about platform independence. These editors almost certainly run on any platform for which there is a version of the JVM.
That was the big selling point of Java wasn't it ? Write once, run (slowly) anywhere (provided there's enough memory and cpu cycles free and you weren't planning on running anything else because all your resource are belong to Java).
Now wash your hands.
JCreator is small, fast and has all I want in an IDE. It is written in C++ and behaves very much like VisualStudio, which is great if you're a windows programmer. Personally, I run dual boot CRUX 1.0/WinXP and if I'm gonna write a good amount of Java code, I choose XP and JCreator, because JCreator feels so much faster than any Java-written IDE/Editor. JCreator is freeware (there is a Pro version for as little as US$35) and I'd love to see a Linux version - I have emailed them about it and it's not gonna happen anytime soon. Damn.
But anyway, there is a big difference between JCreator and Java editors for Linux. I'd like to see a JCreator-like project at SourceForge or something, because I'd definitely use it. (I'm not gonna contribute myself - I'm already working 60+ hrs a week). Does anyone else feel the same way?
This sig intentionally left bla... dammit!
Who's got the whiteout?
...there are NUMEROUS plug-ins for ANT, JUnit console, editing macros, and even EMACS emulation. YOU should know what your are talking about before you open your fingers. JEdit is well one its way to being a fantastic programmers editor. The editor is EXACTLY the same on a MAC, Linux box (any type), or Windows. Just get the latest version and try for your self. It is especially snappy with the 1.4_01 jvm, and go to the plug-in manager and BAM, tons of stuff. Have fun!
The fact that we still use these beasts to develop software says a lot about our industry.
How we know is more important than what we know.
I had been planning on writing an editor that did this, collapsing a section of code based on brackets or braces but jedit says it can do it. However in the few minutes I've spent trying I can't seem to make it work in 'explicit' mode but indent mode worked first try. Another feature I wanted to add to an editor is to hide all comments at once. I hate having to scroll up and down to find bits of code I am working with that are logically close to each other but separated by copious comments. I would probably document better if I could do this. Is there a plugin for jedit to do it?
Is it that bad that it doesn't even merit a mention? Why?
I've only dabbled with Java, so I'm curious why Sun's own offering is so disparaged.
Joe
http://www.joegrossberg.com
Okay, I had to look this one up. It seems that EUML is pretty much what it sounds like -- some companies trying to build a really high level language -- fine, that I'll understand -- using UML, which comes off as a bad idea. Frankly, the whole thing smacks of a "solution without a problem" being aimed at corporate purchasers who think "UML == good, so EUML == good".
First, I'm not a tremendous fan of UML. While the next generation of languages may hit within a decade, I'm not holding my breath, and I rather doubt that they'll be based on UML.
Second of all, I don't see why you dislike text so much. You can have the benefits of EUML without going to some mouse-based development environment. A text-based system would work fine as well.
Third, text is well understood by now. Text is stored in a standard format, and there are extremely powerful tools available to process it. Furthermore, it survives interchange fairly well, deals well with different output devices, and can be printed easily. There are a number of excellent, extensible text processing systems like emacs.
May we never see th
The whole idea of using an application-specific editor seems bizarre to me. I use emacs for just about all editing, and while I can understand not using emacs programs to replace *all* programs (mutt knocks the socks off of vm), it'd be a very difficult argument to say that one should give up all the incredibly powerful features and familiarity with one's normal editor to using an application-specific one.
May we never see th
> ... I'm curious why Sun's own offering is so disparaged.
forte is an IDE; probably, that's why it's not mentioned.
My current employer has started switching all interface work from C and curses to Java and Swing. Most of our developers have Windows machines, and run VNC sessions on the Linux server where they do all their work. One bright spark decided to install Jedit, and his team all used it on the server ...
The result was that the main development server, a not inconsiderable machine, was brought to its knees. As a result the daft buggers have been ordered to use Nedit, unless they agree to replace Windows with Linux and run Jedit on their desktop machine.
None of them have elected to run Jedit locally, as Nedit is the dogs bollocks as a programming editor, regardless of the language.
Chris
Fortunately, the Verdana font looks fine in Jext without anti-aliasing, so that's what I use
Do people really use proportional fonts when writing code???? I use andale mono or Lucida Console, myself. I love that the code looks cool with proportional fonts, but nothing ever lines up properly.
"The area of penetration will no doubt be sensitive." ~ Spock
I tried it out and was really impressed with it. I started using it for Java stuff, but now I really like it for Perl as well.
http://www.activestate.com/Products/Komodo/
There are some odd things afoot now, in the Villa Straylight.
http://www.eclipse.org/
dr. u
Joe was one of my very first text editors on any Unix box.
I love it. why didn't it get reviewed?
Printing (at least on windows) is kind of a pain:
Some spaces in the printed files are eaten, which makes them barely readable...
If anyone know a solution to this, I'll take it, because I'm planning to use it for a PHP course I will give next month...
Quentin
No sig, sorry.
Or CodeGuide from omnicore.com.
... we only reside in the same town. And CodeGuide *IS COOL*.
...
Not related in any way to the company
InelliJ IDEA, however, is also cool
Check both if you are looking for an IDE with refactoring support.
angel'o'sphere
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
define Thing: ...
... sure there ARE compilers .. I've heared there are compilers :-) I even have used one ... and there are text editors ... fine.
...I'm not sure what you mean by "in any other format". "To any other format"...yes. I've used generated graphs to visualize control flow and interfile depdendencies, though it's true that I rarely translate text to a non-text format when developing. However, I don't see the problem there.
... then you can use sed/perl or similar for scripting.
.... seems you do not get the point aboput UML at all if you get down to things like EMACS.
.... I'm pretty sure you are not even able to describe in TEXT what you are looking for in such a situation.
... but that was guy who himself allready thought he was a UML expert, all other companies still hire me from time to time.
Leg left = new Leg(length=0.85m);
Leg righ = new Leg(length=0.85m);
Corpus corpus = new Corpus(weight = 55kg);
Head head = new Head(haircolor = new Color(red));
end;
I don't see how this relates to text being well understood or not. I was referring to how people have good tools for looking through and processing text (like the UNIX text utils and perl and emacs), and there's broad familiarity with how to deal with problems that come up. There is broad support for it. Moving to UML (which, incidently, *still* does not have a universal interchange format, despite attempts) doesn't help at all on at least that front.
Could you name one tool?
grep. I'd go bonkers without it when doing development.
I mean
*shrug* I wasn't really referring to compilers, though there seem to be more implementations for any given language than there are for EUML -- that isn't really an issue, as long as the EUML implementations are good. The problem is with the transformation and analysis stuff.
But can you transform any text in any other format? Just simply with some easy scripting?
As for "easy scripting"...I think your terms are a bit loaded here. Scripting is, well, pretty powerful.
E.g., can YOU, not some hypotetical person, transform a C program into a Java program, with a tool, of course? In a reasonable amount of time?
Well...technically yes, using a VM, but I suppose the answer you're probably looking for is no. I'd ask...why would I want to do so, and why would EUML offer me anything in this field that an equivalently high-level text-based language could not?
Nope you cant. You need to write a compiler like tool for every sinlge transformation problem you may think off.
For C and Java, perhaps. C and Java are rather different from EUML or a very high level text-based language -- they're a real-world, here *now* (not in ten years when compilers get smart enough to make their use viable).
You can only ease that burden if you add your own coding style on top of the language structure you use
Oh, I see what you're saying. No -- I can just ram the thing through indent or another source code formatter.
Oops, since when?
Uh....the introduction of ASCII?
Ever heared about internationalisation?
Yup. Ever heard of all the software written in text-based languages that provides internationalization support?
Ever had a problem with attachments, uuencode, uudecode, splitting or concatanation?
Umm...not that I really remember. How is uuencoding going to be less of an issue for a non text-based language? The only way I can see it being relevant is if you're talking about encoding source, in which case (a) ASCII is 7-bit clean and all the programming languages I use are ASCII-based, (b) EUML, which could be stored in God-knows-what binary format, *is* going to run into uuencoding problems. As for splitting or concatanation, I don't see why there would be any more or less problems for ASCII than binary files.
Or simply end of line styles?
My dev tools and editors seem pretty happy with both CRLF and LF, though I haven't tried crossing over to a Mac.
I really think that data interchange is more of an issue with UML than ASCII.
Ever used text mode accidently by a binary ftp download?
Christ, the last time I manually specified ascii or binary for ftp transfers was, I think, on an ancient VAX.
Hm
I must not.
Simple: a picture says more than 1000 words.
Well...a picture *can* have more content than a thousand words. But in the case of UML diagrams, there's hardly a pixel's worth of entropy per pixel. I don't stare at raw bitmaps to get an idea of what's going on.
Plus, as I pointed out earlier, there *are* times when it's convenient to graphically visualize parts of a software package. Text can be transformed into a picture for that brief visualization quite easily, though as I've said, I've only needed to do so a handful of times.
I'm pretty sure you realize the perfect mating partner in a fraction of a second by a simple look. He/she just looks perfect
Sure -- but that's an area where the end data *is* stored and processed in essentially a visual format. If I want to deal with *images*, it's frusterating to transform images into text, and then back into images again. Code, however, is not natively an image.
The human mind can understand graphics/pictures/diagramms 10 to 100 times faster than text.
That's a ridiculous statement. There's no kind of reasonable metric that you can use to make a claim like that. If I want to convey what a river looks like from above, sure, it's a lot faster to show an image. If I want to make an argument about languages (as I am now), then text is far more effective. It's why Slashdot doesn't consist of a series of little pictograms.
And you can express everything you express with programming languages with graphics at least 3 times faster.
Again, I claim that you cannot provide reasonable grounds for making such a broad and essentially meaningless claim.
Unfortunatly "writing programs" in UML needs as much practice as writing porgrams in C.
If EUML provides the level of detail necessary to fully generate machine code, that's one thing. I haven't used EUML. However, I can decidedly say that UML is nowhere near that level of detail. You can generate the structure of a program, but you have nowhere near enough data to "write a program" in UML.
What I want to say is: use UML for a year. With the same enthusiasm you learned your most favorite language. As long as you did not do that you are simply not qualifying to give a statement about UML.
That is ridiculous, and an argument from authority -- an attempt to avoid having to defend your claims. I cannot simply leave for a year, study UML, then return to the argument. Instead of saying "I am experienced with UML (or, in this case, EUML), and I say it should replace text-based languages, so that *must be the case*", you should say "I am experienced with UML (or, in this case, EUML), and I say it should replace text-based languages, and *this is why*". So far, you've taken a number of stabs at text-based languages, many of which are definitely wrong, and then made an argument from authority. That's hardly convincing.
Do I think UML is a useful tool? Yes, in some circumstances. It's the only standard way of graphically modeling OO program structure. That's reasonable. It might even be useful for generating skeletons to work with. However, I find major fault with a few of the things it lacks. It does *not* have a implemented-by-all interchange language -- I cannot swap data between Visio, Rational Rose, and Dia. In its attempts to be completely abstract, it takes a least-common-denominator approach, and throws out a few language features that *I* find very important -- there is no standard way to model a typedef, for example, even though just about every language I can think of supports something like aliasing or typedefing. Now, that doesn't make UML useless -- just has a few warts. It doesn't appeal much to me from my stint with it. Granted, some of that may be because the UML tools I used are very poorly designed, which is hardly UML's fault. Creating a UML diagram in Visio is a painstaking, carpal-tunnel-inducing series of opening and closing dialogs and flipping through tabs. Dia is somewhat better, but still not perfect. So perhaps I'm a bit biased by my tools.
However, I'm very much dubious when you claim that EUML is the future. You've taken two ideas, and interwoven them -- and yet I feel that the two are very different. First, that very high-level languages are the way of the future. I agree with you, though I don't find them currently viable for real-world use. Second, that UML (or this EUML thing) is an ideal base to provide said high-level functionality. *That* I do not agree with. I have a hard time thinking of benefits that a UML-based system would provide that a (high level -- not like Java or C) text-based system would not provide, and I can definitely see drawbacks to the UML-based system (not good tools to analyze UML code, much UML-related software is priced more highly than I feel that it's worth, graphs tend to break down sooner than text when you're working with very large scale systems, it's easier to change text-based systems (at least with the present interface in Visio and Dia)). I can see making a high level text system that can be converted to UML's semi-standard XML representation, but not just using UML alone. I like to write with the keyboard, not the mouse.
P.S. before the anonymous coward who allways answers to my UML/OO posts is encouraged again: YES, I'm an UML/OO Consultant. You can hire me for $1000 a day plus hotel and traveling. In the last 4 years only one person(company) was not pleased with my job conduction
*shrug* I don't have a problem with that. If you really feel that something is a good idea, then it would seem a bit hypocritical if you *avoided* working in the field -- I'd expect a Java fan to use Java.
I just have somewhat different feelings about whether next gen languages and compilers should use UML or a derivation thereof.
May we never see th
It'd be nice to have all the features in these editors, but the one thing that puts me off is that I like the vi keystrokes. Does anyone make an IDE (not Emacs) that also has a mode where vi keystrokes are allowed?
-- Even if a god did exist, why the fsck should I worship it?
- 100% Java
- Nicely done Win32 laucnher
- Tons of plugins
- Nice and easy way to install/update plugins
- Concise, Java-based installer
- Configuration is extensive
Not so nice:- No javaWebStart link available
- Icons are ugly
- Toolbars/docking is very fixed and wasteful
- No hex editor! (not even a decet plugin)
- Configuration organized haphazardly
Disclaimer: I use jEdit as a text editor, not an IDEIncidentally, anyone here knows of good detailed Java IDE comparison reviews?
When I compared the out-of-the-box Jext and Jedit about a year ago, I thought Jext easily won as a simple to use editor. The user interface of Jext is particularly strong, where-as the long menus and terminology of Jedit is confusing - I *never* heard of folding prior to Jedit.
As I saw it, Jext's advantages were:
-Extremely easy to use (compared to Jedit)
-Supports the idea of workspaces, which allows you to switch between projects w/o having to close all of the files or lose your place
-Uses a tabbed open file interface - Jedit offers this as a plugin, but its not as good as the 'native' feature in Jext (less intuitive)
Since then, Jext development has stalled somewhat. There have been some long-standing bugs (particularly in using plugins w/ Web Start), and Jedit has continued to add features. I would really like to see Jext development continue, fix some Web Start issues, and start adding some of the features of Jedit.
Conversely, Jedit could really improve by making the UI more approachable, taking some lessons from Jext. One suggestion for Jedit would be to limit menus - possibly allowing the interface to switch between different modes for different purposes.
If its in there, its in there somewhere. . .
(Damn, forgot my Slashodt password again)
I know this sounds just like another whine on misconceptions of Java, but apart from the slow startup on a ~1GHz PIII with 320MB RAM I also have trouble with crashes. Once the editor is loaded up is works OK, but put it in the background for a while and the refresh when switching back to it takes forever!
And having an editor crash on you while coding just because you needed to beautify the code back to something readable doing a search - well, that's just unacceptable.
Also, these modern editors need lots of screen real estate. Try running these in 800x600 or below and you lose out all the advantages they have over vi & co.
Last I heard, gcj / Classpath project didn't support Swing, so probably the answer is no. :)
Graphical editors are better than console's editors because of lot of reasons for the edition of sourcecodes:
JCPM (copyright)
After reading the bit about the attack of the clones, I parsed Jedit as Jedi T instead of J Edit... Damn short forms that aren't context free...
For those of you who're going to read all these comments here and decide to move to some j* editor, hold on! Vim is still the best choice IMHO. It has Java syntax highlighting and with the help of JTags you can also navigate through the sources very easily. You'll miss the intellisense (or, really?) but there's a whole lot of common editor features that you simply can't find in other java-only editors.
I'm speaking from experience -- I worked on a java project for a year and was able to beat the shit out of any of my co-developers using jedit/textpad/jext/jblah. At the end of it, I had 3-4 vim converts in my team.
Lead by example.
What has Linux got to do with JEdit? Why the requirement to replace Windows with Linux? JEdit runs on Windows too - obviously, as it's a pure Java program.
Female Prison Rape in NY