Ada vs Java: An Inconsequential Conflict
Tuesday January 22, 2008
Picking upon Dewar and Schonberg's recent article on the decline of computer science education, InfoWorld's editors characterised the discussion as a spat between vested interests: those who make their living with Ada and those who make their dosh with Java. But that is a gross oversimplification of the article and the topics addressed. As originally cited in this space, the problem is that computer science programs increasingly are nothing more than sophisticated vo-tech schools: put this piece in place, then that piece, then the next piece, and all without any real sense of what is happening.
InfoWorld's spin suggests that Dewar and Schonberg's article is against Java as a language in general terms. On the contrary, the article plainly reasons that Java is a poor pedagogical language. It does so much behind-the-scenes that developers can create programs without really knowing what is going on in the program's internals. This makes it very powerful and makes application development much faster than other languages. It also means that those who learn Java first are not exposed to critical concepts like memory management, pointers, and the like. This has the net effect of locking students into high level languages (like Java) and making it difficult for them to learn other languages when the winds of programming fancy change. (See also "Why Johnny Can't Program")
InfoWorld's spin suggests that Dewar and Schonberg's article is against Java as a language in general terms. On the contrary, the article plainly reasons that Java is a poor pedagogical language. It does so much behind-the-scenes that developers can create programs without really knowing what is going on in the program's internals. This makes it very powerful and makes application development much faster than other languages. It also means that those who learn Java first are not exposed to critical concepts like memory management, pointers, and the like. This has the net effect of locking students into high level languages (like Java) and making it difficult for them to learn other languages when the winds of programming fancy change. (See also "Why Johnny Can't Program")
