Você está na página 1de 13

TEMA DO TRABALHO: Linguagens Cobol, Hack e Scala

CADEIRA: Paradigmas de Programção

CURSO: Informática de Sistemas

TURMA: ISD2A

ANO LECTIVO: 2022 – 4º Semestre·

ESTUDANTES:

 Aerson Marciano Guambe


 Nicole de Lurdes Banze
 Rosa da Felicidade

DOCENTE: Mohammad Lorgat


Indice
Introdução

Neste presente trabalho, segundo a pesquisa iremos abordar assuntos que visam a Linguagens
de programação, especificamente as linguagens Cobol, Hack e Scala.

A linguagem Cobol tem como visão a área de negócios pois ela é orientada a negócios, uma
linguagem não muito popular, que o seu uso é complexo visando que a linguagem não possuí
uma biblíotecas.

A linguagem Hack apresenta vários recursos típicos de linguagens compiladas e com tipos


estáticos, mas ao mesmo tempo permite o uso e convivência com variáveis, retornos e
parâmetros com tipos dinâmicos, típicos de linguagens interpretadas. As técnicas para
permitir essa convivência harmônica demonstram ser bastante eficazes, apesar da
complexidade adicional que agregam.

A linguagem Scala que tem como visão a paradigmas orientados a objectos e programação
funcional possuíndo várias bibliotecas desenvolvidas para oferecer suporte ao desenvolvedor.
A linguagem pode ser utilizada em meio acadêmico para disciplinas de paradigma de
programação, já que é uma linguagem multiparadigma e por seu suporte ao paradigma
funcional
Objectivos

Objectivo Geral

 Abordar acerca das linguagens Cobol, Hack e Scala.

Objectivo Específico

1. Conceituar a linguagem Cobol e a História da linguagem;


1.1. Enumerar as funcionalidades e a estrutura de um programa Cobol;
2. Conceituar a linguagem Hack e a História da linguagem;
2.1. Enumerar os princípios do surgimento de uma linguagem hack e as
características;
3. Conceituar a linguagem Scala e a História da linguagem;
3.1. Enumerar a surgimento e as necessiades de uma linguegem Scala.
Linguagem COBOL

COBOL é a abreviação de Common Business Oriented Language (Linguagem comum


orientada para negócios).

É uma linguagem simples e inteiramente procedural, que não possui suporte a diversos
recursos que as actuais linguagens de alto nível possuem como variáveis locais,
recursividade, alocação dinâmica de memória e programação estruturada ou orientada a
objecto. Seu aprendizado é difícil, já que, por não possuir bibliotecas, possuí um número
extenso de palavras reservadas. Nas revisões sofridas pela linguagem, muitas dessas funções
foram implementadas.

História do COBOL

COBOL Foi desenvolvida em 1959 por um grupo chamado CODASYL Committee.


Conference on Data Systems Languages, era formado por representantes de instituições
acadêmicas, grupos de usuários e fabricantes de computadores. O principal objectivo foi
desenvolver uma linguagem padrão adequada ao uso comercial para qual todos os grandes
fabricantes forneciam compiladores.

O Departamento de Defesa dos Estados Unidos da América convocou essa conferência


porque, assim como outras agências governamentais, não estava satisfeito com a falta de
padrão no campo computacional.

A primeira especificação do COBOL é apresentada na primeira metade de 1959 por Grace


Hopper, almirante da marinha americana e uma das pioneiras no desenvolvimento de
linguagens de programação, durante um evento de informática na Universidade da
Pensilvânia (EUA).

Após este evento, o departamento de defesa americano decidiu patrocinar e assumir o projeto,
criando três comitês (de curto, médio e longo prazo) para criar uma especificação oficial para
a linguagem, a fim de viabilizar o uso de uma linguagem comum voltada para negócios.

Funcionalidades de COBOL

COBOL é uma linguagem muito controversa no mundo da informática. Embora seja muito
boa para executar operações em lote (batch operation), sua estrutura não permite o
desenvolvimento de aplicações interactivas e nem voltadas para Web. Perante os
desenvolvedores é considerada uma linguagem obsolecta e inferior, um vestígio da idade
média da computação.

COBOL hoje em dia é utilizado para escrever programas que permitem a reutilização e
suporte de sistemas antigos em novos mainframes, eliminando a necessidade de desenvolver
novos sistemas e cortando custos com isso. Ao migrar programas COBOL para Windows,
Unix ou sistemas distribuídos, os programas permanecem em COBOL porque é a solução
mais barata e menos arriscada para a integridade e confiabilidade do sistema.

Estrutura e regras de um programa COBOL

A COBOL possui a fama de ter uma estrutura extremamente rígida e limitada, o que exige do
programador muita atenção a detalhes que não deveriam interferir directamente no objetivo
final do programa. Porém, a linguagem tem evoluído bastante e se tornou mais flexível no
que diz respeito às regras de codificação.

Regras de codificação

Colunas Definição
1a6 Uso da Linguagem
7 Reservada. Um asterisco nessa coluna e ignora a linha toda
8 a 11 Área A. Aqui vão as DIVISIONS, SECTIONS,
PARAGRAFOS, e os níveis 77, 78 e 01
12 a 72 Área B. Os comandos propriamente ditos devem ficar nessa
área.

Um programa COBOL consiste em quatro divisões básicas:

 Identification Division: É a parte do programa na qual se fornece informações sobre


o programa, tais como nome do programa, autor, comentários do autor e informações
de uso para o usuário final.
 Enviroment Divisiom: É a parte que faz a interface do programa com o ambiente
operacional, possibilitando a obtenção e gravação de dados em arquivos em uma
unidade de armazenamento físico.
 Data Division: É a seção na qual se declaram as variáveis, as constantes e todos os
tipos de dado que irão alocar memória no decorrer do processo.
 Procedure Division: É a seção na qual se colocam os procedimentos que manipulam
os dados contidos na Data Division. Esta divisão possui uma estrutura hierárquica
dividida em seções, parágrafos, sentenças e comandos. Todo programa COBOL deve
conter pelo menos um parágrafo, uma sentença e um comando.

Variáveis em COBOL

COBOL não possui tipos definidos de variáveis. Todas as variáveis em COBOL são
expressas em “Picture clause”.

Picture clause

É um elemento em programação utilizado para descrever um tipo de dado, utilizando


caracteres simples que indicam o tipo de item contido na variável e o seu tamanho.

Uma “picture clause” é feita de vários caracteres de formato, cada um dos quais representa
uma porção dos dados. Cada caractere de formato pode se repetir ou vir acompanhado de um
número indicativo de repetição, o qual especifica o número de vezes que o item formatado
ocorre na variável de dados.

Declaração de variáveis

Todas as variáveis e constantes utilizadas devem ser declaradas dentro da DATA DIVISION
e nas seções corretas, de acordo com as suas finalidades no programa. Toda variável deve ser
declarada da seguinte forma:

<Número de nível> <Nome da Variável> <Picture Clause>


Linguagem HACK

A Hack é uma linguagem de programação lançada em 2014, Criada pela equipe do Facebook
para a criação da linguagem Hack de código aberto sob licença BSD, para a máquina virtual
HipoHop e que interopera sem problemas com PHP. A Hack concília o ciclo de
desenvolvimento rápido da PHP com a disciplina provida pela definição de tipos de forma
estática e permite emprego gradual, adicionando muitas características comumente
encontradas em outras linguagens modernas.

História do Hack

A Hack foi criada a partir da extensão da linguagem PHP, introduzindo tipos definidos
estáticamente através do conceito de anotação de tipos (type annotation, em inglês). Devido
aos tipos definidos o analisador da máquina virtual HipHop pode detectar erros de
programação durante o processo de checagem de código ainda em tempo de
desenvolvimento.

Hack é uma proposta de conversão gradativa e evolútiva as premissas do projecto da


linguagem. Definido que seria necessário suportar características de PHP que não são comuns
em linguagens de tipos definidos de forma estática.

Hack é uma mistura de extensão do PHP com adição de recursos e mudanças de paradigmas,
mas mantendo a compactibilidade com código PHP nativo. A extensão dos arquivos de
código continua sendo .php (opcionalmente podendo ser .hh) e o conceito de ligação entre os
arquivos de código que compõem um projecto continua sendo através de inclusão
(include e require).

Princípios do Surgimento da Linguagem HACK

O principal argumento da equipe do Facebook para a criação da linguagem Hack foi a


ausência de tipos estáticos e a consequente dificuldade para se automatizar testes de
checagem de código. Já a criação da HHVM (O HHVM é uma máquina virtual de código
aberto projetada para executar programas escritos em Hack e PHP. O HHVM usa uma
abordagem de compilação just-in-time (JIT) para obter um desempenho superior enquanto
mantém a flexibilidade de desenvolvimento que o PHP fornece). visou incrementar a
eficiência, diminuindo o custo de processamento e permitir que checagens de código
automatizadas fossem feitas em tempo de desenvolvimento, aumentando a productividade
dos programadores através da identificação mais rápida de defeitos.
O anúncio da linguagem Hack traz uma séria de recursos que auxiliam na identificação de
erro, mas também um novo paradigma para o universo de desenvolvedores PHP, apesar de
manter a compatibilidade com códigos legados através de um modelo de convivência entre as
linguagens.

Características da Linguagem HACK


A linguagem Hack traz características típicas de linguagens com tipos estáticos aliadas a um
modelo de convivência com códigos PHP tradicionais, que visivelmente foi mantido para
permitir uma transição gradual dos softwares do Facebook. Esse novo paradigma demanda
projectos de software e implementações distintas da que a comunidade de desenvolvedores
PHP está habituada.
A característica de conceito de tipos definidos em tempo de desenvolvimento requer mais
linhas de código e estrutura arquictetural mais rígida e devido à consequente disciplina
requerida pode fazer com que haja uma resistência por parte dos programadores pelo facto
disso exigir que se abra mão de certa flexibilidade.
Acrescenta grande capacidade de automatização de testes e ajuda a evitar erros durante a
programação. Devido a incompatibilidades específicas vários softwares livres e proprietários
devem demonstrar serem incompatíveis com a nova linguagem no seu modo strict, apesar de
poderem ser executados usando a máquina virtual HipHop.
Linguagem SCALA

SCALA é uma linguagem com tipagem estática que funde orientação a objectos e
programação funcional. (ODERSKY, 2004)

Scala possui interoperabilidade com Java e é capaz de rodar utilizando a Java Virtual
Machine (JVM)3 além de possuir a opção de ser interpretada em navegadores através do
Scala. Js4 que transforma código Scala em código JavaScript altamente eficiente.

Surgimento da Linguagem Scala

Scala surgiu em 2004 e possuindo Martin Odersky como figura principal por trás da
linguagem, Scala foi evoluindo com o passar do tempo e em 2021 foi lançado Scala 3, uma
nova versão que conta com inúmeras alterações em relação à sua predecessora.

A linguagem é utilizada em contexto de Big Data ao trabalhar com o framework Spark,


também no desenvolvimento de aplicações web com o Play Framework5 , no design de APIs
e na criação de serviços com arquitetura orientada a eventos utilizando o Akka6.

Um dos paradigmas suportados por Scala é o paradigma funcional e mesmo que a linguagem
ofereça diversas estruturas nativas para o desenvolvimento voltado ao paradigma, várias
bibliotecas são desenvolvidas para oferecer suporte ao desenvolvedor. Dentre as bibliotecas
disponíveis existem as que suportam estruturas funcionais ao lidar com banco de dados como
o Slick 7 e outras que oferecem suporte ao desenvolvimento de soluções voltado a
plataformas específicas, como o AckCord que oferece o necessário para a criação de bots
para a plataforma Discord e ainda é uma ferramenta que está na lista de bibliotecas 8 que
seguem os padrões da plataforma.

Necessidade do uso da Linguagem

A linguagem, embora não esteja entre as mais populares do mercado, é utilizada por
empresas como o Twitter e o Spotify e sua utilização aumenta ao passo que outros
frameworks passam a disponibilizar integração com a linguagem e mais organizações adotam
soluções Scala para seus projetos.
A área de dados utiliza a linguagem com o framework Spark. Existem artigos e instrutores
que indicam o uso do framework com Scala como um substituto ao Pandas com Python.
Entre as melhorias apontadas, estão performance, código mais seguro e legível, além de
aproveitar uma estrutura específica do Spark, o Dataset, para permitir uma manipulação de
dados rápido e com tipagem segura (CONNOR, 2020).

A linguagem pode ser utilizada em meio acadêmico para disciplinas de paradigma de


programação, já que é uma linguagem multiparadigma e por seu suporte ao paradigma
funcional, pode ajudar com a interdisciplinaridade de estudo nas áreas de cálculo e de
programação, já que o paradigma funcional tem sua base no cálculo lambda e alguns
conceitos matemáticos, como os Monads, são estruturas bem estabelecidas no contexto do
paradigma (HEUNEN; JACOBS, 2006).
Conclusão

Em suma, podemos concluir que as linguagns de programação que por nós estudadas ou
mesmo pesquisadas, abordam a diferentes paradigmas que visam a especificações e o
surgimento das mesmas que é a resolução de tarefas, exemplificando (a linguagem Cobol que
é virada para a área do negócio). Com isso os Multiparadigmas são fundamentais para o
desenvolvimento tecnológico. As linguagens estudadas acrescentam nas especificações de
uso dos seus mecanismos nas várias áres onde na sua maioria a matemática.
Referências Bibliográficas

Cobol

https://wrmtech.files.wordpress.com/2013/08/apostila-completa-de-cobol.pdf

http://www.geomatica.eng.uerj.br/docentes/araujo/_media/carac:cobol.pdf

Hack

https://www.devmedia.com.br/hack-e-php-usando-as-linguagens-em-aplicacoes-web/32994

Scala

https://ric.cps.sp.gov.br/bitstream/123456789/7955/1/
tecnologiaemanaliseedesenvolvimentodesistemas_1_2021_%20giacomo%20valentim
%20silva%20magri_%20guia%20te%C3%B3rico%20e%20pr%C3%A1tico%20para
%20iniciantes%20em%20programa%C3%A7%C3%A3o%20funcional%20com%20scala.pdf

Você também pode gostar