The state of the art of programming

Hans's picture
Wed, 2010-12-22 15:39 by Hans

I've increasingly begun to worry about the general state of the art of programming, in JavaScript and in any other programming language. Sometimes I believe that the only language many programmers really liked and kind of mastered was BASIC (the closer to Dartmouth, the better—I'm just hoping that the readers of this message still know what Dartmouth BASIC was).

When I look through the Java programs I have to work with right now, I keep seeing things like this:

if (x == false)
  return true;
else
  return false;

For the layman among the readers, the above is properly written as:

return !x;

I also see many programs whose authors pretty obviously didn't know conditional expressions (?: in Java), the switch statement (they write "else if" chains instead), and I know at least one programmer who doesn't seem to know what an array is and what to use it for.

And that is only the tip of the iceberg. When it comes to algorithms and data structures, things get worse. But people who don't master the basics of a programming language do even worse in any of these more advanced fields.

The resulting programs are exceedingly inefficient, often by factors of 100, 1000, or more, terribly bloated, full of errors, and unmaintainable or extremely expensive to maintain.

Programmer incompetence seems to be particularly bad in two languages: Java and JavaScript. I would recommend to managers to do new projects in C# 4, not just because the language is much more advanced, but first and foremost because the really bad programmers all seem to be drawn to Java, meaning that merely asking for a C# programmer already protects you from the worst.

JavaScript has an additional burden to bear. For various well-known reasons programmers treat it badly and don't learn it properly. Some of these reasons are:

  • It is underestimated as a simple script language, totally ignoring its enormous power and potential.
  • It is mistaken for Java or believed to be very much like Java.
  • Managers and human-resources people don't know it, underestimate it, or take it for granted.
  • Job seekers get by with writing "JavaScript" and "Ajax" into their resumes without ever having to show anything for it.

I wonder what will happen to new and different languages like F#. Will they confound the classically- (or un-) educated programmers so much that they fall on their backs with all extremities raised into the air like toppled tortoises? It would be better if they did that than flee into the same ignorance they award to JavaScript.

that'd be what i'd expect in

Fri, 2011-11-04 16:17 by Phillip

that'd be what i'd expect in a school/college/university maybe in large part because people that can't program well, are taught to program.

but there should be those that can program.. though they're always a minority

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.