Uploaded avatar of iHiD

É o Jurassic July!

@iHiD
Aproximadamente 3 anos atrás
Vídeo

Introdução

Olá. Bem-vindo. Espero que esteja tudo bem com você. Junho foi um mês e tanto no Exercism, com o lançamento do Premium e o nosso aniversário de 10 anos. E espero que você tenha se divertido brincando com Lisps durante o Summer of Sexps. Agora vamos ao mês 7 de 2023, e ao nosso 6º mês temático: Julho Jurássico.

O que queremos dizer com Jurássico? Bem, não que essas linguagens estejam extintas, embora hoje em dia você dificilmente vá escrever software novo em COBOL. Mas são algumas das linguagens mais antigas, algumas com mais de 60 anos. Uma quantidade incrível de software (especialmente software corporativo) foi escrita nelas. Todas elas são linguagens incrivelmente bem-sucedidas.

E quais são as linguagens? Bem, estamos falando de C, C++, COBOL, Fortran e Visual Basic. Não vamos explorar C e C++ neste vídeo, porque já falamos sobre elas no Mechanical March, então dê uma olhada nesse vídeo se tiver interesse nessas linguagens. Mas vamos dar uma olhada em COBOL, Fortran e Visual Basic daqui a pouco!

As medalhas

Ganhe a medalha completando 5 exercícios em uma dessas linguagens neste mês. E para a medalha anual, você precisa completar:

  • Bob: trabalhe com strings e lógica condicional
  • Alergias: trabalhe com strings, números e operações bit a bit
  • String Reversa: itere sobre os caracteres de uma string
  • Maiores Pontuações: itere sobre arrays de números
  • Números de Armstrong: trabalhe com números e laços/iteração

Visões gerais

Fortran

  • Criada por John Backus na IBM, na década de 1950, para desenvolver uma alternativa mais prática à linguagem de montagem para programar o computador mainframe IBM 704

  • Projetada para ser boa na construção de aplicações científicas e de engenharia (o nome vem de Formula Translating System)

  • Primeira linguagem de programação de alto nível (reduz o número de linhas de código em cerca de 20 vezes)

  • Também o primeiro compilador otimizador (os clientes relutavam em usar uma linguagem de programação de alto nível, a menos que o compilador dela conseguisse gerar código com desempenho próximo ao de uma linguagem de montagem escrita à mão)

  • Linguagem de tipagem estática e forte

  • Inicialmente suportava apenas programação imperativa, mas a programação procedural foi adicionada logo depois. Extensões posteriores adicionaram suporte a outros paradigmas, como programação orientada a objetos e programação com arrays

  • Padronizada, primeiro em 1966, com o Fortran 66, e atualizada pela última vez em 2018!

  • Muito influente, de Basic a ALGOL, serviu de inspiração para muitas linguagens. Boa parte da pesquisa inicial sobre linguagens de programação tinha como objetivo ajudar a melhorar o Fortran

  • Continua em desenvolvimento ativo, com novos recursos sendo adicionados, e ao mesmo tempo mantém fortes garantias de compatibilidade com versões anteriores (código antigo geralmente ainda compila e roda)

  • Paralelismo integrado usando coarrays, um método seguro e eficiente de expressar paralelismo. Funções podem ser marcadas como puras, o que ajuda o compilador a otimizar para computação paralela

  • Gerenciamento de memória seguro usando variáveis alocáveis, em que o compilador é responsável por liberar a memória.

  • Interoperabilidade integrada com C

COBOL

  • Projetada em 1959 pelo consórcio CODASYL (patrocinado pelo Departamento de Defesa dos EUA!) em um esforço para reduzir os custos de desenvolvimento de aplicações de negócios (o nome vem de Common Business-Oriented Language)

  • Tornou-se um padrão em 1968, com a revisão mais recente de 2014

  • Diferentes implementações, como IBM COBOL, GnuCOBOL (que compila para C) e Micro Focus™ Visual COBOL, que roda tanto na JVM quanto no runtime .NET

  • Linguagem de tipagem estática

  • Multiparadigma, suporta programação imperativa e orientada a objetos

  • Sintaxe verbosa (muitas palavras-chave), mas muito legível para humanos. Isso favorece a legibilidade e a manutenção

  • Boa compatibilidade com versões anteriores, com uma especificação estável. Amplamente testada na prática

  • Bom desempenho (usada no setor financeiro)

Visual Basic

  • Desenvolvida pela Microsoft como sucessora do Visual Basic, rodando no runtime .NET (o sufixo .NET foi abandonado depois do Visual Basic 2003)

  • A primeira versão foi lançada em 2002 e a linguagem foi marcada como "estável" em 2023. Isso significa que nenhuma sintaxe nova será adicionada à linguagem, mas ela ainda é uma linguagem com suporte

  • Compartilha em grande parte a sintaxe com o Visual Basic, mas algumas mudanças foram feitas

  • Linguagem de tipagem estática que suporta tipagem forte e fraca

  • Linguagem multiparadigma: principalmente orientada a objetos, mas também programação imperativa e orientada a eventos

  • Fácil de aprender (o Visual Basic foi projetado para ser fácil de aprender)

  • Excelente suporte para programação orientada a objetos

  • Roda em um runtime .NET já testado e comprovado, com acesso a todas as bibliotecas .NET

  • Implantação fácil com o ClickOnce

Casos de uso

Fortran

Usada em cenários de computação de alto desempenho (supercomputadores), como previsão do tempo, astronomia e engenharia estrutural. Também é usada em softwares CAD e muitas aplicações são construídas sobre o FORTRAN, por exemplo, vários módulos do NumPy usam bibliotecas do FORTRAN 77

COBOL

Muito usada no setor financeiro, com muitos sistemas financeiros ainda rodando, em grande parte, sobre software em COBOL (estimativas dizem que cerca de 80% das transações financeiras são processadas por COBOL), embora hoje em dia seja principalmente manutenção. Também é usada em muitas aplicações de negócios e até em um armazenamento de chave/valor usado no Walmart.

Visual Basic

Usada para GUIs (por exemplo, interface com bancos de dados) e sites gerados no servidor. Entre as empresas estão Boeing, Wells Fargo e General Electric

Como elas se diferenciam do ponto de vista de programação?

Fortran

Inicialmente suportava apenas programação imperativa, mas a programação procedural foi adicionada logo depois. Extensões posteriores adicionaram suporte a outros paradigmas, como programação orientada a objetos e programação com arrays

COBOL

Multiparadigma, suporta programação imperativa e orientada a objetos

Visual Basic

Linguagem multiparadigma: principalmente orientada a objetos, mas também programação imperativa e orientada a eventos

Características de destaque

Fortran

  • Desempenho. A linguagem Fortran e seus tipos de dados e suas estruturas de dados são projetados para serem eficientes e ter ótimo desempenho. Por isso é usada em supercomputadores
  • Por padrão, oferece suporte a muitas funções matemáticas
  • A programação com arrays é uma forma muito elegante de aplicar operações em arrays e em trechos de arrays sem precisar fazer nenhuma iteração manual nem especificar os limites do array

COBOL

  • A aritmética de ponto fixo não tem erros de arredondamento, ao contrário dos números de ponto flutuante. Isso a torna ótima para o setor financeiro
  • Ótima para ler e escrever em arquivos (registros)
  • Suporte integrado do COBOL para gerar relatórios (mais um motivo pelo qual ela é popular em aplicações de negócios)

Visual Basic

  • Excelente para construir aplicações com GUI usando Windows Forms. Editor WYSIWYG com arrastar e soltar
  • Ótimo suporte de IDE, com refatorações, autocompletar código e muito mais

Qual experimentar?

  • Se você se interessa por computação científica ou alto desempenho, o Fortran é uma excelente escolha
  • Se você quer ter uma ideia de como as aplicações de negócios costumavam ser construídas, o COBOL é ótimo
  • Se você tem interesse em construir aplicações com GUI ou já está na plataforma .NET, o Visual Basic funciona muito bem
  • Se você se interessa pela história da programação, COBOL e Fortran são duas ótimas trilhas para conhecer
01 de julho de 2023 · Achou útil?