Veja como conviver e tirar o melhor proveito de linguagens antigas de programação que se mostram resilientes ao longo do tempo
Diante do aumento da demanda por serviços de TI, impulsionado pela pandemia do novo coronavírus e a aceleração da transformação digital, o número de manutenções corretivas e evolutivas de sistemas críticos baseados em linguagens de programação antigas e mainframe cresceu nas organizações. Só que isso, aliado à falta de mão de obra qualificada em linguagens como COBOL e mainframe, tornou-se um problema. De acordo com a pesquisa da Advanced Software, 9 de cada 10 grandes empresas se preocupam com a falta de profissionais de TI para manterem e gerenciarem seus sistemas legados críticos.
Primeiro, porque cada vez menos desenvolvedores são capazes de desenvolver em linguagens de programação antigas ou em mainframe. Quem está entrando no mercado não tem conhecimento suficiente porque as universidades não contam mais com cursos voltados para essas linguagens. Além disso, os programadores não têm mais interesse, apesar da demanda do mercado atual. Outro motivo: quem sabe, está saindo para a aposentadoria, levando o conhecimento consigo.
O resultado desse combo vem em dados como os da Forrester, que mostra que, em mainframe, organizações afirmam ter perdido 23% de sua força de trabalho nos últimos cinco anos sem conseguir realocar 64% dessa perda. 57% dos pesquisados têm mais da metade de seus workloads críticos em mainframe, e essa porcentagem vai aumentar para 64% em um ano. .
Neste artigo, vamos trazer o que as organizações que passam por esse mesmo desafio podem fazer a respeito e mostrar que é possível conviver com essas linguagens antigas de programação e tirar o melhor proveito delas.
Onde está o risco de falta de profissionais: quais as principais linguagens de programação antigas que as organizações ainda mantém
A importância das linguagens de programação antigas ficaram em evidência com a mudança de hábitos causada pela COVID-19, que teve como consequência o aumento da demanda por serviços digitais.
Entre as 7 principais linguagens de programação antigas mais utilizadas, segundo a pesquisa da Advanced Software, estão:
1. COBOL
Como muitos programas são escritos em COBOL, essa linguagem ainda permanece ativa nos dias de hoje. Uma das grandes vantagens da linguagem COBOL é que, comparada a outras, é a que tem a melhor documentação dos programas, devido a sua estrutura.
2. Assembler
Também definida como linguagem de montagem, essa linguagem surgiu nos anos 1950 e abriu as portas para a segunda geração de linguagem de programação, na época que os computadores ainda funcionavam a válvulas.
3. Natural
NLP (natural language processing) ou processamento de linguagem natural (PLN em português) é uma linguagem de quarta geração que traz diversos comandos de controle automático do fluxo do programa, além de editor de tela de fácil uso, programação de eventos, dentre outras funcionalidades.
4. ADS/Online
É uma ferramenta usada para agilizar a escrita e o teste de aplicativos modulares usando bancos de dados IDMS. Atividades como processamento de fluxo de controle, definição de armazenamento de dados, verificação de dados, edição, manipulação de erros, entrada e saída de terminais, criação de menu e exibição do menu são especificadas usando uma série de telas em vez de código detalhado convencional.
5. CA Gen
As primeiras versões suportavam o banco de dados DB2 da IBM , telas de ‘modo de bloco’ 3270 e código COBOL gerado. Nos anos seguintes, o conjunto de ferramentas foi expandido para oferecer suporte a técnicas de desenvolvimento adicionais, como o desenvolvimento baseado em componentes, criação de aplicações cliente / servidor e web e geração de C, Java e C #.
6. CA Telon
Originalmente concebido no final dos anos 70, o Teleton foi uma das primeiras ferramentas de engenharia de software auxiliada por computador (“CASE”) no mercado comercial. É um sistema de desenvolvimento de aplicativos, atualmente vendido e mantido pela CA Technologies.
7. PL/1
É uma linguagem de programação desenvolvida pela IBM em meados de 1960, com a intenção de ser utilizada em ciências, inteligência artificial e negócios. Com o surgimento de linguagens mais modernas, hoje tornou-se menos popular. Sua principal função é o processamento/manipulação de dados; suporta recursão e alocação dinâmica.
Saiba mais: Sistema legado: quando está na hora de reescrever?
Qual a perspectiva de futuro para as organizações que ainda dependem de mainframe
É seguro afirmar que ainda existe um conjunto razoável de empresas que usam mainframes, principalmente bancos, governos, seguradoras, companhias aéreas e empresas de TI.
De acordo com a pesquisa da Deloitte, cerca de 91% das empresas respondentes identificaram a expansão de suas áreas de cobertura de mainframe como uma prioridade moderada ou crítica nos próximos 12 meses.
Além de planos de expandir seus usos, 74% das empresas disseram que “acreditam que o mainframe tem viabilidade no longo prazo como uma plataforma estratégica para suas organizações”; e 72% planejam atualizações para seus mainframes nos próximos 3 anos.
As atualizações são para atender os aumentos esperados no uso em 3 áreas principais:
- Segurança (69%);
- Armazenamento (62%); e
- Software (61%).
Saindo do mainframe: boas práticas de migração
Por outro lado, a necessidade de agilidade e capacidade de resposta é um dos principais motivadores que estão fazendo organizações migrarem para fora do mainframe. E para atender essa demanda acelerada pela necessidade de transformação digital, a computação em nuvem pode ser uma solução.
Ao adotar uma abordagem cuidadosa e em fases para modernizar seu ambiente de mainframe, a empresa supera obstáculos comuns e aproveita algumas das vantagens da nuvem sem colocar a funcionalidade central em risco.
Para auxiliá-lo nesse processo, relacionamos abaixo 4 boas práticas para realizar essa migração de forma segura:
1. Evite conversões de uma hora para outra
Assim você manterá a continuidade dos negócios, a segurança das informações e o tempo de atividade.
2. Identifique casos de usos promissores
Dessa forma, você ganha em credibilidade e melhora a agilidade e a flexibilidade das suas operações.
3. Faça uma análise prévia profunda
Isso envolve um olhar atento sobre os profissionais, custos, pontos problemáticos, valor entregue e retorno sobre o investimento (ROI).
4. Crie uma base sólida para o ambiente
Desse modo permite que você identifique as estratégias de tratamento corretas para seus aplicativos de mainframe.
Leia também: Como customizar o software legado a fim de otimizar processos?
O que as organizações estão fazendo para se modernizar
Nos últimos meses, as organizações têm sido desafiadas a acelerar a adoção de novas tecnologias que deem suporte às operações.
O que temos acompanhado diante dos impactos da COVID-19 na inovação e transformação digital é que a modernização não é mais um desejo da TI, mas uma necessidade operacional.
Segundo dados da pesquisa da Advanced, mencionada acima, 78% das organizações já começaram ao menos um programa de modernização em razão da pandemia.
Para muitas, no entanto, isso não significará uma saída total do mainframe ou reescrita total de aplicações legadas. Mas foco numa conciliação entre modernização e legado. Em termos práticos, elas vão adotar as seguintes condutas:
1. Refatoração
Poucos lembram que linguagens como COBOL ainda são atualizadas. O mais comum é que, por funcionarem, mainframes são ignorados, deixado com pouca manutenção e renovação.
A modernização, nesse sentido, visa tirar os sistemas legados do isolamento, continuando a mexer neles, a fim de melhorar o entendimento do código, o que facilita a manutenção e evita a inclusão de defeitos.
2. Treinamento da equipe
A visão de que linguagens de programação antigas como COBOL são ultrapassadas e, por isso mesmo, muito complicadas para desenvolvedores jovens aprender é falsa, dada a amplitude de seu uso nas organizações, assim como do mainframe, que inclusive vem aumentado seu uso.
Daí a necessidade de continuar a treinar profissionais para escrevê-las e, mais que isso, para unir as vantagens que elas ainda representam em sistemas críticos a maneiras de facilitar a gestão das operações, como DevOps e agile.
Entenda: Software de prateleira ou personalizado: como saber qual é o ideal?
Linguagens de programação que sobrevivem ao tempo
Como vimos, algumas linguagens de programação antigas ainda são utilizadas até os dias de hoje em muitas organizações. No entanto, o grande desafio não é descartá-las e substituí-las, mas sim mantê-las junto com as linguagens de programação mais atuais e dentro de uma lógica de modernização.
Para isso, contar com empresas experientes em sustentação de sistemas críticos escritos em linguagens de programação antigas vai ajudar a garantir vida longa dessas soluções.
Se é esse parceiro que busca agora, isso, conte com a Supero. Entre em contato com um de nossos consultores especializados em soluções de TI e veja como trabalhamos com a customização de serviços para atender a necessidade do seu negócio.