Successful Non-programmer, 5GL, Visual, 0 Source code or similar tools?

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.

+6
programming-languages
source share
5 answers

There will always be "real" languages ​​for the work, but we can drag the workflow.

I use Apple Automator , which allows users to combine the "actions" that are open by various applications on their systems.

Actions have inputs and / or outputs, some of them have interface elements and the basic logic can be applied to the chain.

The key difference between the machine and other visual environments is that the actions use the existing code application and do not require any special installation.

More details> http://www.macosxautomation.com/automator/

I used it to “automate” many batch processes and had really excellent results (it surprises me every time). I have working builds and backups and whenever I need to handle the mess of text files through which it passes.

I would really like to know if iHook or Platypus (osx cover builders for shell scripts) can let me develop plugins in python ....

Of course, there is room for more applications like this, and for more support for OSX application developers, but the idea does sound.

Until there is basic support, not many “actions” are available, but a quick check on my system just showed me an extra 30 that I did not know what I had.

PS. There was another OS-preX application called Filter Tops, which had a much more limited set of plugins.

+1
source share

Yes, this is a dead end. The problem is simple: no matter how simple you are expressing a solution, you still need to analyze and understand the problem that will be solved. This is approximately 80-90% of how the (best) programmers spend their time, and this is the part that takes on real skill and thinking. Yes, as soon as you decide what to do, there are some skills related to figuring out how to do this (in the programming language of your choice). In most cases, this is a small part of the problem and the least open to things such as slippage, overspending, or outright rejection.

Most serious problems in software projects occur at a much earlier stage, in the part where you are simply trying to figure out what the system should do, what users should / should / can do, what things, what problems the system will (and will not) be try to solve, and so on. These are difficult problems and changing the environment to express a solution in some other way, so that the source code does exactly nothing to help any of these difficult problems.

For a more complete treatise on this subject, you might want to read No Silver Bullet - Essence and Accident in Software Engineering, Frederick Brooks (included on the 20th anniversary of the release of Mythical Man-Month). The whole article is essentially devoted to this issue: how important are the efforts associated with software development, and how random is the result of using the tools, environments, programming languages, etc. that we use. His conclusion was that there was no technology that gave any reasonable hope of increasing productivity by as much as one order of magnitude.

+9
source share

Do not question the decision to use 5GL, etc., but programming is difficult.

John Skeet - programming is difficult
Horror coding - hard programming

5GLs are now considered deadlocks for a while.

+4
source share

I am thinking of a family of products that include Ms Access, Excel, Clarion for DOS, etc. Where you can create applications with source code 0 and without programmers. Not that they can have AI quality , but they can make very convenient applications.

+2
source share

How about dabble db ?

Of course, just like MS Access and other programming platforms other than programmers, it has some necessary restrictions so that the user does not make him stuck ... as John noted, programming is difficult. But it gives the user a lot of energy, and it seems that most applications that non-programmers want to build are in any case database-type applications.

0
source share

All Articles