The problem with all these efforts is that we're still a long way from being able to take a fuzzy natural language description of the desired solution and turn that into a working program. That means that someone who is not a programmer has to write the code for the program in some programming language. And that leads to all sorts of issues:
- Naive code - someone who has not learned about programming practices will write code that is difficult to learn and modify.
- Incomplete or inefficient programs - someone who has not studied programming will lack knowledge of algorithms, and will lack experience of gap analysis.
- Just plain shoddy work - the erstwhile programmers will not want to be programming, because they want to be solving their real problems.
Programmers will have the background to recognize O(n2) algorithms; they will be familiar with the tools like code versioning systems and parsers; they will have passion for the code itself, so that it will be easy to maintain and modify.
I guess it's rather like plumbing. It's not hard for a homeowner to run a little length of drainpipe, but when it gets to plumbing a whole house, or handling a sewer connection, they prefer to use a professional.
Technorati Tags --
Software, SoftwareDevelopment, Computers, Programming
HTTP