Você está na página 1de 8

Índice

1. Linguagens de programação...........................................................................................2
1.1. Utilidade das Linguagens de Programação.................................................................2
1.2. Características dos modelos de linguagem de programação.......................................2
1.2.1. Paradigma estruturado.............................................................................................2
1.2.1.1. Conceito...............................................................................................................2
1.2.2. Paradigma orientado a objetos.................................................................................3
1.2.2.1. Conceito...............................................................................................................3
1.2.3. Paradigma funcional................................................................................................4
1.2.3.1. Conceito...............................................................................................................4
1.3. Importância das Linguagens de Programação.............................................................5
1.4. Classificação quanto ao nível de abstração.................................................................5
1.5. Classificação de tipos de programação........................................................................6
1.6. Tradução de HIL para ISA..........................................................................................6
Bibliografia.............................................................................................................................7

1
1. Linguagens de programação
Segundo RUBIANO (2022:48) Uma linguagem de programação consiste num conjunto de
regras sintáticas e semânticas usadas para desenvolver um programa de computador. O
conjunto de palavras, composto de acordo com essas regras, constitui o código fonte de um
programa que permite comunicar as instruções para um computador. As instruções
especificam, precisamente, que ações devem ser tomadas em várias circunstâncias, quais os
dados a manipular e como esses dados são armazenados ou transmitidos.

Ainda com mesmo ponto de vista FAROOQ (2014:85) salienta que, as linguagens de
programação são sistemas de comunicação que permitem que os programadores instruam um
computador para executar tarefas específicas. Elas consistem em
conjuntos de regras e sintaxe que traduzem a lógica humana para uma forma que o
computador pode entender e executar.

Existem muitas linguagens de programação, e cada uma possui características distintas. Por
exemplo, Python é conhecida por sua legibilidade e simplicidade, enquanto C++ é usada para
desenvolvimento de sistemas de baixo nível. Cada linguagem tem suas próprias
peculiaridades,
como tipagem (estática ou dinâmica), paradigma de programação (orientado a objetos,
funcional, etc.)
1.1. Utilidade das Linguagens de Programação
Na visão de MAGELA (2006:335) as linguagens de programação servem para
desenvolver software e aplicativos. Elas permitem que os desenvolvedores criem programas
que realizem uma ampla variedade de tarefas, desde simples cálculos até complexas
aplicações de software.

1.2. Características dos modelos de linguagem de programação


Para uma melhor compreensão e caracterização dos modelos ou tipos de linguagens de
programação, iremos agrupar os modelos de linguagem em paradigmas segundo TUCKER
(2008:630):

1.2.1. Paradigma estruturado


1.2.1.1. Conceito
Segundo TUCKER (2008:633) Esse paradigma apresenta que os programas podem ser
desenvolvidos com base em três estruturas: sequência, decisão e repetição. O modelo
estruturado implica na criação de estruturas simples em seus programas, usado para

2
desenvolver sub-rotinas e as funções. Esse modelo foi o principal paradigma que auxiliou na
criação de software entre a programação linear e a programação orientada a objetos.

Contudo, a programação estrutura foi sucedida pela de orientação a objetos. Mas, ainda hoje
ela continua sendo utilizada e muito influente, pelo fato de que grande parte das pessoas
ainda aprende programação através desse modelo.

I. Linguagens
As principais linguagens que fazem uso do paradigma estruturam são respetivamente:
C
BASIC
PASCAL
COBOL
II. Vantagens
A programação estruturada concede grande flexibilidade e a possibilidade de

quebrar os problemas em diversos outros subproblemas. Esse modelo permite uma

boa legibilidade, é de fácil compreensão, e sua estrutura é bem simples, por esse

motivo muitos começam a aprender programação através desse modelo.

III. Desvantagens
Os dados são separados das funções demonstrando certa lentidão. Diversas operações simples
não possíveis, como a implementação da troca de parâmetros, ou seja, mudanças na estrutura
dos dados acarretando na alteração de todas as funções que estão relacionadas. Esse modelo
gera sistemas difíceis de serem mantidos.
1.2.2. Paradigma orientado a objetos
1.2.2.1. Conceito
Segundo ASCENCIO (2007:438) o conceito de programação orientada a objetos é
fundamentando na interação e composição de diversas unidades de um software, os
denominados objetos. As atividades de sistema com base na orientação a objetos se dão
através dos relacionamentos de troca de informações (comunicação) entre os objetos contidos
dentro do sistema. Esses objetos que são denominados classes, o comportamento de cada
classe é definido com base em seus métodos e as características ou estados de uma classe são
respetivamente seus atributos. As definições do relacionamento entre os objetos são definidas
nos métodos e atributos que a classe possui.
I. Linguagens
3
As principais linguagens que fazem uso do paradigma estrutura são respectivamente:
Smalltalk
Python
Ruby
C++
Object Pascal
Java
C#
Oberon
Ada
Eiffel
Simula
NET
II. Vantagens
O paradigma orientado a objetos possui todas as vantagens que o estruturado, flexibilidade,
legibilidade, fácil compreensão, quebrar em subproblemas, entre outras. Uma de suas
caracterizas é que a alteração de um modulo não gera a necessidade da modificação em
outros módulos do sistema, ou seja, quanto mais esse módulo for independe, maior a chance
da reutilização do código em outras partes da aplicação. A sua principal vantagem é a
facilidade da reutilização de códigos, possibilitando trabalhar em um nível superior de
abstração, e a utilização de um único padrão conceitual durante todo o processo de
desenvolvimento do sistema. (TUCKER:2008, p.634).
III. Desvantagens
A programação orientada a objetos exige uma forma de pensamento
complexa, por isso muitos acabam não compreendendo e ela acaba não sendo
usada por grande parte dos programadores. Esse modelo tem um uso elevado da
memória da máquina, é mais difícil de modelar e a dependência de funcionalidades
já implementadas em outras classes.

1.2.3. Paradigma funcional


1.2.3.1. Conceito
Segundo MENDES (2008:642) esse paradigma se baseia nas funções matemáticas para o
desenvolvimento de algoritmos de programação. Esse modelo evidencia a utilização e
funções, que são tratadas como valores de primeira importância, ou seja, as funções contem

4
parâmetros ou valores de entrada para outras funções e podem ser os valores de retorno ou
saída de cada função.
I. Linguagens
As principais linguagens que fazem uso do paradigma estrutura são

respectivamente:
Lambada
LISP
Scheme
ML
Miranda
Haskell
II. Vantagens
A alocação automática das células de memória são uma das suas principais vantagens por
causa disso, os efeitos colaterais dos cálculos da função são eliminados. A utilização da
recursividade em programação funcional pode assumir várias formas e é considera uma
técnica mais poderosa do que os laços de repetição. (MENDES:2008, p.642).

Essa linguagem assegura que o resultado será o mesmo para um dado grupo de parâmetros
independente da onde, e quando é avaliado em computação independente para execução
paralela.

III. Desvantagens
A programação funcional há grande possibilidade de criar códigos complexos, além de não
ser um paradigma muito disseminado. Esse modelo não faz a utilização explicita da alocação
de memória e também não há o uso de variáveis, ou seja, falta diversas construções que são
essenciais em linguagens estruturadas (MENDES:2008, p.644).

1.3. Importância das Linguagens de Programação


SEBESTA (2003:752) salienta que, as linguagens de programação são essenciais para o
desenvolvimento de software, sistemas e aplicações modernas. Elas permitem a automação
de tarefas, a criação de soluções tecnológicas e a inovação em diversas áreas, tornando-se
vitais na era da computação. As linguagens de programação são a base da revolução
tecnológica. Elas possibilitam automação, eficiência e inovação em quase todas as indústrias,
da medicina à robótica, da pesquisa científica à indústria do entretenimento.

5
1.4. Classificação quanto ao nível de abstração
Segundo TUCKER (2008:321) as linguagens podem ser classificadas em alto nível e baixo
nível.
1.4.1. Linguagens de alto nível – como Python e Java, são mais próximas da linguagem
humana,
1.4.2. Linguagens de baixo nível – como Assembly, estão mais próximas da linguagem
de máquina.
1.5. Classificação de tipos de programação
Existem diferentes tipos de programação, incluindo:
Programação orientada a objetos: enfoca objetos e classes
Programação funcional: baseia-se em funções e imutabilidade.
Programação procedural: organiza o código em procedimentos e funções.
Programação de scripts: é usada para automação de tarefas.
Programação de sistemas: desenvolve sistemas operacionais e drivers.
Programação web: cria aplicações e sites para a web.
Programação móvel: desenvolve aplicativos para dispositivos móveis.

1.6. Tradução de HIL para ISA


MAGELA (2006:435) orienta que, a tradução de alto nível (HIL - High-Level Language)
para baixo nível (ISA - Instruction Set Architecture) é um processo complexo que envolve
vários estágios:

1º - Compilação/Interpretação: O código fonte escrito em uma linguagem de alto nível,


como C++ ou Java, é inicialmente traduzido para uma forma intermediária. Isso pode ser
feito de duas maneiras:

Compilação: Nesse método, um compilador traduz o código de alto nível para código
de máquina diretamente. O resultado é um arquivo executável.
Interpretação: Aqui, um interpretador lê o código de alto nível linha por linha e o
traduz para código de máquina à medida que o programa é executado.

2º - Geração de Código Intermediário: Em muitos casos, um código intermediário é gerado


durante a compilação, em vez de código de máquina direto. Esse código intermediário é uma
representação abstrata do programa em um nível intermediário de abstração.

6
3º - Otimização de Código: Nesta fase, o código intermediário ou até mesmo o código de
máquina é otimizado para melhorar o desempenho e a eficiência. Isso inclui a eliminação de
código morto, a reordenação de instruções e a redução do uso de recursos.

4º - Geração de Código de Máquina: O código intermediário otimizado é então traduzido


para código de máquina específico para a arquitetura do processador alvo. Isso envolve a
escolha das instruções apropriadas e a alocação de registradores.

5º - Linkagem e Carregamento: Se o programa consiste em vários módulos ou bibliotecas,


eles são vinculados em um único arquivo executável. Em seguida, o programa é carregado na
memória do computador para ser executado.

O processo de tradução de HIL para ISA é crucial para que os programas escritos em
linguagens de alto nível possam ser executados em computadores. Cada linguagem de
programação pode ter seu próprio compilador ou interpretador, adaptado para a arquitetura de
hardware alvo. É importante notar que diferentes arquiteturas de processador (como x86,
ARM, MIPS, etc.) possuem conjuntos de instruções diferentes, e a tradução de alto para
baixo nível deve levar em consideração essas diferenças para garantir que o código funcione
corretamente na plataforma desejada (MAGELA:2006, p.435).

7
Bibliografia
FAROOQ, M.: An evaluation framework and comparative analysis of the widely used first
programming languages. 2014.

RUBIANO, S. M.: Teaching computer programming. Education and Information


Technologies. 2002.

ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de.


Fundamentos da programação de computadores. 2. ed. São Paulo: Pearson Prentice Hall,
2007. 428 p.

MAGELA, Rogério. Engenharia de Software Aplicada: Princípios. 2. ed. Rio de Janeiro:


Alta Books, 2006.

MENDES, Douglas Rocha. Programação Java com Ênfase em Orientação a Objetos.


Novatec, 2008.

SEBESTA, Robert W. Conceitos de Linguagens de Programação. 5. ed. São Paulo:


Bookman Companhia Ed, 2003.

TUCKER, Allen; NOONAN, Robert. Linguagens de Programação: Princípios e


Paradigmas. 2. ed. São Paulo: Mcgraw Hill, 2008.

Você também pode gostar