Comments on: BlueJ Considered Harmful http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/ I will not fix your computer. Tue, 04 Aug 2020 22:34:33 +0000 hourly 1 https://wordpress.org/?v=4.7.26 By: Julia http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-300607 Thu, 23 Jun 2016 21:54:48 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-300607

I’m not blaming the tool.
I am currently taking a Java course after learning Python.
The course requires BlueJ.
I’m used to writing my code completely…not leaving out parts that will actually allow it to run in the terminal. I’ve had such a had time teChing myself because the instructors are using–in my opinion– the tool but not teaching the language.
I’m so frustrated that I’m seriously considering switching courses.
I can see, perhaps, how BlueJ could be really helpful to a complete newbe…but if you know on any level what should be going on…it’s just really frustrating…

@ Davin:

Reply  |  Quote
]]>
By: James http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-20426 Sat, 01 Oct 2011 21:24:46 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-20426

I don’t understand this fanatical idea that OOP is a difficult concept, so much so that something like BlueJ should even be considered. I remember the first time we broke away from imperative programming to the OO method… and it all made sense. Polymorphism, inheritance, and overloading seemed rather straight forward and to the point; at least more so than when I first learned about pointers and passing arguments by reference. I am talking about when I learned to program in C++ but now I am taking a Java course and it is all kinds of jacked up. I feel that if this instructer approached our learning ciriculum like my C++ professor did we would be learning a whole lot more about the language.
I understand the OOP concept and I’m sure the rest of the students (some of which are new to programming) understand it to. I think BlueJ is a complete waste of my time and it is frankly insulting learning from a book that revolves around the IDE.
Anyway… I hate BlueJ. Point and click is no way to teach a language.

Reply  |  Quote
]]>
By: Peter http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-18707 Fri, 18 Mar 2011 13:07:19 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-18707

@ Davin:

I can tell you that when I first learned Java at university a decade a go, we used the hard (TM) way. But me and my lab partner found BlueJ by ourselves and made good use of it. Now, 10 years later having worked professionaly in lots of languages, played with squeak and whatnot, I had a renewd look at Java. I immediately downloaded BlueJ and was pleasantly surprised to find that it hadn’t changed much and still worked great. Sure it is nothing like squeak but it is a very compelling environment that actually goes nicely together with actuall editing of the source code in for instance emacs.

Reply  |  Quote
]]>
By: chris http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-14617 Sun, 14 Mar 2010 18:39:10 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-14617

disclaimer first:- I don’t use BlueJ and whenever I code in java I use Netbeans. I have played with blueJ for evaluation purposes only. Java is only one of the languages I use at work.

There is a place for BlueJ in the classroom. BlueJ helps learning OO concepts. To think in OO is the most difficult part, and any tool that can help in this direction is useful.

as for wrting code in a pure text editor and using command line to compile it is so not necessary anymore. It was probably the only way, in your olden days, it’s not in today’s world. It’s like teaching any new driver how to use a crank to start your car in today’s world. or to eat chicken, you have to know how to raise them first, just because our grandparents had to raise their own chicken before they can eat them.

all big organisations (believe me I have worked in organisations with over 50,000 employees worldwide) I have worked in for the past 19 years use one of the commercial IDEs today where they don’t do things at command line. Why ? One word . productivity !!!

can I use command line to set classpath or to compile ? you bet I can. and If I can, any computer science student can , as long as you provide them the instructions the first time. Let’s face it when java came out , you too had to rely on Sun’s instructions to do the compilations, so what’s the big deal.

if they don’t know command line, it’s not the fault of BlueJ, there is a gap in the computer scence course curriculum itself, they should also be taught scripting at the OS level , whether in Linux, Unix, or Windows? or how to run command at the shell levels.

anyway that’s my 2 cents.

Reply  |  Quote
]]>
By: Luke Maciak http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-12932 Thu, 06 Aug 2009 14:17:39 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-12932

@ Davin: Well, maybe I came down on BueJ a little too strong. My problem is not with the tool itself – I do see it’s value as a teaching tool that will help students grasp OO paradigm more easily. It does have a valid purpose.

What I did object too is using BlueJ exclusively and structuring the whole two semester Java course around it. As I mentioned before, I have been approached by CS students who were just starting the higher level CS classes and were completely at a loss because they didn’t actually know how to program outside of BlueJ.

The “IDE specific hooks” phrase is a bit unfortunate. What I meant was that BlueJ came with some “helper” classes that students could use. For example, I remember that there was a custom “keyboard input” class somewhere in there that would allow students to grab user input by popping up a modal dialog box. A lot of students heavily relied on that class – and if I remember correctly their code would just throw an exception when run outside of BlueJ environment because the class was missing. This might have changed since then – I haven’t worked with BlueJ for years now.

So again – I have no problem with BlueJ itself. I have a problem with the way people used it in class. So perhaps I should change the title of my post to “Using BlueJ as the only teaching tool and ignoring practical stuff considered harmful” or something like that. :)

Reply  |  Quote
]]>
By: Davin http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-12926 Thu, 06 Aug 2009 05:26:58 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-12926

I am one of current developers of BlueJ.

There’s some serious misrepresentations going on here. Firstly, as Fab pointed out, BlueJ is not designed to teach how to install JDKs, or write/compile Java programs from the command line. Those things need to be learnt separately – but BlueJ does not prevent those things from being taught. If students are lacking basic knowledge about CLI environments and classpaths after completing a course, it has nothing to do with BlueJ – it’s just that the course didn’t adequately cover those topics. The title of your post, “BlueJ considered harmful”, and the general tone, imply that you’re blaming the tool itself.

You allude to students who “think that ‘programming’ involves clicking on things in a graphical IDE”. Well: generally, it does. I use Eclipse and Netbeans and both of them have graphical UIs in which you click on things. They also require me to type Java code, as does BlueJ. Sure I can wrote code in a text editor that doesn’t have any mouse support, but to suggest that is an important skill is ludicrous.

You refer to “IDE specific hooks that will not compile on the instructor’s machine”. What on earth are you talking about? BlueJ compiles plain old Java. There aren’t any “IDE specific hooks”. If a project compiles in BlueJ, it will compile from the command line just as well.

You talk about a “thinned down BlueJ brand of Java”. Well, BlueJ allows the full Java language and API to be used. Nothing is “thinned down”. No part of the Java code produced by students using BlueJ is BlueJ specific. BlueJ is written in Java, it runs on the Java VM, and it allows to write code using Java. Your statement is FUD.

At times, you seem to be half on the right track. I’ll agree that there are important concepts students should learn which BlueJ allows you to temporarily sidestep (which is course the whole point of the tool). Most of the points you list as being important for students to know after an introductory Java class are well and good (I wouldn’t go so far as “calling native code from within Java” for instance, but that’s not what I’m interested in debating right now). However, you are blaming BlueJ while this is really a problem with course structure.

Actual programming – the writing of code to perform a task – and dealing with classpaths etc, are actually two different activities. They can be dealt with separately. BlueJ allows learning the former without having to previously learn the latter. Nowhere does BlueJ say that you should not learn the latter at all.

BlueJ is a tool. Objects First is a teaching approach. Neither are responsible for the problems you’re seeing with your students.

Reply  |  Quote
]]>
By: Fab http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-8577 Mon, 24 Mar 2008 11:05:20 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-8577

BlueJ is really helpful for students to grasp the concepts of OO programming. It is entirely true it won’t teach them how to get their hands dirty on using a text editor and a compiler, and they may even not be able to create a program from scratch without BlueJ.

That’s because it’s not the purpose of BlueJ.

They will have to learn how to use these tools anyway if they want to do real programming, but they certainly don’t have to learn OO concetps the right way that’s why it is important to teach them, and the earlier, the better.

That’s the purpose of BlueJ.

Reply  |  Quote
]]>
By: Luke http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-2570 Fri, 26 Jan 2007 05:30:47 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-2570

Do they really though? Because I really don’t see the marvelous results of the BlueJ approach. What I see is a throng of students who lack the basic programming skills, in addition to the very shaky grasp of the OO concepts.

Most of my generation started using really old school stuff. My first programming steps were done in C and Basic. I compiled my first Java program by logging into a unix workstation via ssh, and using vi and javac. I turned out just fine – and most of my colleagues did to.

The only way to actually introduce students to real programing – the kind they will be required to do at at their future jobs is to wean them off BlueJ. So why not just start them off right. They might struggle a bit at the beginning but that’s normal. We all went through it. Ultimately, they either get it or not.

But I think what we are doing here, is creating yet another hurdle they have to jump through. Now they will have to make the leap from BlueJ Java to real Java at some point, and it might be difficult.

So instead of a uniformly steep difficulty curve, we fist give them a very gentle hill, then a 50 feet brick wall to climb, just so that they can catch up to the rest of Java students who were climbing the steep curve since the begging. Most of the BlueJ kids will never catch up because they lack the strong programing foundation you get from doing things the old school way.

Reply  |  Quote
]]>
By: jj http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-2568 Fri, 26 Jan 2007 04:33:54 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-2568

I could not disagree more. With BlueJ, the student automatically understands important issues such as modularity and state, intutively. Objects in BlueJ are “live”. It almost feels like a Smalltalk environment.

Reply  |  Quote
]]>
By: ZeWrestler http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-1219 Sun, 24 Sep 2006 06:50:05 +0000 http://www.terminally-incoherent.com/blog/2006/09/22/bluej-considered-harmful/#comment-1219

ahh. i meant jgrasp

Reply  |  Quote
]]>