BlueJ is an interactive Java development environment. It provides a unique user interface that presents a graphical display of the application classes and their relationships, and it lets users interactively create objects of any class.
This 2.0 release adds support for J2SE 5.0, full diagram keyboard navigation, editor improvements, interface improvements, a new text evaluation pane, improved jar file creation, and many other improvements and bugfixes.
Our Uni used BlueJ to teach us Java in our first year, and it was almost universally despised. Hopefully they’ve ironed the bugs out with this release but the general “feel” of it was very confusing for those who hadn’t programmed before – it doesn’t seem as if you’re actually creating an application rather just a set of standalone modules. Because the focus was on running each class via the BlueJ IDE rather than running the whole application as a standalone, the only people who came out of our first year knowing how to actually structure and tie together a multi-class Java program were the ones like me who gave up on BlueJ and started using plain ol’ javac.
That might’ve been a problem witht the teaching – maybe there is a way to get BlueJ to “run” the code in a more “traditional” style, but I’m afraid I get a bad taste in my mouth whenever I hear its name…
He, we used Kawa in school, the program is no longer supported I believe, but it did a good job for teaching us java, by keeping it simple, and not hiding too much of the process.
bluej can run your app the traditional way. just start your main class. i hated bluej at first, but when i got used to it i realy liked it. the mainproblem was that it didn’t run very well on windows (sometimes the javavm didn’t start again after you killed an process, etc) but there seemed to be no problems on linux and osx. i have not jet throughly tested bluej2 but on some quick tests it seemed to run better now.
I hate it:
1. It’s not open source. How can I learn prgoramming in java without reading my IDE???
2. It have a fucking editor. What’s wrong with vim?? Because it’s a free software BlueJ don’t let you use it??
Howdy all
This I know is off topic but was wondering if any developers/recreational coders out there (not angry young people who don`t know what they`re talking about/zealots) either use an IDE like NetBeans or Eclipse or something like TexPad.
Alot of people at uni here seem to use TexPad and I have shown a few of them BlueJ (a few years ago) and noew NetBeans and most seem geuinly surprised at the features the IDE`s have.
BlueJ is a great example, UML window, Object browser and nice Javadoc generator all built in.
So Just what is the attraction of things like Vim and Emacs, I`d love to know!
Thank you all for your time
P.S. The only thing keeping me off BlueJ is the lack of a auto code completion, I find it easier then trying to remember the entire API/Libs due to their sheer size and also gives me more time to abuse my body with large amounts of liquid fun.
when you’re working on something significant certain factors come into play.. and certain features can really make life easier.
* code completion (so you don’t have to dig out the paper javadocs)
* coloured syntax view .. so you can see the different animals in your code, the code visually makes sense
* refactoring, when you make a change, its is propagated thougout the code .. so you don’t have to search for every instance of a variable or a call to a function
* much OS and UI code is biolerplate code (you code nearly the same code everytime) … an IDE can generate this for you … and keep it updated too. netbeans has a built in GUI builder.. from which it generates/updates teh java code. try it by hand and you’ll see the pain.
there are many more things in IDEs like:
* jumping to / highlighting compilation errors and additional hints/help in identifying the cause
* built in incremental compilation for large projects
* built in “talking to CVS / web / file storage servers” so you don’t have to find a command shell and do the cvs typing
and much much more …
all this reduces the errors in your code and speeds up development.
the debate, once you’ve agreed tat vim/textpad, is not sufficient for your large project … is then between IDEs .. and that’s when the additional factors come into play:
* is it easy on the eye – you’re staring a it for hours
* is it logical – can’t find the menu item?
* is the workflow logical – whats a perspective/view?
* does it takes ages to respond when you type code? annoyances can turn to anger and depression very quicky!
and more … these factors are about how easy it makes your life…
I also used Bluej in the first semester in Univ. Let’s say its ok for guys who haven’t programmed never because they dont know what they’re doing anyway, but when it comes to write something super-complex like…mmmm… a calculator you just get one benefit from this “IDE” and its the classes division and relations.
If they could improve interface a bit and start working in the editor they could be a big one in beginners IDE’s…
I used this at University too. I quite liked it. It was the first Java i’d done, I’m more used to VB. We were learning basic data structures and algorithms, so it was quite nice to be able to directly instantiate classes rather than having to make a test harness. I liked that the editor had brace matching which VB6 lacks, but it would have been nice to have had an intellisense equivelent as I was completely unfamiliar with the class library.
It took me ages to realise that you can extract objects produced as return values from methods and store them in the tray at the bottom so you can call their methods and use them as parameters on methods called on other objects. If I’d realised that earlier I would probably have been a lot more productive with it.
BlueJ is an excellent tool if it is used appropriately. I was a Teaching Assistant of the first Computer Science course for the past year (therefore had to teach the lab session), and I was able to see BlueJ’s potential. The problem is not with BlueJ, but the way most Computer Science courses that use Java are designed.
I think BlueJ works better when Object Oriented Programming is introduced since day 1, but most books (and courses) are done in such a way that the object orientation is not really introduced until after some weeks into the course. They first cover things like arithmetic, conditions, functions (not really methods), and I/O (with a “just type this long line for now and you will see how this works later) before going into object oriented programming.
Therefore, a lot of the teaching tools that BlueJ features are pretty much useless or make no sense in the beginning (people select the main method in the GUI to run a program, but do not understand why). By the time objects and classes are formally introduced, students are worried with other things like to take the time to understand why BlueJ works the way it does. BlueJ is great for testing a program by creating objects and calling methods in the interface, and I find it painful how such a thing is overlooked because we have no time to teach it during the semester.
My main gripe with BlueJ is the fact that BlueJ hides the process of calling the compiler and the virtual machine, but considering it’s a teaching tool, I guess that’s something that can be overlooked.
The professor I worked with was also convinced that BlueJ could be an excellent tool, but the problem was that the whole course had to be redesigned, and it was not affordable at the moment (if I could I would like to do something like that, btw).
Sometimes I wonder if integrating jEdit to BlueJ is possible…