Given the rapid rate of technological change, how much can I — or should I — teach my students about specific tools? Professor Gary Pollice discusses the virtues of Eclipse technology and explains why he and other instructors at Worcester Polytechnic Institute use it in their courses.
How does Eclipse compare to NetBeans or any of the other glorified Java IDEs, and why do they all weigh in at 50MB+ (100MB in the case of Eclipse)?
..is a nice OS but lacks a good editor.
Anyway, I’d cry if I was a student and my teacher forced me to use eclipse.
I don’t own a box so powerful to really handle it effectively, I’d be slowed down massively, even with all the powerful cool things eclipse does. And I’d like to know what alternatives the author of the article considered, just to understand better.
A message on the IBM development website touting Eclipse? Imagine that!
The Eclipse C Development Tools (CDT) project (http://www.eclipse.org/cdt/). This core project, supported by the Eclipse Foundation provides high-quality C and C++ support. Project deliverables include support for editing, debugging, makefile generators, parsing, searching, and content assistance.
As a C++ programmer, I don’t really think CDT can be considered as anything but a toy for now. Its performance in code parsing is awful, the content assistance does not work 99% of the time, and its debugging interface will drive you mad (when it works). As an IDE, it’s still really far, even from something as old as Visual C++ 6.0.
The whole article sounds like an ad from IBM, and it’s completely empty from a technical point of view. It doesn’t teach you anything about Eclipse that you wouldn’t know simply by looking at the first paragraph in About on Eclipse website.
Overall, I got the impression this teacher has been using VI is whole life and just discovered what an IDE and Internet are all about:
Two of my students just completed their major qualifying project […] they would never have been able to achieve what they did without support from the Eclipse community. Whenever they encountered difficulty, they posted a message to the appropriate newsgroup and received prompt responses. This helped them not only to get the job done, but also to become part of a group of dedicated, professional developers; that support will be invaluable as they move ahead in their careers.
Gee… How could we even work before Eclipse…
Don’t get me wrong, Eclipse is quite a good Java IDE. But the article is forgettable.
Teach the language, the concepts, not the program.
They can use the language and the concepts everywhere they go. If you teach the program you’ve just limited your students into 1 area. Good way to lock them in…
Eclipse is not just an IDE. You can do many things with it, RCP, GEF/EMF… etc… and it’s pretty damn fast to code applications once you understand how Eclipse works. On top of that, looking through the Eclipse source is a great way to learn Java (design patterns, clean code, etc…).
Overall, I got the impression this teacher has been using VI is whole life and just discovered what an IDE and Internet are all about:
I don’t see what vi has to do with anything, nor how it’s any worse than an IDE. Both vi and emacs can be great development environments; they do, however, have a high learning curve. Not to mention the fact that vi and emacs have been around for a long time and are still used heavily–because they work well at what they do. If you think about it, emacs was pretty much the first IDE.
> Teach the language, the concepts, not the program.
It’s not all black & white. You need to give the students a little guidance on tools too. Especially if you use an overhead projector with the IDE up in front of the class — if you don’t spend a day teaching the IDE, your lessons will continually get bogged down with IDE questions later on.
—-
I tried using Eclipse, but it seemed too complicated. It seemed like there were multiple settings for multiple editors just to change a font color (like, for comments). I couldn’t readily figure out how to change the text editing background area from white to grey. I searched the docs, but couldn’t find a nice listing of keyboard shortcuts.
Anyhow, I think I prefer the elegance and simplicity of jEdit. Easy, plentiful keyboard shortcuts. Macros. Plug-ins. Very simple. Makes good use of screen real estate. If you’re about to tell me about an awesome feature of Eclipse that I’m missing out on, note that there may already be a jEdit plug-in that does the same thing.
And, jEdit is GPL. (I haven’t yet tried building jEdit with GCJ4 — has anyone here? Can gij run it?)
> If you think about it, emacs was pretty much the first IDE.
In that sense, I tend to think of GNU/Linux itself as an IDE. You’ve got the shell, which “integrates” all your tools (make, ant, vi, gcj, cvs/arch/svn, whatever). It’s a *programmable* IDE (scriptable with bash or even python/perl/…). It’s not a *GUI* IDE though.
Let me start by saying that I really enjoy Eclipse. I’ve been using it off and on for two years, and I’ve even been meaning to dive into the plugin architecture, to see if I can’t contribute in some meaningful way. Further, I really dig computer science education hard; I’m working on my Master’s, hopefully towards an eventual career in teaching computer science. I also come from a more industry-oriented undergrad background, my undergrad program was a decent mix of theory and practice, and I do believe that, amongst general theory and principle, in a four year program, a certain amount of exposure to current tools and paradigms is educationally healthy. That being said, I really wanted to like this article. I really did, and as I read the comments before the article, I was getting ready with retorts for when I finished.
Oops. They’re right, this article reads exactly like a paid advertisement page in a programming journal (at best). Boooo.
In that sense, I tend to think of GNU/Linux itself as an IDE. You’ve got the shell, which “integrates” all your tools (make, ant, vi, gcj, cvs/arch/svn, whatever). It’s a *programmable* IDE (scriptable with bash or even python/perl/…). It’s not a *GUI* IDE though.
Not really–emacs and vi both have scripting capabilites (emacs’ is far superior to vi’s, due to the built-in scripting language), but they’re both centered around text editing. They both have a GUI, too–gvim and XEmacs, but I prefer the CLI versions. Here’s an extremely good explanation of the unix way of programming:
http://www.faqs.org/docs/artu/ch15s01.html
I don’t like eclipse. I think netbeans is much better and it has the best cvs support I’ve ever seen.
I can’t understand why teachers like eclipse…
because teachers and most of the stundents don’t have quad-way sun workstations to run netbeans The last time I tried using netbeans it took a couple of minutes to open, no one can design a software so badly it take minutes to open, even my linux box boots a lot faster than that and it opens a lot of programs.
But I don’t like eclipse also, it seems like a woman, they can do anything you want, but you have to learn how to ask, besides eclipse was like a woman that was always in premenstrual tension.
I am really liking cream, and now there is this python ide that uses it, it still doesn’t work for me, but when it does that is what I will be using
>> If you think about it, emacs was pretty much the first IDE.
>In that sense, I tend to think of GNU/Linux itself as an IDE. >You’ve got the shell, which “integrates” all your tools >(make, ant, vi, gcj, cvs/arch/svn, whatever). It’s a >*programmable* IDE (scriptable with bash or even >python/perl/…). It’s not a *GUI* IDE though.
Smalltalk had a GUI IDE a decade before Emacs was written.
Smalltalk had a GUI IDE a decade before Emacs was written.
Well, it is one of the first IDEs. It’s most certainly the longest lasting IDE on this planet–I don’t see anyone using the Xerox smalltalk IDE anymore Also, just so you know, it wasn’t a decade, it was more like ~5 years.
does anyone know if eclipse supports the xp themes? it uses native controls unlike netbeans, yet, the later show xp theme while the former keeps the windows 2000 look even on xp.
Verbat, this past term my college had most java related courses use the OSS Java based IDE BlueJ ( http://www.bluej.org/ ). It is easy to use, mutli-platform, does support plugins, and even displays file relations in basic UML. It may not be as feature rich as NetBean’s or Eclipse, but does use far less resources and is under 3MB in size. It is developed as a joint project between several Univerities.
Now that WebGain is dead, I have to admit that I enjoyed BlueJ, since I really dislike NetBeans and JBuilder. I can not say I have used Eclipse.
spot on.
jedit rocks (there are a few things that i don’t really like – most notably project management could be done better) and it is as fast as lightning.
editors aside – jEdit is the application that made me truly realise that a java program can be fast and usable. sure – it’s memory consumption is vastly larger than vi’s, but hey…
I would admit. I have used BlueJ. Its a lovely educational tool for teaching Java. It allows you to create objects right inside the IDE and allows you to call methods on them. It also shows you graphically how classes and interfaces relate to each other as you create them. I think it rightfully stresses on teaching object orientation than meddling with the public static void main() which introduces advanced concepts like main thread, shell invocation etc in the beginning.
Since noone else admits I have to: I really like eclipse.
Eclipse 3.0 was a great java ide. If you look back just a few years (BE: before eclise= and compare it to JBuilder or Netbeans the improvement is just great. Refactoring, fast navigation, perfect code completion – all the stuff I use everyday at work and enjoy day by day. And eclipse 3.1 is going to perform much better than 3.0
And eclipse brought enormous improvements to the whole java environment. Swings performance, the new subpixel AA mode, JDIC and much more wouldn’t have happened without the competiiton of SWT. Netbeans is also getting better and better, and IntelliJ is also very nice.
So even if you don’t like eclipse you’ll have to like it’s influence on the whole platform…
It’ll take a long time until c# will offer a comparable IDE to eclipse or netbeans on linux. Until that day I’ll stick with java and enjoy an almost perfect IDE support (and the best thing is that I can even choose which I take).
They both work very well (I would not have said that about Netbeans pre-4.1). As far as just being a Java Editor for J2EE application I prefer NetBeans’s cleaner interface for doing J2EE development.
If I’m playing around with multi-langauge stuff like working on an ActionScript front-end to a java application then Eclipse bring more value add the table.
If I’m just out hunting around for some cool crazy plug-in to play with then you will find me in Eclipse.
Performance wise they both work fine, resource wise they are both hogs (most IDE’s are).
As far as which IDE to use to teach with? I don’t see the benefit to teaching a specific IDE. What is the point, just teach them good OO desing, and UML, and let them play with all the IDE’s. If a student can’t figure out an IDE on his own, then give him and F and show him to the nearest construction company.
Netbeans has made great strides compared to the previous 3 series. The Swing tool is awesome…and 4.2 is just gonna be badass when it comes to creating sweet looking GUIs with JDK 6. Netbeans runs fast…but on fast machines. It is a memory hog a but…I like the way it looks…and the way it handles. Once loaded up it is really fast. There are some lags occasionally I would think and even though it is vastly improved than its previous iterations, there is still room for development. Creating java apps in it is almost a no brainer. And with the upcoming GC tool and the Profiler it is gonna be one awesome overall tool for great Java app development. I played with Eclipse and it is great but Netbeans takes less hdd space and is plain fast and easy to use. I dont like messing with plugins. I am not bashing Eclipse btw. They are both great. if I had money I would go with IntelliJ but since I dont wanna pay for an IDE I would use Netbeans.
After using idea, all other java ide look dumb.
Eclipse is pretty much a must have for java development imho; but Stephen there is quite off the mark when it comes to the c# IDE… visual studio (esp 2005) is superior to eclipse, hands down. It’s a really really really neat IDE. Remote debugging across server/webrowser divide, right down into line-by line XSLT debugging support (!), code changing while running, great intellisense support with some subtle improvements on previous generations and support for intellisense on xml-documents with schema’s defined (most importantly, such as HTML and XSLT!), built in (but limited) code-refactoring, and the great database connection layer that ASP.NET provides with those data sources (it really is comparable to cold fusion and therefore much simpler and faster to code in than ASP.NET 1.0 or JSP/servlets).
Eclipse(3.?)+java(1.5) is great; there’s no doubt about it, but Visual studio2005+c#(2.0) are easier.
Ugh, teaching specific tools in academic environments is kind of dumb, those skills are for tech school, universities should demand much more from their students than that.
I recall some courses the CS majors took each assignment the teacher would pick random platform & languages for each assignment. It was up to the students to go figure out how to work on that platform and with that language.
Also in some of the engineering courses that required computer modelling the concepts of computer modelling and such were taught and then the students were told which lab to go to and what machines to do it. It was up to them to figure out how to use those systems and program them.
code completion is for those who don’t know the API…
The concept of plugins has been around for a long time but Eclipse seems to have taken it to a new level.
The article mentioned the C/C++(CDT) plugin. C/C++ are still huge languages in Unix. In order for Eclipse to shine in that world the CDT plugin needs to be really top-notch.
By the way, Eclipse has a vi plugin and Emacs is for mutants with 15 fingers
Or, for people who write Java code.
Have you ever noticed how verbose java is? The function calls aren’t just 4 characters long, they almost feel like complete sentences!
Especially in the project that I’m working on, we start getting methods that look like this:
propertyDAO.getPropertyByBarcode(someBarcode);
I like eclipse becuase all I have to type is getP and then hit an arrow key and hit enter and it’s ready for me to type the paramaters.
I really like the CVS support as well, the diffs and the way it handles collisions are really nice compared to some other IDEs.
I think most of the comments here are off-topic, because I see this article as the virtues of Eclipse in a teaching environment.
I’m of the opinion that students should start by coding in a bare-bones text editor; maybe one with syntax highlighting, but few other conveniences. Let them know what it’s like to manually indent things, balance their own quotes, and write out by hand the entire length of FunctionNamesThatLookLikeThis.
(A more extreme example is to make students write out all their code by hand on paper first, before putting it into the system.)
I think this gives students a better appreciation of what’s required in programming and in a good IDE. It’s really magic, for example, discovering Esc-Q in Emacs or Ctrl-Shift-F in Eclipse. Besides, for the purposes of teaching, students don’t need 100% efficiency. They spend more of their time trying to figure out what code does, than writing it, anyway.
The other thing that struck me about the article was the instructor being happy about being able to import his students’ projects into Eclipse for compilation, inspection, etc. From my point of view, it’s best to simply print the source files and eyeball them. You’re not only judging how well their program runs, but also what they’ve learned… (You can also have the system auto-compile the files to check for parse errors, and run a few simple checks in a test harness. But eyeballing code is the primary task when assessing it.)
code completion is for those who don’t know the API…
And why the f** should I learn every f*** method in the API? That’s just dumb?Especially when API is subject to change from version to version.I dont care about code completion but I value a good documentation on my desktop,and that includes Java API.
1) It’s completely multiplatform, I have only one workspace for linux & windows
2) You dont need to install it, only extract archive and run
3) It’s faaaaast
4) Very good multithread debug
5) It have plugins, I’m using java, python and PHP
6) It’s free
I have to use websphere (rebranded eclipse) for the day job. I feel for those kids, it has to be the worst IDE I’ve ever used. In the spirit of the last post, here’s why I hate eclipse.
1. I can often type faster than it can keep up, even with all it’s syntax checking turned off on a 2ghz 1gig of RAM machine with nothing else running!
2. It frequently locks up or pegs the CPU (depending on how quickly you remember to type that end quote) by doing something as simple as opening the quote on a style attribute.
3. Cut, Copy, and Paste randomly work or not. Even notepad can do this reliably.
4. Sometimes it will just pick a spot in the document that you cannot type into. You have to save the document, close it, and then reload before you can continue editing. Occasionally that won’t fix the problem and we just edit it in text pad.
Having said all that, I think it’s great that the professor is making them learn eclipse. They should learn that once they get real jobs, they will often be made to do the impossible with crappy tools!
I want something that’s not heavy,is not necessary written in Java and has project management capability. I remember I have used years ago Kawa,now that was for me the best IDE I’ve used. For some reasons kawa is gone. I still look for an equivalent on Linux.
I’m currently using Eclipse 3.1RC3 on Ubuntu (Hoary) and it’s damned quick! It loads in 8 seconds!!! Now this is an improvement on 3.0 which took an age!
We are currently doing EJB3 development with Hibernate 3.0.5 and Hibernate Annotations. This is proving to be very effecient.
I’ve been using Eclipse since the 1.0 days and the imporvements to the platform have been immense. We’ve also been involved in SWT, RCP etc and have not looked back.
I believe there is a place for Emacs/Vi etc (a lot of time it’s a personal choice), but our team are being measured by the products we produce. And so far we’re doing pretty well.
daz
I read this and tried Eclipse the other day. It’s a slick IDE that’s for certain but here’s what I don’t like:
1.) Auto-complete is unbareably slow and doesn’t work on the c/c++ tool:
struct obj
{
int a;
int b;
};
vector <obj> b(10);
b[0]. //no autocomplete, it tries to complete vector!
And it normally takes it a full second to auto-complete things in my own files; yargh. But at least it consistently does it.
2.) It would be unusable on a sub-GHz machine.
3.) It needs like a nice embedded terminal. I’ve never been much on IDE’s; I’m just on a constant search for a better editor.
1.) I’m hoping since it’s Java it will be stable; no random memory errors that creep up over a period of 2 months (yes I leave IDE’s open that long).
2.) Its interface is very adaptable. I think I might be able to work on 25 files open at once and organize them where I please; this tends to happen when you have your IDE open for 2 months.
Forcing IBM’s big iron bloatware juggernaut, so aptly called “Eclipse”, on the kids is probably why computer science enrollment is down.
Eclipse is painfully slow even on a massively powerful dual processor system. Its extension system is modeled on a telephone switchboard… so painfully inefficient. The editor is spastic, seemingly working at random speeds, sometimes accepting your typing other times just sitting in the dark, in the total eclipse of garbage collection hell.
a) Because it’s faster than Eclipse.
b) Because it’s more functional than Eclipse.
c) Becuase it’s better integrated than Eclipse.
d) Becuase it’s not managed by committee.
I could not agree to some other people that wrote that Eclipse 3 are slow.
Current stable versions takes up to 8 sec.
Version: 3.0.2
Build id: 200503110845
And RC4 takes up to 10 sec. to start and display the sourcecode from one file of a project.
Version: 3.1.0
Build id: I20050624-1300
Both startup times are measured under an P3 1.4 Dual CPU Workstation running Win2k3 and with Java 1.4.2_7 from Sun.