Uploaded avatar of iHiD

É o Jurassic July!

@iHiD
há Aproximadamente 3 anos
Vídeo

Introduction

Olá. Bem-vindos. Espero que estejam todos bem.

Junho foi um mês grande no Exercism, com o lançamento do Premium e o nosso 10.º aniversário.

E espero que te tenhas divertido a brincar com Lisps durante o Summer of Sexps.

Agora vamos ao mês 7 de 2023 e ao nosso 6.º mês temático: Jurassic July.

O que queremos dizer com Jurassic?

Bem, não que estas linguagens estejam extintas, embora hoje em dia seja pouco provável que escrevas software novo em COBOL.

Mas são algumas das linguagens mais antigas, algumas com mais de 60 anos.

Foi escrito nelas uma quantidade incrível de software (sobretudo software empresarial).

São todas linguagens incrivelmente bem-sucedidas.

Então, quais são as linguagens? Vamos olhar para C, C++, COBOL, Fortran e Visual Basic.

Não vamos explorar C e C++ neste vídeo, porque já falámos delas no Mechanical March. Por isso, vê esse vídeo se estiveres interessado nessas linguagens. Mas vamos olhar para o COBOL, o Fortran e o Visual Basic dentro de momentos!

The badges

Obtém o badge completando 5 exercícios numa destas linguagens este mês.

E para o badge anual, tens de completar:

  • Bob: trabalhar com strings e lógica condicional
  • Allergies: trabalhar com strings, números e operações bit a bit
  • Reverse String: iterar sobre os carateres de uma string
  • High Scores: iterar sobre arrays de números
  • Armstrong Numbers: trabalhar com números e ciclos/iteração

Overviews

Fortran

  • Iniciada por John Backus, na IBM, na década de 1950, para desenvolver uma alternativa mais prática à linguagem assembly na programação do seu computador mainframe IBM 704

  • Concebida para ser boa a construir aplicações científicas e de engenharia (o nome é a abreviatura de Formula Translating System)

  • Primeira linguagem de programação de alto nível (reduz as 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 seu compilador conseguisse gerar código com um desempenho próximo do da linguagem assembly escrita à mão)

  • Linguagem de tipos estáticos e fortemente tipada

  • Inicialmente só suportava programação imperativa, mas pouco depois foi adicionada a programação procedural. Extensões posteriores acrescentaram suporte para outros paradigmas, como a programação orientada a objetos e a programação com arrays

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

  • Muito influente, do Basic ao ALGOL, e inspiração para muitas linguagens. Grande parte da investigação inicial sobre linguagens de programação tinha como objetivo ajudar a melhorar o Fortran

  • Continua a ser desenvolvida ativamente, com novas funcionalidades a serem adicionadas, mantendo ainda fortes garantias de retrocompatibilidade (o código antigo normalmente continua a compilar e a correr)

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

  • Gestão de memória segura através de variáveis alocáveis, em que o compilador é responsável por libertar a memória.

  • Interoperabilidade incorporada com C

COBOL

  • Concebida em 1959 pelo consórcio CODASYL (patrocinado pelo Departamento de Defesa dos Estados Unidos!) no sentido de reduzir os custos de desenvolvimento de aplicações empresariais (o nome significa Common Business-Oriented Language)

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

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

  • Linguagem de tipos estáticos

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

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

  • Boa retrocompatibilidade, com uma especificação estável. Testada e comprovada

  • Bom desempenho (usada no setor financeiro)

Visual Basic

  • Desenvolvida pela Microsoft como sucessora do Visual Basic, e corre 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. Isto significa que não será adicionada nova sintaxe à linguagem, mas continua a ser uma linguagem suportada

  • Partilha grande parte da sintaxe com o Visual Basic, mas foram feitas algumas alterações

  • Linguagem de tipos estáticos 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 concebido para ser fácil de aprender)

  • Excelente suporte para programação orientada a objetos

  • Corre no runtime .NET, testado e comprovado, com acesso a todas as bibliotecas .NET

  • Publicação fácil com o ClickOnce

Use cases

Fortran

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

COBOL

Muito usada no setor financeiro, com muitos sistemas financeiros ainda a correr, em grande parte, sobre software COBOL (estima-se que cerca de 80% das transações financeiras sejam suportadas por COBOL), embora hoje em dia seja sobretudo manutenção. Também é usada em muitas aplicações empresariais e até numa base de dados de chave/valor usada no Walmart.

Visual Basic

Usada para interfaces gráficas (por exemplo, interfaces para bases de dados) e sites gerados no servidor. Entre as empresas estão a Boeing, a Wells Fargo e a General Electric

How do they differ from a programming perspective?

Fortran

Inicialmente só suportava programação imperativa, mas pouco depois foi adicionada a programação procedural. Extensões posteriores acrescentaram suporte para outros paradigmas, como a programação orientada a objetos e a 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

Standout features

Fortran

  • Desempenho. A linguagem Fortran e os seus tipos de dados/estruturas de dados foram concebidos para serem eficientes, com um ótimo desempenho. É por isso que é usada em supercomputadores
  • Por predefinição, suporta muitas funções matemáticas
  • A programação com arrays é uma forma muito engenhosa de aplicar operações a arrays e a secções de arrays sem ter de fazer qualquer iteração manual nem especificar os limites dos arrays

COBOL

  • A aritmética de vírgula fixa não tem erros de arredondamento, ao contrário dos números de vírgula flutuante. Isto torna-a ótima para o setor financeiro
  • Ótima para ler e escrever em ficheiros (registos)
  • Suporte incorporado do COBOL para gerar relatórios (mais uma razão pela qual tem sido popular nas aplicações empresariais)

Visual Basic

  • Excelente para criar aplicações com interface gráfica usando Windows Forms. Editor WYSIWYG de arrastar e largar
  • Ótimo suporte de IDE, com refactorizações, conclusão automática de código e muito mais

Which to try?

  • Se estiveres interessado em computação científica ou alto desempenho, o Fortran é uma excelente escolha
  • Se quiseres ter uma ideia de como as aplicações empresariais costumavam ser construídas, o COBOL é ótimo
  • Se estiveres interessado em criar aplicações com interface gráfica ou já usares a plataforma .NET, o Visual Basic funciona muito bem
  • Se estiveres interessado na história da programação, o COBOL e o Fortran são dois percursos interessantes para explorar
Translation missing: pt-PT.number.nth.ordinalized Jul 2023 · Foi útil?