You are on page 1of 16

PONTIFCIA UNIVERSIDADE CATLICA DE GOIS

DEPARTAMENTO DE ENGENHARIA CIVIL


INFORMTICA E COMPUTAO

Aluno: Aguiobey de Souza Roque.


Aluno: Mauro Lukas Cardoso da Silva.

EVOLUO DAS LINGUAGENS DE PROGRAMAO

Goinia-GO
12/12/12

Aguiobey de Souza Roque.


Mauro Lukas Cardoso da Silva.

EVOLUO DAS LINGUAGENS DE PROGRAMAO

Trabalho apresentado a Pontifcia Universidade


Catlica de Gois como parte dos requisitos
Para obteno de nota parcial na disciplina de
Informtica e Computao, ministrada pelo
Prof. Anbal Vicente Vieira.

Goinia-GO
12/12/12

SUMRIO
1 INTRODUO..................................................................................................3
2 O CONCEITO DE PROGRAMAR...................................................................4
3 LINGUAGENS DE PROGRAMAO...............................................................6
3.1 PRIMEIRA GERAO LINGUAGEM DE MQUINA...........................................6
3.2 SEGUNDA GERAO LINGUAGEM DE MONTAGEM........................................6
3.3 TERCEIRA GERAO LINGUAGEM ESTRUTURADA........................................7
3.4 QUARTA GERAO LINGUAGEM MODULARIZADA ........................................8
3.5 QUINTA GERAO LINGUAGEM ORIENTADA OBJETOS..............................9
4 APLICAES DAS LINGUAGENS DE PROGRAMAO.............................10
4.1 APLICAES DA LINGUAGEM DE MQUINA...................................................10
4.2 APLICAES DA LINGUAGEM DE MONTAGEM................................................11
4.3 APLICAES DA LINGUAGEM ESTRUTURADA................................................11
4.4 APLICAES DA LINGUAGEM MODULARIZADA ............................................12
4.5 APLICAES DA LINGUAGEM ORIENTADA OBJETOS ...................................
12
5 CONCLUSO..................................................................................................13
8 REFERNCIAS BIBLIOGRFICAS................................................................14

1 INTRODUO
As linguagens de programao evoluram com o passar do tempo,
apresentando tcnicas que aprimoraram cada vez mais a capacidade de se
criar programas, ao passo de que se tornou um elemento fundamental para o
desenvolvimento de qualquer metodologia computacional.
Com o passar do tempo, os softwares ficaram mais complexos, desse modo,
as linguagens de programao tiveram que se desenvolver no mesmo ritmo de
complexidade dos programas. Cada passo dado pelo desenvolvimento da
programao protagonizou o nascimento de novas tcnicas que foram
utilizadas para tratar com complexidades inesperadamente grandes. Alm
disso, medida que a programao avanava, eram combinados os melhores
elementos dos mtodos anteriores com novas tcnicas descobertas.
Diante disso, o objetivo do presente trabalho apresentar a evoluo das
linguagens de programao de forma clara e abrangente, buscando abastar o
conhecimento necessrio sobre as linguagens programadoras, to importantes
quanto prpria mquina.

2O

CONCEITO DE PROGRAMAR

O que programar? Programar consiste em elaborar um conjunto de


instrues especficas para a execuo de uma determinada tarefa ou
resoluo de um determinado problema, dado e reconhecido mquina, de
forma que essas instrues sejam executadas pelo sistema. As linguagens de
programao sempre buscaram se aproximar cada vez mais da linguagem
humana, usada no dia-dia, sendo indispensveis para o funcionamento da
mquina. Antes de aprofundarmos no conceito de linguagem de programao
necessrio entender os fundamentos em que se baseiam.
Um algoritmo define um conjunto de tarefas, procedimentos que devem ser
adotados para a resoluo de determinados problemas. Para tal, ele deve ser
direcionado memria do computador, e para que isso seja feito ele deve ser
programado, ou seja, convertido em uma linguagem entendida pela mquina.
Dessa forma os algoritmos, ou seja, o conjunto de instrues dado pelo
programador mquina codificado e representado com base em regras de
estruturao lgica e sinttica prprias, de tal forma que possa ser
compreendido e decifrado pela mquina. A esse conjunto mencionado
anteriormente d-se o nome de linguagem de programao.
Percebe-se que de nada serviria o hardware, componente associado parte
fsica do sistema que suporta todo o processamento de informao, sem a
ao dos softwares; essa interao resulta no desempenho verificado pela
mquina. O software protagoniza os processos computacionais, ele capaz de
facilitar o acesso a qualquer recurso do computador, administrar arquivos, alm
de controlar perifricos e executar diversos utilitrios, o que remete aos
softwares de sistema (ou sistema operacional); h ainda programas
desenvolvidos por especialistas ou usurios mais experientes, feitos com o
objetivo de facilitar a execuo de diversas tarefas do sistema, com uma
funo predeterminada, como antivrus e compressores de arquivos, so os
softwares utilitrios; J os programas desenvolvidos com algum fim especfico,
alguma funcionalidade usual (seja profissional, educacional ou para mero
entretenimento) so conhecidos como softwares aplicativos.

Diante disso, notvel a importncia dos programas para o bom


funcionamento da mquina, pois eles iro representar a vontade do usurio, o
que ele quer que seja feito pela mquina. Mas como os programas so
definidos? Como padronizar todo o seu funcionamento? Simples, atravs das
linguagens de programao. Por uma linguagem bem parecida com a usada na
comunicao humana, os programas so definidos em um cdigo fonte, ou
seja, o programador demonstrou o que deseja do sistema atravs de uma
linguagem programadora, depois, atravs de um compilador, programa que
traduzir o cdigo, essa linguagem transformada em linguagem de mquina
(binria) - processo conhecido como compilao para ser compreensvel ao
processador, ela ainda pode ser interpretada pelo interpretador. Em outras
palavras, as linguagens de programao constituem uma ferramenta bastante
eficaz na elaborao de programas mais organizados e eficientes, elas
facilitam a tarefa do programador de expressar suas intenses na elaborao
do programa ao invs de usar uma sequencia de uns e zeros.
As linguagens de programao podem ser de baixo ou alto nvel. As linguagens
de baixo nvel so interpretadas diretamente pelo computador, pois
representam smbolos diretos do cdigo de mquina que ser gerado, esto
mais prximas do cdigo de mquina, de fato o resultado mais rpido, porm
por ser uma linguagem que compreende as caractersticas da arquitetura de
um computador, requer um conhecimento acentuado do sistema para um bom
aproveitamento, alm disso, o programa que utiliza esse tipo de linguagem no
pode ser migrado e utilizado em outras mquinas por ser dependente das
caractersticas funcionais do processador em que ele reside. J as linguagens
de alto nvel, so linguagens mais prximas da linguagem humana, no requer
um conhecimento acentuado do processador, portanto mais fceis de serem
trabalhadas e podem ser migradas de uma mquina outra por no
dependerem da arquitetura do computador, s necessita de um cdigo fonte
para ser compilado por um compilador.
Mas porque o programa precisa ser traduzido? A resposta est no conceito de
Cdigos Binrios, que ser visto a seguir.

3 LINGUAGENS

DE PROGRAMAO

As linguagens de programao se desenvolveram uma a partir da outra,


sempre incrementando para si mtodos j utilizados aliados a novas tcnicas
para a elaborao de programas.

3.1 PRIMEIRA GERAO - A LINGUAGEM

DE

MQUINA

O Sistema Binrio corresponde a cadeias de uns e zeros, formando sequncias


numricas usadas na representao de dados e nas operaes dos mesmos.
Para que os programas sejam executados e compreendidos pelo hardware do
sistema, eles precisam ter a representao binria, a que dada o nome de
linguagem de mquina (a linguagem que o computador trabalha).
A linguagem de mquina uma linguagem de baixo nvel representada por
meio de cdigos numricos, sequncias de bits, que remetem a palavras
binrias, essa instruo pode representar uma operao e/ou o conjunto de
dados envolvidos. vlido ressaltar que, invivel ler ou escrever um
programa codificado nessa forma. Para isso, temos a linguagem montadora.

3.2 SEGUNDA GERAO A LINGUAGEM

DE

MONTAGEM

Considerada uma linguagem de nvel mdio, a linguagem de montagem ou


assembly a linguagem de nvel imediatamente acima da linguagem de
mquina. Sabe-se que ler ou escrever programas com a linguagem binria
impraticvel, dessa forma a linguagem montadora auxilia nesse processo. Tal
linguagem representa uma verso legvel para humanos da complexa
linguagem de mquina, onde valores binrios do cdigo de mquina so
representados por smbolos legveis pela linguagem de montagem (motivo pelo
qual ela tambm chamada de linguagem simblica). Para tal, uma sequncia
de nmeros binrios substituda por palavras variadas, chamadas de
mnemnicos, que indicam a operao pretendida pelo cdigo de mquina.
Por outro lado, o uso da linguagem de montagem exige do programador um
acentuado conhecimento da arquitetura interna do computador, por ela ser
orientada ao processador. De fato a linguagem assembly mais prxima da

que usamos no dia-dia, mas um programa escrito com essa linguagem no


pode ser executado em processadores fora de sua famlia, assim como a
linguagem de mquina. A traduo do cdigo para o cdigo de mquina
chamada de montagem e feita por uma montadora ou assembler. Se
comparada com a linguagem de alto nvel, a linguagem de montagem
apresenta um custo maior de desenvolvimento, alm de ser mais difcil de
programar. vlido ressaltar que, grande parte do controle do fluxo de
execuo dessa linguagem comandada por desvios direcionados a uma parte
do cdigo definida, o que pode ser chamado de go to, onde com este
comando o programa poderia saltar para qualquer ponto dele mesmo, o que
torna o programa mas difcil de se entender e ser mantido.

3.3 TERCEIRA GERAO A LINGUAGEM ESTRUTURADA


Aps a linguagem de montagem, as linguagens de programao sofrem um
grande avano, onde a linguagem programadora se aproxima ainda mais da
linguagem humana, fazendo o uso, principalmente, de palavras em ingls, alm
de manipularem os dados das mais variadas formas, so as linguagens de alto
nvel. Tais linguagens surgiram entre o final da dcada de 50 e incio da dcada
de 60, mas precisamente a primeira linguagem difundida foi a FORTAM, que
apenas apresentava uma linha de cdigo mais clara e facilmente entendida que
a assembly, sem mudanas bruscas no estilo de programao. A traduo dos
programas produzidos por estas linguagens passou a ser mais complexa,
fazendo o uso de compiladores; alm disso, programas desenvolvidos por
estas linguagens poderiam ser executados em qualquer mquina dependendo
apenas do compilador a ser utilizado, bem diferente de suas antepassadas, as
de baixo nvel.
A linguagem estruturada, surgida em meados dos anos 60, uma linguagem
de alto nvel e como tal, desenvolveu-se da necessidade por cdigos mais
claros, sem instrues problemticas (como o famoso go to do assembly),
dai surgiu o conceito de estruturao do cdigo, onde o programador cria uma
estrutura simples em seu programa, fazendo o uso de sub-rotinas e funes,
sempre buscando ter um maior controle sobre o fluxo de execuo do mesmo.
A partir da linguagem estruturada, o programa composto por blocos de

cdigos que se interligam por trs bsicos mecanismos: Sequncia, Seleo e


Iterao; contribuindo, cada um, para o incio e para o fim do bloco em
execuo.
Na Sequncia, os passo de processamentos necessrios para o
desenvolvimento do programa so implementados, ou seja, cada determinada
tarefa executada uma aps a outra, linearmente.
Na Seleo, cada processo do programa a ser executado passa por um teste
lgico que decidir a efetivao desse processo, ou seja, as tarefas
executveis por qualquer parte de determinado programa tornam-se
dependentes de estruturas de condio, como o caso do comando IF.
J na Interao, um trecho do programa passa por um teste lgico, o que
determina a sua repetio por um nmero finito ou infinito de vezes.
Por apresentar facilidade em seu entendimento, a linguagem estruturada
muito utilizada em cursos introdutrios de programao. Por outro lado, ela
foge da ideia do que deve ser feito, que tarefa deve ser executada, se
condicionando em apenas demonstrar como deve ser feito; alm de gerar
cdigos confusos que, por consequncia, pode interferir na elaborao do
programa. A partir desse tipo de linguagem todas as linguagens desenvolvidas
passaram a ser estruturadas, com determinadas instrues executveis
divididas em blocos. vlido ressaltar que, com o uso da programao
estruturada, a partir do momento em que o objeto atinge um certo tamanho,
torna-se difcil e custoso efetuar sua manuteno ou, at mesmo, alguma
modificao.

3.4 QUARTA GERAO A LINGUAGEM MODULARIZADA


A linguagem modularizada, como o prprio nome j diz, um tipo de linguagem
programadora em que o desenvolvimento do programa ocorre atravs de
aes conjuntas de subprogramas que compem um programa principal, ela
representa um aperfeioamento da linguagem estruturada. Em outras palavras,
o cdigo dividido em mdulos, autnticos com seus prprios dados e
capacidade de processamento, que se interligam atravs de parmetros e

trabalham juntos na elaborao do programa como um todo, consiste numa


rdua diviso de tarefas.
O programa em si, dividido em subprogramas. Esse mtodo usado ideal na
construo de grandes programas; alm disso, tem como vantagem o fato de
os erros cometidos durante a elaborao do programa poderem ser facilmente
visualizado, e resolvidos separadamente em cada mdulo verificado, alm da
reutilizao do cdigo desenvolvido ser efetiva (pelo fato de que um mdulo
no depender do programa como um todo, mas o programa principal depender
de cada mdulo).

3.5 QUINTA GERAO A LINGUAGEM

ORIENTADA

OBJETOS

Chegou um tempo em que o tratamento estruturado no mais funciona. Para


resolver esse problema a programao orientada a objetos foi criada. A
programao Orientada a objetos pde aperfeioar o mtodo de dividir um
programa em subprogramas, traduzindo cada um desses subgrupos em
objetos, ela veio com o intuito de simular o mundo real dentro do computador.
Os objetos caracterizam essa linguagem, eles se interagem mantendo, cada
um, o seu prprio estado. Dessa forma a essncia do entendimento desse tipo
de linguagem consiste em tratar os subprogramas, ou seja, parte dos dados
envolvidos em uma determinada tarefa e seu processamento, como objetos
nicos. Para entendermos melhor o funcionamento dessa linguagem
necessrio saber, mais precisamente, no que condizem os objetos.
Um objeto representa uma entidade fsica ou abstrata, ou, at mesmo, um
conceito que engloba determinados dados e sua capacidade de
processamento, podendo incorporar tanto entidades metafsicas quanto
entidades realistas (um cachorro, um espelho, etc.) motivo pelo qual a
aplicao dessa linguagem a que mais se assemelha na resoluo de
problemas reais -. Alm disso, Os dados englobados pelos objetos constituem
os seus atributos, enquanto que sua capacidade de processa-los, o cdigo,
remete ao seu mtodo. Com isso, cada objeto s pde ser comandado pelos
seus prprios mtodos, um objeto no pode interferir sobre o outro, pois os
dados so privados ao prprio objeto (capacidade chamada de
encapsulamento). A primeira linguagem a utilizar os mtodos de orientao a

10

objetos foi a simula, idealizada em 1966, efetivou associaes de tipos de


dados e suas operaes.
A comunicao entre objetos ocorre atravs de mensagens que identificam as
operaes que sero realizadas no segundo objeto. Um grupo de objetos que
possuem a mesma propriedade (atributos) e apesentam um comportamento
em comum (operaes), constituem as classes, que engloba a estrutura e o
comportamento comum a todos os objetos relacionados a um determinado
grupo.
Assim, a linguagem orientada a objetos, baseara-se nas componentes
individuais objetos que colaboram mutualmente enviando mensagens uns
para os outros, visando o desenvolvimento de sistemas mais complexos. Em
suma, o extensivo uso de objetos e do conceito de classes remete a linguagem
orientada a objeto que, tornou possvel a reutilizao de parte do cdigo em
outros programas, os objetos refletiam de maneira mais precisa exemplos do
mundo real, pois os dados eram descritos de maneira mais precisa e de fcil
entendimento.

4 APLICAES

DAS LINGUAGENS DE PROGRAMAO

As linguagens de programao se desenvolveram de acordo com as


necessidades apresentadas. Desse modo, elas possuem diversas aplicaes,
cumprindo sua funo pr-determinada.

4.1 APLICAES

DA

LINGUAGEM

DE

MQUINA

Dentre as linguagens de baixo nvel, a do sistema binrio possui formidveis


aplicaes, sem as quais no seria possvel o desenvolvimento verificado pelas
linguagens de programao ao longo dos anos. Primordialmente o sistema
binrio era utilizado em todos os processos computacionais, pois at ento no
havia surgido uma linguagem que abrisse o leque de aplicaes dadas s
mesmas.

11

4.2 APLICAES

DA

LINGUAGEM

DE

MONTAGEM

Logo, com o tempo surgiu a linguagem de montagem, que embora no tenha


apresentado mudanas significativas no modo de se programar quando
comparada com a linguagem de mquina representou um avano por
apresentar ideias mais claras e facilmente entendidas representadas por
smbolos, no mais por sequncias de uns e zeros. A linguagem simblica
Assembly, desenvolvida nesse meio, apresentou diversas utilidades, dentre
as quais podem-se destacar: O controle de processos com resposta em tempo
real, onde por gerar programas mais eficientes e ligados arquitetura interna
do processador, o conjunto de instrues executados pela mquina eram
limitados em um curto perodo de tempo; Comunicao e transferncia de
dados, onde por o programa desenvolvido nesta linguagem ter um acesso
direto e internamente ao hardware, essa linguagem era utilizada na
implementao de programas e transferncia de dados; Otimizao de sub
tarefas da programao de alto nvel, onde programas de alto nvel teriam sub
tarefas escritas em linguagem assembly, dessa forma partes do programa
poderiam ser otimizadas para tarefas em tempo real ou destinadas ao
hardware do sistema.

4.3 APLICAES

DA

LINGUAGEM ESTRUTURADA

As linguagens de alto nvel representaram um marco no desenvolvimento das


linguagens de programao. Sendo assim, linguagens como, FORTRAN,
COBOL, ALGOL e BASIC, mesmo recebendo duras crticas resistiram s
mesmas e tornaram-se funcionais at os tempos de hoje. Como exemplo, a
linguagem FORTRAN possui vrias aplicaes na engenharia e a COBOL
bastante utilizada no desenvolvimento de aplicaes comerciais.
Nas linguagens estruturadas, a estruturao do cdigo teve diversas
aplicaes, como: Na implementao de programas com as mais diversas
caractersticas, como pode ser percebido nas linguagens PASCAL e C;
Desenvolvimento de aplicaes especficas, como o caso do uso das
linguagens PROLOG, LISP e FORTH. Com a linguagem estruturada programas
complexos puderam ser escritos de maneira razoavelmente fcil.

12

4.4 APLICAES

DA

LINGUAGEM MODULARIZADA

Como aplicao da linguagem modular, h o uso da linguagem MODULA-2.


MODULA-2 uma linguagem originada de MODULA e PASCAL, ela foi criada
para ser uma linguagem prtica, independente do hardware, podendo viabilizar
a criao de mdulos que poderiam ser compilados separadamente. Assim, o
conceito de mdulos apresentado por esta linguagem, poderia ser usado para
encapsular subprogramas e estruturas de dados.

4.5 APLICAES

DA

LINGUAGEM

ORIENTADA A

OBJETOS

J as linguagens orientadas a objetos ofereciam mecanismos de suporte ao


seu prprio conceito de programao, o que pode ser visto no uso das
linguagens: LISP, SMALLTALK, EIFFEL, C++, JAVA E DELPHI.
Na linguagem LISP, eram utilizadas ideias oriundas da inteligncia artificial, os
programas desenvolvidos por esta linguagem simulavam habilidades cognitivas
do ser humano.
Na linguagem SMALLTALK, qualquer dado era visto como um objeto (mesmo
um nmero), alm disso, mandavam-se mensagens a objetos, o que
aumentava o custo computacional.
J a linguagem JAVA, criada em 1990, foi desenvolvida para executar um
mesmo programa em mltiplas plataformas de hardware e software. Essa
linguagem parcialmente compilada e parcialmente interpretada, o programa
desenvolvido por esta linguagem pode ter acesso completo mquina,
podendo manipular a memria, console e sistema de arquivos.

13

5 CONCLUSO
Desde o incio da evoluo computacional os programas demonstravam a sua
importncia. Desse modo, as linguagens de programao tiveram uma
importante participao no processo de desenvolvimento dos computadores e
da informtica como um todo, pois sem sua existncia o programador jamais
conseguiria desenvolver os diversos softwares hoje to importantes para a
mquina -.
A programao j se consolidou como uma cincia autntica que viabiliza as
aplicaes da lgica e do raciocnio humano, sua importncia inegvel nos
processos computacionais. Tais linguagens se desenvolveram a partir da
necessidade por resolues concretas de determinados problemas
apresentados aos programadores, seu avano persiste at os tempos atuais e,
de modo equivalente aos seus ancestrais, estar sempre em desenvolvimento.

14

6 REFERNCIAS BIBLIOGRFICAS
O Conceito de Programar
INFOESCOLA, O que so linguagens de programao. Disponvel em: <
http://www.infoescola.com/informatica/o-que-sao-linguagens-deprogramacao/>. Acesso em: 07 Dez. 2012.
UNIVERSIDADE FEDERAL DE LAVRAS, Linguagens de Programao.
Disponvel em: < algol.dcc.ufla.br/~monserrat/icc/Introducao_linguagens.pdf >.
Acesso em: 07 Dez. 2012.
WIKIPDIA, Linguagens de Programao. Disponvel em: <
http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o >.
Acesso em: 07 Dez. 2012.
Linguagens de Programao
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE, Programao
Estruturada. Disponvel em:
<http://www.metropoledigital.ufrn.br/aulas/disciplinas/prog_est/aula_01.html >.
Acesso em: 07 Dez. 2012.
UNIVERSIDADE ESTADUAL DE CAMPINAS, Linguagens de Programao.
Disponvel em: < http://www.jairo.pro.br/lpi/ling_prog.pdf >. Acesso em: 07 Dez.
2012.
CRIARWEB, Tipos de linguagem de programao.
Disponvel em: <http://www.criarweb.com/artigos/685.php>. Acesso em: 07
Dez. 2012.
UNIVERSIDADE FEDERAL DO PAR, Conceitos de Orientao a Objetos.
Disponvel em: < http://www.ufpa.br/cdesouza/teaching/es/3-OO-concepts.pdf>.
Acesso em: 07 Dez. 2012.
Aplicaes das Linguagens de Programao
UNIVERSIDADE FEDERAL DE SANTA MARIA, Introduo a Programao
Orientada Objetos na Linguagem C++. Disponvel em:
< http://www-usr.inf.ufsm.br/~pozzer/disciplinas/cg_5_oo_c++.pdf>. Acesso em:
07 Dez. 2012.
UNIVERSIDADE FEDERAL DE LAVRAS, Linguagens de Programao.
Disponvel em: < algol.dcc.ufla.br/~monserrat/icc/Introducao_linguagens.pdf >.
Acesso em: 07 Dez. 2012.

15

UNIVERSIDADE ESTADUAL DE CAMPINAS, Programao Orientada


Objetos: Uma abordagem com JAVA. Disponvel em:
<http://www.dca.fee.unicamp.br/cursos/PooJava/Aulas/poojava.pdf>. Acesso
em: 07 Dez. 2012.

You might also like