The Pitfalls of Java as a First Programming Language – A Response

Two computing practitioners from an Ada shop in New York, Dr. R.B.K Dewar and Dr. E. Schonberg, who are also professors emeritus at New York University, have recently slammed Java as a first programming language. Their article has received quite a bit of attention and created wide discussion.

I think they are completely barking up the wrong tree.

Dewar and Schonberg report some observations, and than jump to conclusions that are not in any way supported by the observations or their argument.

Specifically, they state that today’s students are lacking certain skills (low level programming and formal methods), and then go on to blame the use of Java as an introductory language for this problem.

To state my conclusion upfront: They describe a badly designed curriculum, and then blame one programming language for the education’s problems.

Continue reading

I Object

A change occurred recently in the discussion of introductory programming teaching: the procedural backlash.

Suddenly, respected and experienced teachers start claiming that teaching object orientation early is not only difficult, but impossible. Procedural programming once again is supposed to be the solution, with objects having to take a back seat.

This development is not only questionable and unfortunate, but wrong and dangerous.

Read the full article here.

Is Java on the way out (of teaching, anyway)?

Java has undoubtedly been the most popular language of the last decade.

It has taken over large parts of the educational and professional sector. It is its use as a language for programming teaching that I want to talk about today.

Java has been dominating introductory programming teaching at universities for years now. But is it time to throw it out?

Continue reading

To complete or not to complete

Some thoughts on auto-completion and auto-formatting.
At the BlueJ team, we regularly get requests for new features. Two of the most requested features are auto-completion (of method names, imports and fields) and auto-formatting (a.k.a. “pretty-printing”) of code.

We have had these discussion since the very first release of BlueJ. So far, I have always refused to include these features. Is it time to re-think?

Continue reading