From: Greg W. <Gre...@ba...> - 2002-07-03 17:45:11
|
Hi, everyone. I'm very much a newcomer to the jEdit world, but I would like to talk with interested parties about what could be done to make it more attractive to educators---in particular, about making it a "must-have" tool for first- and second-year college courses. I feel very strongly that doing this would greatly increase jEdit's user base long-term, since students tend to stick to the tools they like after they graduate. The background to all of this is that most CS programs do a poor job of teaching students the craft of programming. After a first-year intro to Java, and the second-year course on data structures and algorithms, most students go straight into courses on computability, databases, graphics, and so on. Except for a few scattered lectures on systematic debugging or version control, most students have to teach themselves how to build non-trivial programs. As a result, most students never learn how to drive industrial-strength programming tools. For example, I estimate that fewer than one in three seniors use a debugger as a matter of course. Even fewer use an IDE, despite the fact that student licenses for CodeWarrior and the like are very inexpensive. This is where jEdit comes in. Students can ignore just about every other tool they're shown, but they have to learn how to drive an editor in order to write programs. If they were to learn jEdit, then instructors could add its IDE capabilities piecemeal, without students ever being overwhelmed (as they often are when shown Visual Studio, CodeWarrior, or the like all at once). Instructors could of course do this with other high-powered editors, especially emacs. However, jEdit has something that those other editors don't: a plugin component architecture. Second- and third-year courses on OO design and software engineering could therefore take plugins apart to show students how the tools they're using work, and have students build plugins in assignments as a way of learning---really learning---how big programs are put together. I think this would be a very effective way to show students the power of tool-based programming, componentry, and the like. What's more, this could trigger a positive feedback loop, since people who have learned the in's and out's of jEdit as an example of a component-based system would be very likely to build plugins for it. So, how do we get from here to there? First, I don't think jEdit needs more plugins, at least not right now. Instead, it needs better versions of the plugins it already has. The four capabilities that an IDE has to offer are project management, build management, debugging, and version control. jEdit has plugins for the first three, and GruntSpud promises the fourth, but they all need a lot of work before they are student-ready. (The one exception I might make to this is the addition of a read-eval-print plugin, to allow novices to explore simple Java statements in the way DrJava does. I know BeanShell can be used for this, but its syntax is different enough from Java to cause confusion in young minds.) Second, while jEdit has a much smaller footprint than full-blown Java IDEs like Forte or Ecipse, it still runs slowly on typical student machines. I think that jEdit needs to focus on performance (both speed and memory usage) even more than it does already. It's no good saying, "Well, but in a year or two, machines will be twice as fast." Most university labs are always going to be populated by machines that are three or four years old; if jEdit is written with single-user state-of-the-art hardware in mind, it will always be slow on the lower-end machines of the day. Third, jEdit's internals need to be documented well enough for second- and third-year students running a "B" average to build plugins without heroic effort. The existing User's Guide is very well written, but telling students to go and wade through tens of thousands of lines of Java source with only a vague high-level description of the EditBus as a guide is simply a non-starter. I think this will happen on its own once a few instructors decide to adopt jEdit; I would certainly be willing to do a big chunk of this, if I believed that jEdit was going to deliver the other things I need. So, there you have it, a complete plan for world domination ;-). As I said at the outset, I'd like to hear from anyone who'd be interested in seeing it through. Thanks, Greg Wilson Doctor Dobb's Journal ----------------------------------------------------------------------------------------------------------------- The information contained in this message is confidential and is intended for the addressee(s) only. If you have received this message in error or there are any problems please notify the originator immediately. The unauthorised use, disclosure, copying or alteration of this message is strictly forbidden. Baltimore Technologies plc will not be liable for direct, special, indirect or consequential damages arising from alteration of the contents of this message by a third party or as a result of any virus being passed on. This footnote confirms that this email message has been swept for Content Security threats, including computer viruses. http://www.baltimore.com This footnote confirms that this email message has been swept by Baltimore MIMEsweeper for Content Security threats, including computer viruses. |