We are all Mort

Every now and then I see blog entries decrying the existence of “Mort”, the ubiquitous inexperienced programmers who’s code we always have to fix. They complain about how language X is getting dumber to accommodate “Mort” or that their favorite IDE has some new feature that makes it easier for “Mort” to write bad code. I snicker when I read these posts because they don’t get it. The entire POINT of writing code is to abstract away the difficulty that is inherent in using computers. Remember, at the core “Mort” is just another user. I know that if there was a way to drag and drop icons into a designer and have it output good code, I’d use it. Otherwise, we might as well be flipping switches on a console.

Some developers don’t want to design the perfect, scalable architecture. They just want to solve a problem.

  • The way I see it, the problem isn’t that Mort exists per se. The problem is more that in the rush to give Mort the tools he needs to get the job done, tool and language providers are messing with the tools that the “Not-So-Mort” need and use on a daily basis.

    Consider this. All abstractions are leaky. So when you add a layer of abstraction, you want to make sure it’s a clean layer and doesn’t muck up what its hiding. A classic example is WebForms designer in VS.NET 1.1. I’m fine with the webforms designer. It is a great productivity tool and makes it easier for Mort to build pages.

    But now, take a Not-So-Mort who wants to use Microformats for example. He marks up his pages just right, but the pages get all FUBAR because the designer decides to rewrite his code. That’s problematic.

    The balance here is to put more thought into the abstraction layers, and let the not-so-morts still have the ability to peek under the hood.

  • Pingback: you've been HAACKED()

  • Pingback: Lazycoder » Blog Archive » When Non-Programmers Write Software()