Professor Dewar Is A Very Smart Smart Smart ... Moron

July 28, 2008

The 'Anti-Java' Professor and the Jobless Programmers

Reddit comments

In this rather inflammatory article, Professor Robert Dewar seems to belittle almost everything but his own inflated ego and the language he makes his living on.

I can only imagine how sad it must be for someone to be so out of date. Like an aging rocker who can't escape his hair-metal days, he clings to the idea that what was important in the 80's is still no less important today. Concepts which predate most modern applications are still the only right way to teach student how to become useful programmers; as if we should still teach hunting and gathering just in case it becomes necessary for survival.

I started in 1981 as a software engineer working for a defense contractor right out of graduate school. No, not CS, but Chemistry. I've only had 0.5 college hours of computer science (and only that to gain precious computer access) yet I've forged a long career at the leading (and sometimes bleeding) edge of technology since. Unlike the dear Prof I've actually had to change with the times and grasp something new every day of my career, moving swiftly from Basic to assembly to Pascal to C to C+ (sort of) to C++ to Objective-C to Java to PHP and moving forward to Ruby, Groovy, Scala, Erlang or whatever is next. This industry has changed from mainframes and superminis to PC's (and Macs), from terminals to client-server to web applications to programming on a damned phone (oh AT&T Where IS My IPHONE). The thing is, programming is all about change, working with change, dealing with change, being changed.

The only thing that never changes is change itself. And Professor Dewar apparently.

Java is not a bad language, neither is Python or Lisp or Scheme or Erlang or Ruby or PHP or dot dot dot. Maybe BrainF*ck is a bad language, but then it's supposed to be. Programming is all about writing programs that people use (or sometimes machines). It's the only way to learn how to program. You can't teach people how to program, you can only help them along but Computer Science (what a stupid name) isn't about teaching people to program; it's all about teaching them to teach computer science to other people who think they are learning programming.

I've never met a programmer with a computer science degree unless they already were programmers before they ever started. Graduates become programmers like everyone else: when they starting writing real programs for real people. In real programming languages. Like Java or Lisp or PHP or (name your poison). So asking a Computer Science Professor about programming languages and programming is like asking a hot dog vendor to explain hitting a 96MPH baseball 514 feet.

Ada was designed by a committee and started appearing just as I left GD in late 1984 (to program in C, on a Mac no less). Its direct predecessor, Jovial, was what I worked with (mostly on compiler runtimes and tools), and was a fairly nice language for its day. Ada appeared to be a conglomeration of every feature imaginable and seemed perfect for defense department projects (over time and over budget here we come). Imagine if the web had started out in Ada. The first browser would have been out in 2014.

Dissing Java is popular and I can forgive that. Denigrating the web as insignificant is unforgivable today. Somehow thinking of Google or as some meaningless web applications that any clever child could write and thus is ripe for exploitation by some other clever child is sort of silly.

Sure, I might not want to write the Space Shuttle code in PHP, but look at the good all those expensive $7000 lines of code did: they still lost two of the shuttles to system failures. Another thing no Computer Science Professor would ever think of, that programming is only part of the system. There is a whole lot more to the world that a program lives in then whatever stupid programming language the stupid programmers (who are not Computer Scientists of course) came up with. Like UI design, testing, hardware, scalability, maintainability and a host of other unScientific ilities. Even how to deal with stupid management and development methodologies also favored by our Computer Science elite and still somehow get the project done.

I think that Professor Dewer might consider exiting his flask and talking with people in the real world occasionally, unlike his customers who live in DOD land. Maybe he might even consider contributing some code to an open source environment to show his deep insight and mighty programming ability. Even BrainF*ck could use a dose of Science.

Yes every language sucks but a good programmer with an open mind, an open Google, and a wealth of cross language and cross project practice, can write anything in any language.

Even Java. Or BrainF*ck. Or (lordy no) Ada.