The choice of Java as a first programming language in computer science courses is undermining good programming practice, according to two leading academics.
In a withering attack on those responsible for setting the curriculum for computer science courses, doctors Robert Dewar and Edmond Schonberg of New York University (and principals of Ada language specialist Adacore) have said the lack of mathematical rigor and formal techniques is producing "replaceable professionals" more suited to the outsourcing industry than software development.
They singled out Java for specific criticism and note that its restricted use in the development of web applications stunts novice programmers' potential.
Referring to their experiences at New York University, the duo said: "Students found it hard to write programs that did not have a graphic interface, had no feeling for the relationship between the source program and what the hardware would actually do, and (most damaging) did not understand the semantics of pointers at all, which made the use of C in systems programming very challenging."
While the good doctors acknowledge that "real programmers can write in any language", they specifically laud the virtues of C, C++, Lisp and Ada.
All of which makes the criticism of Java somewhat odd. Java syntax is derived from C++ and both languages have their flaws and virtues. Java 's close association with web applications probably influences the way the language is taught in universities - but this is not a flaw in the language rather in the way it is presented to students. It would be equally valid to criticize Lisp because it is closely associated with the fruitless pursuits of the artificial intelligentsia or Ada because it is used to build weapons systems.
Academics, though, do have something of a habit of descending from the ivory tower to vent on specific programming languages and their users. Renowned computer scientist Edsger Dijkstra described those exposed to Basic as "mentally mutilated beyond hope of regeneration" while Tony Hoare famously lambasted Ada for its limitations in his Turing award speech in 1981. ®