Notícias

Algumas considerações sobre o "software que escreve código", seu futuro e seu impacto nos negócios

Depois de mais de 25 anos de GeneXus desenvolver e comercializar um produto que, entre outras coisas, escreve código, começam a aparecer pontos de vista sobre a importância de escrever software de forma automática.


Por Breogán Gonda

Em particular, me inspira escrever sobre este assunto, o artigo publicado em Info Technology, sob o título "El software que escribe código cambiará el guión de la tecnología?", retirado do artigo original publicado pelo Financial Times e assinado por Richard Newton[i].

É possível escrever automaticamente um software que uma organização em particular precisa: SIM.

É suficiente escrever o software automaticamente: Não, mas é um bom começo.

O cliente precisa e exige uma maior flexibilidade e liberdade no desenvolvimento de software, juntamente com uma forte redução de custos e tempo, por isso é essencial fazer mais algumas coisas:

Manutenção automática. A manutenção pode e deve ser automatizada. Se fazemos isso,  economizamos custos significativos na forma de tempo, dinheiro e introdução de novos erros.

MultiPlataforma. No mundo de hoje, e mais no futuro previsível, é necessário trabalhar com múltiplas plataformas e suas combinações: Sistemas Operacionais, Linguagens de Programação, Sistemas de Gestão Bases de dados, dispositivos, arquiteturas, Nuvens, Internet das Coisas, Big Data, etc.

Documentação integrada e ativa.

Prototipação ágil e funcionalmente completa. Ajuda muito para encontrar os erros de análise de forma conveniente, e quando os corrige não tem custos significativos.

"Futureproofing". É necessário que os sistemas de hoje possam facilmente evoluir de acordo com as necessidades de negócios e novas tecnologias disponíveis para facilitarem a inovação contínua.

O futuro dos negócios e a tecnologia. Qual é o futuro? Quais são as necessidades futuras do negócio? Quais são as novas tecnologias disponíveis? Difícil dizer, mas aumentarão constante e rapidamente. Já hoje, existem fortes necessidades não satisfeitas e muita tecnologia disponível, que é pouco utilizada, ou de forma rudimentar.

Em um ambiente de desenvolvimento manual, a adaptação dos programadores às novas tecnologias é lenta e faz com que a adoção destas novas tecnologias demore muito tempo. Tudo isso vai ser aumentar ao longo do tempo, de forma acelerada.

É necessário que as empresas foquem os excelentes recursos humanos que possuem - que são sempre escassos - para compreender os problemas dos negócios e não em tarefas de baixo valor agregado, repetitivos, tediosos e cheio de erros, como escrever código manualmente.
O bom uso de ferramentas automatizadas de desenvolvimento e manutenção do sistema é uma grande necessidade.

Sem dúvida, o software que escreve código irá alterar o script da tecnologia.

Por que alguns produtos que escrevem código no início foram bem sucedidos, mas depois falharam?

As causas podem ser múltiplas: Oscilação do mercado, advento de novas tecnologias que requerem investimentos pesados, erros financeiros, etc. No entanto atrevo-me a pensar que as causas fundamentais são decisões tecnológicas muito conservadoras, muito ligadas a elementos de baixo nível como arquivos, mecanismos de acesso, sistemas operacionais, linguagens, etc. ou até mesmo hardware.

Meu pensamento é que se atuamos em elementos específicos de baixo nível provavelmente podemos no início se mover mais rápido. A medida em que o ambiente se complica ou se sofistica devemos suportar novas necessidades, arquiteturas e tecnologias ou começamos a ter grandes dificuldades. Esta é na minha opinião a razão pela qual algumas empresas colegas foram bem sucedidas num primeiro momento e com o tempo falharam.

O que fazemos em GeneXus?

Na década de 80, nos deparamos com o problema do desenvolvimento e manutenção de software com generalidade e rigor, a fim de que - para resolvê-lo automaticamente – passamos a usar métodos e ferramentas de matemática, lógica e inteligência artificial.

Há muitos anos GeneXus escreve e mantém automaticamente todo o software necessário para os  sistemas de negócios, principalmente de missão crítica, de muitas empresas de qualquer atividade e tamanho. Hoje, GeneXus é utilizado em mais de 50 países e tem ao seu redor uma comunidade mais de 120.000 desenvolvedores que realizam seu trabalho profissional plenamente com ele.

Qual é o diferencial? O que conseguimos? Algo conceitualmente muito concreto: uma boa gestão automática do conhecimento dos sistemas de negócios. Criar e manter sistemas automaticamente é simplemente um subproduto.

[1] Newton, Richard. “Will software that writes code alter tech’s script?”.http://www.ft.com/cms/s/0/6c6ccace-521d-11e5-b029-b9d50a74fd14.html. Último acesso: 24 de Fevereiro de 2016