*This post is from Brian Crowley, mrc’s Director of Development*
While at a recent tech conference, I had an interesting conversation with a long-time programmer. The programmer had apparently had some bad experiences with development tools, based on his views on the subject.
Frankly, nothing he said surprised me. I’d heard it all before. Most “anti-development tool” programmers usually cite the same reasons, and to be honest, I understand where they’re coming from. They’ve run into enough bad development tools in the past to form a pretty negative opinion of the whole lot. Their criticisms aren’t always accurate, and certainly don’t apply to ALL development tools, but I get why they feel that way.
Getting back to the story, he listed three criticisms/myths about development tools to support his viewpoint. I call them myths because they are commonly held beliefs, but aren’t accurate. I’d like to go through each myth, and then explain how I proved that each was false:
Myth #1: All development tools generate sloppy code
Based on his past experiences, there’s no such thing as a development tool that creates clean, commented code. The generated code is always sloppy and cryptic.
Reality: Maybe some development tools do create bad code, but to say that applies to all is just wrong. Proving this was easy. I just showed him the code for one of m-Power’s generated apps. He agreed that it was, in fact, clean code.
Myth #2: All development tools lock down all or parts of the generated code
In his experience, development tools don’t provide full access to generated code. They spit out a compiled program, but lock down the underlying code.
Reality: Again, this might be an issue with some, but certainly doesn’t apply to all. To demonstrate this, I quickly built a web app with m-Power and then showed him where to find all of the source code for that application. He acknowledged that nothing was locked down.
Myth #3: All development tools tie you to the vendor
This is tied to the second myth, but was his biggest concern. “I don’t want to bet the company on a code generator,” he said. It’s a valid concern when using tools that lock down parts or all of the code, or use proprietary code. If that vendor ever went out of business, all that locked down code is worthless.
Reality: This wasn’t true with all tools, and I could prove it. I opened up the source files of a generated application. As he could see, it was all built on open source code and frameworks. Everything was maintainable outside of m-Power and nothing tied it to a vendor.
Here’s where the conversation took a strange turn. I thought the programmer would be happy to learn that his criticisms don’t apply to all tools. A development tool without those drawbacks would make his life so much better. No more tedious coding! No more debugging! Fast development! Big promotions! Expensive boats! Fast cars! Okay…(maybe) not the last few things, but you get the idea.
But, he wasn’t happy. No tears of joy, no cartwheels down the aisle. Just skepticism. Even after seeing for himself that his major arguments against development tools no longer applied, he still couldn’t believe it.
It makes me wonder: Have developers and programmers been burned so often by development tools in the past, that they refuse to believe that a viable option exists? If you believe the myths listed above, I understand that you do so based on past experience…and I can’t say that I blame you. But, don’t let a few bad apples shape your opinion on all development tools.
And yes, as the development director for a development tool, I know that I’m not exactly an unbiased observer on this subject. But, I’m not writing this to tell you to run out and buy m-Power (though I wouldn’t stop you). I’m writing this because I’ve had more than a few conversations almost identical to the one I shared above. I’m writing this because I know for a fact that many people believe the myths listed above, and it’s time they were debunked.