De vez em quando alguém cria uma linguagem de programação de arrastar e soltar ou ferramenta de design que "põe um fim à programação como a conhecemos" e transforma todos os que a usam em programadores.
A razão pela qual nenhum deles realmente fez o trabalho até agora e nos colocou fora do trabalho é que, na verdade, não importa quanta funcionalidade de arrastar e soltar você criar e não importa o quão amigável você o faça, o simples fato é que a programação é difícil.
As disciplinas reais de programação são tanto sobre como resolver problemas, como modelar processos e organizar dados para serem utilizáveis. Mesmo entendendo o que é possível com um computador.
Há evidências (se controversas) que sugerem que algumas pessoas não podem ser ensinadas a pensar dessa maneira, o que me leva a alguns pensamentos interessantes e relevantes. Para começar, se você não consegue pensar dessa maneira, há muitos programadores por perto, então você sempre pode contratar alguém para implementar uma idéia, se você tiver uma e achar que vale a pena pagar. Se você puder trabalhar com a lógica de programação o suficiente, poderá aprender uma linguagem real, em vez de mexer com um ambiente relativamente simples de arrastar e soltar.
Estou pensando em programação geral aqui. O mesmo não se aplica necessariamente a um cenário de tipo DSL mais limitado, em que o recurso arrastar e soltar pode ser um usuário de processo realmente útil, especialista nesse domínio e não em TI.