A Futilidade da Codificação

Glenn Johnson – Senior Vice President – Magic Software Americas

“Insanidade: fazer a mesma coisa repetidamente e esperar resultados diferentes.” – Albert Einstein

A Codificação Falha. Projetos de programação de computador são conhecidos por suas taxas de insucesso e muitos destes problemas podem ser ligados ao grande esforço necessário para escrever um programa que funcione. As empresas rotineiramente tentam resolver problemas de negócios, pela escrita de milhões de linhas de código de computador. As pessoas em um departamento de TI que são realmente capazes de programar são raras.

Fraquezas do Java. Há todos os tipos de deficiências na codificação. Por exemplo, é sabido que um programa Java pode ser sintaticamente correto, mas ainda não compila devido a erros relacionados com a semântica da linguagem.

Fraquezas do Visual Studio .NET. E a própria Microsoft admitiu que “a maioria das linguagens não suporta a compatibilidade binária com tudo, e muitas pouco fazem para facilitar a compatibilidade do fonte. De fato, algumas linguagens contêm falhas que tornam impossível, em geral, a evolução de uma classe ao longo do tempo sem afetar pelo menos algum código de cliente. ”

Pouquíssimas pessoas conseguem codificar. Em seu artigo amplamente lido “Why Johnny Can’t Program” Dan Bricklin sugere que: “Apesar das enormes mudanças que ocorreram desde que a computação eletrônica foi inventada na década de 1950, algumas coisas permanecem obstinadamente iguais. Em particular, a maioria das pessoas não pode aprender a programar: entre 30% e 60% das matrículas nos departamentos de ciência da computação de cada universidade falham no primeiro curso de programação. Professores experientes estão cansados, mas nunca esquecem esse fato; novatos empolgados que acreditam que os antigos devem ter feito errado aprendem a verdade da experiência amarga, e assim tem sido durante quase duas gerações, desde que o tema começou na década de 1960 “.

Mas muita gente pode programar. Bricklin aponta para o livro The Design of Everyday Things, de Don Norman, para sugerir que os princípios do bom projeto sugerem que você precisa de 1) um modelo logicamente consistente, 2) a capacidade de ver o que você está fazendo, e 3) feedback claro entre ações e reações de maneira que exista feedback permanente.

A futilidade da codificação. A programação tradicional falha em pelo menos dois pontos. Dependendo da linguagem, pode-se argumentar que se segue um modelo logicamente consistente. Mas não há claramente nenhum relacionamento visível entre código de terceira geração e a interação entre o programa de computador propriamente dito. Em linguagens que exigem compilação, também não há feedback contínuo. A necessidade da maioria dos programas 3GL e 4GL de executar verificação e depuração de erros de programas antes da compilação é uma evidência clara de como o ciclo de feedback realmente é quebrado.

Uma abordagem para o desenvolvimento sem codificação. Compare isso com uma plataforma de aplicativos como o uniPaaS que permite a utilização de menus, drop-downs, caixas de diálogo e desenho de formulários. É muito mais fácil ver o que você está fazendo neste tipo de abordagem. Não é apenas mais fácil de ver porque é legível, é também fácil de ver porque há menos instruções necessárias. A aplicação uniPaaS aproveita as capacidades nativas da própria plataforma, que encapsula recursos que de outra forma teriam que ser escritos e mostrados como milhares de linhas de código.

Além disso, o uniPaaS prevê a execução imediata do programa, ainda no ambiente de estúdio. O paradigma orientado a tabelas do uniPaaS resulta em programação de computador que oferece resultados instantâneos. O que se segue à invocação de um programa baseado em tabelas é um processo interativo de refinamento. E o modelo baseado em repositório do uniPaaS é muito forte conceitualmente. Os dados, a lógica e as camadas de interface do usuário de um aplicativo são bem organizados e facilmente manipulados. Processos complexos que são difíceis de visualizar devido ao número de etapas complexas inter-relacionadas, tais como o projeto de um Web Service, são gerenciados por um programador uniPaaS através da utilização de assistentes que fornecem uma abordagem de diálogo clara que elimina a necessidade de ler e escrever detalhadas instruções codificadas.

Explorando uniPaaS. Para ver um bom exemplo de uma interação possível com uma aplicação uniPaaS RIA, veja o uniPaaS RIA demo. Para fazer o download do uniPaaS Discovery e de um treinamento de auto-estudo, visite a área de downloads uniPaaS. Como sempre, os recursos de desenvolvimento para uniPaaS estão disponíveis no website devnet.magicsoftware.com

And So You Code…

Deixe um comentário

O seu endereço de e-mail não será publicado.