Can someone give me an example of a successful non-programmer, 5GL (not so that I can be sure what it is!), Visual, source code or similar tools that business users or analysts can use to create applications?
I do not believe that there is, and I would like to be proved.
At the company I'm working on, we developed an internal MVC that we use to develop web applications. This is basically an abbreviated state machine written in XML (à la Spring WebFlow ) for the controller and a simple mechanism for creating a template for presentation. Some of the benefits:
- dynamic: no need to recompile to see the changes.
- reduced "semantic load": basically, actions in the controller know only "If". Therefore, it is easy to prepare someone for application development.
The current trend in the company (or at least at the management level) is to try to create tools for the platform that require 0 source code, are visual, etc. This has a good effect on customers (or at least at the management level), since:
- they can be sure that in this way they will not need any programmers, or at least be able to hire programmers at the ends, which cost much less than typical programmers.
- It seems that there is a limited risk, because the tool limits the executor or user (just do not use the word programmer!) In what he can do, so the likelihood that he can introduce an error
- It seems to simplify the whole problem, since there seems to be no programming (as you know, complicated). Since applications load dynamically, there is less complexity than is usually associated with the J2EE life cycle: compilation, packaging, deployment, etc.
I am personally skeptical that something similar can be achieved. The solution we have today has a number of problems:
- Developers write JavaScript code to enrich the pages (can be solved by developing widgets). Although the client side is still code that can become very complex and lead to some complex errors.
- There is already a visual tool, but developers prefer to edit XML because it is faster and easier. For comparison, I think not many people use the Eclipse Spring WebFlow plugin to edit the XML stream.
- There is very poor reuse in the solution (based on copy-paste XML). This impedes productivity gains and some other aspects, such as promoting business knowledge.
- There were numerous performance issues and other issues based on misuse of tools. No matter how the playing field is reduced, there is always room for error.
- Although the platform is probably more productive than Struts, I doubt it is more productive than today's RAD web frameworks like RoR or Grails.
- Verbosity
Historically, there have been many failures in this direction. The idea of programs not written by programmers is old, but AFAIK is never successful. At a certain level, nothing but the power of the source code becomes indispensable. Today there is a lot of talk about DSLs , but not as something that non-programmers should write, rather as something they could read.
It seems to me that the management of the company is a dead end in this regard. What do you think?
EDIT: It is worth noting (and that where some kind of absurdity comes out) that many major players are experimenting in this direction. See Microsoft Popfly, Google Sites, iRise , many Mashup solutions, etc.
programming-languages
Dan
source share