Além do software legado, existem razões para usar o COBOL?


11

COBOL ainda é (fortemente?) Usado para computação financeira. É uma linguagem antiga, e a maioria dos programadores do AFAIK odeia, ou pelo menos não gosta, do COBOL. Isso traz uma pergunta: é a única razão pela qual o COBOL ainda é usado pelo software legado, ou tem alguma vantagem real sobre outras linguagens de programação?

Apenas curioso.


3
Velho não é uma razão por si só.

Não, mas provavelmente não possui recursos modernos por causa disso. Isso não é tão importante, se a linguagem for bem projetada.
Anto

Também ainda é muito usado no governo, não apenas no setor bancário.
precisa saber é o seguinte

6
"a maioria dos programadores odeia COBOL" - bem, eu tenho certeza que a maioria dos programadores também nunca o usou. Eu ficaria surpreso se mais de 5% desses "inimigos" tivessem alguma idéia de sua sintaxe ou forma. Eles apenas o usam como um exemplo do mal dos sistemas legados sem realmente saber o que está acontecendo. Semelhante à forma como o FORTRAN é frequentemente considerado.
TZHX

@TZHX: Toda a citação deve ser "AFAIK que a maioria dos programadores odeia, ou pelo menos não gosta, COBOL". Não estou dizendo que é assim, é exatamente como interpretei a situação. Mas o que você diz pode ser verdade, mas eu não sei o suficiente para dizer qualquer coisa, tudo o que usei foram observações pessoais sobre as opiniões das pessoas (que podem sofrer exatamente o que você disse).
Anto

Respostas:


12

É principalmente legado agora. Muitos sistemas críticos de negócios ainda estão no COBOL simplesmente pelo fato de serem tão grandes e integrados que o custo da reescrita não parece valer a pena. Escrever um novo sistema no COBOL provavelmente não é mais viável, pois a maioria dos desenvolvedores do COBOL é tão escassa que pode atrair uma quantia considerável de dinheiro para a habilidade especializada (semelhante a um desenvolvedor do Foxpro agora). Existem poucas ou nenhuma razão para manter um aplicativo COBOL por perto, mas infelizmente o raciocínio comum é quando o aplicativo COBOL já está no local, é confiável e está fortemente associado a outros sistemas para onde é quase impossível substituí-lo. Esse raciocínio é exatamente o motivo pelo qual ele deve ser substituído antes de chegar a uma situação em que o único hardware que executa o aplicativo precisa ser construído de forma personalizada a partir de peças do Ebay dos anos 80/90.


O que faz você dizer "Agora é principalmente legado"? Eu não acho que você realmente saiba do que está falando. Estou trabalhando em um novo projeto COBOL multimilionário no momento. Também conheço vários outros grandes projetos de desenvolvimento que usam COBOL como sua principal linguagem de implementação. A ilusão de sua parte não a torna realidade.
NealB 17/10

11
Não tire isso de mim. Pesquisa de O'Reilley diz que as vendas de livros da Cobol são quase inexistentes em comparação com todos os outros idiomas. Isso ocorre porque há falta de interesse dos desenvolvedores ou não há desenvolvedores suficientes usando-os. Tenho certeza de que você pode encontrar um novo desenvolvimento usando COBOL, mas ainda é MUITO LEGAL (nem todo legado). Tenho certeza de que alguém como você, especialista em COBOL, teria conexões com outras pessoas que usam apenas COBOL também. Assim como seria comigo, apenas ter amigos que usam um idioma não significa que eu não sou a minoria.
Ryan Hayes

Na nossa empresa, copiamos / colamos o código existente, o ajustamos para atender às nossas necessidades e dizemos "pronto". Felizmente eu tenho que fazer o meu desenvolvimento em C # / VB
Wayne Werner

4

COBOL ainda é (fortemente?) Usado para computação financeira.

É isso?

Depende do que você chama de computação financeira. Se você chamar todo o código que é executado pelas instituições financeiras, sim, provavelmente é. A maioria tem regras de negócios escritas nos anos 60 e 70. O risco + custo de atualizar sistemas como esse para um novo ambiente não vale a pena. Duvido que haja alguém por aí escrevendo o novo código COBOL. Atualmente, existem compiladores COBOL que se integram à pilha do .NET, por exemplo. Freqüentemente, existem ferramentas para integrar e alavancar aplicativos herdados em pilhas de software modernas, mas essas ferramentas geralmente são desconhecidas para as pessoas que não precisam usá-las, uma vez que é um mercado muito específico.

Agora, se você chamar a computação financeira de algo mais parecido com software para finanças quantitativas, nunca ouvi falar de alguém usando COBOL. C ++ é muito mais comum, em algumas linguagens de nicho como k, um derivado de APL.


kE é descendente qsão de tal dor
Andrey

@ Andrew É uma questão de gosto. Eu gosto disso.
Vitor Py

sorte sua. Um dos maiores problema para mim é a falta de IDE normal e mensagens de erro inúteis
Andrey

2
@ Andrew Sim, afastar-se do ambiente de desenvolvimento convencional é o maior problema ao usar idiomas de nicho. Eu costumava fazer modelo pesado C ++ código antes de usá-lo por isso estou um pouco usado para mensagens de erro inúteis :)
Vitor Py

@ Andy, a IBM possui ferramentas baseadas em Eclipse para Cobol.

4

COBOL vê principalmente o uso de legado agora. Sua base de usuários está diminuindo lentamente por atrito, já que nenhum novo aplicativo está sendo escrito e os antigos, lenta mas seguramente, são eliminados.

A maioria dos sistemas COBOL que poderiam ser substituídos de maneira rápida e barata, já foram substituídos. Os que não têm, continuam se tornando cada vez mais caros para consertar ou substituir, mas mais baratos e mais baratos para manter em relação aos sistemas mais novos - eles funcionam bem em hardware barato e desatualizado e, após muitos anos de serviço, não são mais adequados. mais mostrando novos bugs. A maioria dos bugs foram corrigidos ou têm tradições de longa data que se encaixam como soluções alternativas. A manutenção normalmente é reduzida para um ou dois funcionários especializados que, depois de muito tempo trabalhando no sistema, o conhecem mais intimamente do que você pode imaginar.

Mesmo de uma perspectiva técnica, geralmente existem algumas razões sólidas para manter os sistemas antigos por perto. Eles são relativamente estáveis, foram corrigidos principalmente por erros e são bem conhecidos / compreendidos pelo usuário final.

Você verá o sistema sendo substituído eventualmente. Normalmente, esse movimento vem do lado comercial:

  • Os usuários do sistema atual são substituídos por usuários mais jovens, que não podem ser convencidos a aprender como usar a interface arcaica
  • A empresa não consegue encontrar alguém para contratar para manter o sistema, com um salário que não é escandaloso comparado ao salário de outros funcionários
  • Alguém com um grande orçamento fica constrangido ao descobrir que um sistema principal da empresa está sendo executado em hardware que pode ser substituído por uma VM em um laptop
  • Um novo sistema de mercadorias surge, o que é realmente muito barato para começar a usar
  • A empresa que utiliza os sistemas mais antigos é adquirida, vai à falência ou deixa de existir
  • Uma parte crucial da nova funcionalidade necessária com urgência não pode ser feita de maneira barata para interagir com o sistema legado

2
Qual é a sua base para ter tanta certeza?

Eu posso enfaticamente afirmar que sua certeza está equivocada - temos várias contratações mais jovens (20 a 30 anos) escrevendo o novo código Cobol (atualizando e / ou copiando e modificando os sistemas existentes) e temos pelo menos 10% de nossos ~ 200 desenvolvedores que gastam 80% + do seu tempo de desenvolvimento em Cobol. Eu acho que você descobriria que a maioria dos lugares que usam Cobol é exatamente o oposto do que você descreve.
Wayne Werner

4

pergunto o que você quis dizer com "a maioria dos programadores". Trabalho em uma grande loja de TI no mesmo andar de programadores cobol, programadores Java, programador .NET (no singular), programadores VB de estilo antigo. Não há ódio ou aversão. cobol é uma linguagem como qualquer outra linguagem de programação - as pessoas que fazem a programação no cobol fazem isso porque lhes é um trabalho que não é diferente de programar em java ou dirigir um caminhão. Ao contrário da concepção popular nos EUA, ainda há muita coisa a ser escrita, apenas a maior parte é na Índia, onde todos os dias novos programadores da Cobol começam a trabalhar.

Penso que a razão pela qual não são criados muitos sistemas novos em rede no Cobol é porque o tipo de sistema para o qual o cobol é adequado (processamento de arquivos de grande volume) já está escrito. Atualmente, poucas empresas grandes são criadas. E os que fazem isso podem terceirizar coisas como folha de pagamento e benefícios para empresas que executam sistemas cobol herdados.


2

Uma grande parte do código principal do PeopleSoft está escrita em COBOL.


Sou capaz de entender, conversando com os representantes da PeopleSoft em uma conferência de TI em 2004 antes da aquisição da Oracle, que era naquele momento apenas um módulo do produto que ainda estava no COBOL.
Kennah

Como isso dá uma vantagem ao COBOL em relação a outros idiomas?
Matthieu

2

Com 20 anos de experiência em COBOL, em três mainframes diferentes, é minha humilde opinião que existem poucos programadores COBOL verdadeiros e, em vez disso, existem programadores IBM, programadores Sperry (Unisys 2200), programadores Burroughs (Unisys MCP) e Tandem (HP NonStop) programadores. Em uma demonstração de respeito a eles, também devo mencionar a presença de programadores HP 3000, programadores BULL e programadores DEC.

COBOL é executado em grandes caixas de ferro, na maior parte. Talvez os únicos programadores COBOL verdadeiros, pelos meus próprios padrões, sejam aqueles que escrevem COBOL em uma caixa UNIX. Uau, eu vou ouvir sobre isso.

Como o hardware é a peça central, a maioria dos programadores que escrevem COBOL se identificam pelo hardware no qual o código que escrevem é executado. Ao longo dos anos, ouvindo outros programadores me falarem sobre os méritos de Sperry, Burroughs ou Tandem, sempre me perguntei que tipo de guerra aconteceria se eu os reunisse e os colocasse em uma sala juntos, incapazes de sair até que eles concordou com uma plataforma de hardware para todos os COBOL. Eu não mencionei as outras plataformas porque nunca trabalhei nelas.

Eu conheci e conversei com muitos programadores IBM, e eles se referirão a si mesmos como programadores COBOL. No entanto, se alguém os envolver na conversa, eles rapidamente começarão a se referir a procedimentos e ferramentas específicos da IBM. Dada a natureza centrada em hardware do COBOL, isso é muito compreensível para todas as plataformas de hardware.

Como o COBOL geralmente está vinculado a um hardware muito caro, contanto que esse hardware execute os programas COBOL compilados nele, não há um forte desejo de migrar do COBOL por causa da migração. No entanto, com o envelhecimento da população de programadores COBOL, a migração é inevitável.

Como todas as grandes caixas de ferro que executam o COBOL também executam o Java, o Java é o caminho natural da migração para longe do COBOL. O código pode ser convertido, principalmente agora em uma economia em baixa, por um preço bastante econômico. Uma vez que não existe COBOL, apenas Java, nessa peça de hardware cara e cara, alguém da organização começa a se perguntar se é possível mover o código Java para outra peça de hardware muito menos cara.

Os programadores da IBM, Sperry, Burroughs e Tandem sabem disso, portanto provavelmente nunca oferecerão a idéia. Seria um sacrilégio para alguns.


+1, muito caro mesmo. Além disso, ressaltei que o Java está se tornando o New Cobol - que eu já me vi e sou apenas um jovem fanfarrão, por isso é interessante ver alguém com experiência fazer a mesma observação.
Wayne Werner
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.