Você está na página 1de 20

UNIVERSIDADE FEDERAL DO ESPIRITO SANTO Sistemas de Informao.

Linguagens de Programao.
Ana Paula Simiqueli Borges Alegre, Novembro de 2011.

Sumrio
Introduo ....................................................................................................................................................3 2. Tipologia de Linguagens .........................................................................................................................4 2.1 Por nveis ...........................................................................................................................................4 2.2 Por Geraes ......................................................................................................................................4 2.3 Por reas de Aplicao ...................................................................................................................5 3. Tipos de Linguagens ................................................................................................................................6 3.1 Programaes Imperativas .................................................................................................................6 3.2 Programao Funcional .....................................................................................................................6 3.3 Programao baseada em lgica ........................................................................................................7 3.4 Programao Orientada por Objetos.............................................................................................7 4. Evoluo das Linguagens de Programao..............................................................................................8 5. Cdigo Fonte e Cdigo Mquina ...........................................................................................................13 6. Compilador e Interpretador ....................................................................................................................14 7. Linguagens .............................................................................................................................................15 7.1 JAVA ...............................................................................................................................................15 7.2 Assembly .........................................................................................................................................15 7.3 C......................................................................................................................................................16 7.4 COBOL ...........................................................................................................................................16 7.5 Python .............................................................................................................................................17 8. Concluso ..........................................................................................................................................18 9. Referencias Bibliogrficas. ...............................................................................................................19

Lista de Figuras
Figura 1 - Exemplo de Programao Imperativa.........................................................................................6 Figura 2- John Backus...................................................................................................................................8 Figura 3 Trecho de um cdigo em COBOL. ...............................................................................................9 Figura 4- John Kemeny e Thomas Kurtz. ......................................................................................................9 Figura 5 - Niklaus Wirth .............................................................................................................................10 Figura 6 Dennis Ritchie. ...........................................................................................................................10 Figura 7- Logotipo de Apresentao da linguagem de Programao JAVA. ..............................................12 Figura 8 Cdigo em Java.........................................................................................................................15 Figura 9 - Exemplo de cdigo de montagem. ...........................................................................................16 Figura 10 - Codigo em C .............................................................................................................................16 Figura 11 - Codigo em COBOL que monta o formato de data. ..................................................................17 Figura 12 - Codigo em Python ....................................................................................................................17

Introduo
A partir da necessidade de interao maquina-ser humano, sendo a linguagem da maquina de baixo nvel (Os e 1s) e a do ser humano de alto nvel (nmeros, textos,etc.) surgiram as linguagens de programao, que tem como objetivo promover a comunicao entre ambos. Elas diferem na sintaxe e recursos, mas tem um ponto em comum, que a existncia de um compilador. que interpretar os comandos inclusos no programa e os transformar em binrios, as instrues que so entendidas pelo processador.

2. Tipologia de Linguagens
As linguagens de programao podem ser representadas de vrias maneiras como:

2.1 Por nveis


Linguagens de Baixo Nvel Representadas pelo Assembler e o Cdigo Mquina e com a caracterstica de serem dependentes do computador onde trabalham porque os programas criados por estas linguagens no podem transitar para outro computador. Linguagens de Alto Nvel Representadas pelo Fortran, Pascal e Simula, aqui as linguagens so independentes dos computadores podendo ser lidos em qualquer um onde tem um papel determinante o clculo numrico. Linguagens de Muito Alto Nvel Representadas pelo SQL, PROLOG, Haskell, o problema descrito em funo da relao com o objeto e com preciso nessa descrio o computador poder resolver o problema sem mais nenhuma interveno.

2.2 Por Geraes


1 Gerao Linguagem binria, linguagens mquina e Assembler. 2 Gerao COBOL, BASIC, RPG, FORTRAN IV/V, ALGOL 58/60/68/W, estas linguagens utilizam compiladores para traduzir ou compilar para linguagem binria.

3 Gerao PL/1, PASCAL, FORTRAN 8X, APL, C, SIMULA, BLISS, linguagens para procedimentos. 4 Gerao ADA, linguagem que produz programas noutras linguagens (Gerador de programas); SQL, QBE, utilizadas para bases de dados. 5 Gerao LISP, PROLOG, linguagens para especificar problemas.
4

2.3 Por reas de Aplicao


Cientificas ALGOL, BASIC, FORTRAN Comerciais COBOL Processamento de Listas LISP

Gerais ALGOL 68, PASCAL, SIMULA 67 Inteligncia Artificial PROLOG Programao de sistemas C

3. Tipos de Linguagens

3.1 Programaes Imperativas

Linguagem orientada por aes tendo como fundador o FORTRAN (FORmula TRANslator) criado pela IBM para o IBM 704 por um grupo liderado por John Backus. Criada para processar ficheiros de registros (RECORDS) surgiu a linguagem COBOL. Nos anos 60, foi elaborada a ALGOL, linguagem que deu origem mais tarde a outras duas linguagens, o PASCAL e o C. Para simplificar e para ser utilizada por qualquer utilizador sem ter de ser programador criou-se o BASIC. PL/1 foi uma linguagem que tentou juntar os conceitos das linguagens FORTRAN, ALGOL e COBOL sendo a primeira linguagem generalista. Criado com origem no ALGOL, surgiu o PASCAL sendo denominada como a linguagem didtica dos anos 70 e 80. A linguagem C hoje em dia utilizada para vrias aplicaes, mas quando foi criada era reservada para programao de sistemas. O MODULA, outra linguagem derivada, esta derivada do PASCAL, criada para o suporte de mdulos (ADT) e programao de sistemas.

Figura 1 - Exemplo de Programao Imperativa.

3.2 Programao Funcional


Linguagem com origem no LISP (LISt Processor), que serve para processamento simblico (Clculo diferencial e integral; Teoria de circuitos elctricos; Lgica; Resoluo de jogos). MACLISP, INTERLISP, SCHEME e ZETALISP so derivaes de LISP.
6

3.3 Programao baseada em lgica


Tem como nica linguagem o PROLOG, concebido para processar linguagem natural (Francs), utilizado para processamento simblico como acontece com o LISP. No PROLOG para se chegar ao resultado introduz-se a informao base (factos) e as regras em vez de se descrever um algoritmo.

3.4 Programao Orientada por Objetos


Neste tipo de programao o objeto afetado pela introduo de atributos mais as operaes necessrias. Teve origem no SIMULA (SIMULAtion) mas quase todas as linguagens que existem foram alteradas de modo a suportarem o paradigma OO (C++, ADA95, MODULA3, CLOS, PROLOG++, etc.). Algumas linguagens so conhecidas como OO puras por serem criadas para suportar este paradigma (SIMULA, SMALLTALK, EIFELL, JAVA).

4. Evoluo das Linguagens de Programao


1954 - Criao do FORTRAN por John Backus, sendo considerada a primeira linguagem de alto nvel.

Figura 2- John Backus

- Surge o FORTRAN I com aplicaes para computao cientfica. 1958 - Criado o ALGOL 58 com o objetivo de facilitar a descrio de algoritmos; - Desenvolvido o FORTRAN II que corrigiu diversos erros do FORTRAN I; - Surgiu o FORTRAN III que nunca chegou a ter grande distribuio.

1959 - John McCarthy concebe o LISP que a primeira linguagem funcional e que s trabalhava com dois tipos de dados: tomos e listas (listas simples e listas aninhadas.)

1960 - Ano da criao do FORTRAN IV, sendo considerado como norma nas aplicaes de clculo cientifico; - Desenvolvimento do COBOL que veio permitir tratar grandes quantidades de informao comercial;

Figura 3 Trecho de um cdigo em COBOL.

- Numa reunio que durou 6 dias em Paris surgiu o ALGOL 60 melhorando o ALGOL 58 e foi linguagem padro dos algoritmos nos prximos vinte anos e sendo a primeira linguagem independente do computador.

1962 - Kenneth Iverson quem cria o APL. 1964 - Surgimento do BASIC, feito por John Kemeny e Thomas Kurtz com a particularidade do acesso livre e da fcil aprendizagem por parte dos estudantes das reas no cientficas.

Figura 4- John Kemeny e Thomas Kurtz.

1965 - A IBM e a SHARE concebem o PL/I juntando o que havia de melhor nas linguagens existentes. 1967 - Ano de criao do SIMULA 67 por Dahl e Nygaard que foi desenvolvido com base no ALGOL 60. 1968 - Surge o ALGOL 68, continuao do desenvolvimento do ALGOL 60. 1971 - Niklaus Wirth cria o PASCAL tendo como caracterstica a necessidade de as variveis serem declaradas no inicio dos programas, linguagem utilizada no ensino de programao estruturada.

Figura 5 - Niklaus Wirth

- Alan Kay quem concebe o SMALLTALK no XEROX Park, primeira linguagem a utilizar interface grfica; - Na Universidade de Marselha cria-se o PROLOG, linguagem aplicada em gerncia de bases de dados; - Nos laboratrios Bell, Dennis Ritchie cria o C, que tinha como objetivo formar o sistema operativo UNIX, linguagem pequena, flexvel e capaz de criar cdigo eficiente.

Figura 6 Dennis Ritchie.

10

1975 - Criado o ADA, desenvolvida para o Departamento de Defesa dos EUA, criada em homenagem a Ada Augusta Byron (ajudante e patrocinadora de Charles Babbage), linguagem para programas complexos e grandes. 1978 - Ano de criao do FORTRAN 77 onde surge a instruo IF-THEN-ELSE ao contrrio das verses anteriores onde se utilizava o GO TO; - E.F. Codd, da IBM, cria a linguagem SQL, linguagem direcionada para base de dados. 1985 - Criado o C++ por Bjarne Stroustrup com o intuito de melhorar a linguagem C, tendo como uma das vantagens poder programar em baixo e alto nvel, softwares como o Emule, Microsoft Office ou o Internet Explorer foram criados em linguagem C++; - Surge a linguagem EIFFEL, por Bertrand Meyer da ISE, linguagem que no casesensitive, o que facilita a escrita. 1987 - Criado o PERL por Larry Wall, linguagem que possibilita a sua utilizao em vrios sistemas operativos e usado na maioria para criar aplicaes Web. 1990 - Criao do FORTRAN 90 que ganhou recursos; - Em homenagem a Haskell Curry criada a linguagem HASKELL, linguagem essencialmente funcional. 1991 - Lanada uma linguagem de alto nvel, a PYTHON por Guido van Rossum e com uma sintaxe esclarecedora devido ao poder da biblioteca padro que possui;

- A Sun Microsystems atravs de James Gosling criou a linguagem JAVA, linguagem orientada a objetos.

11

Figura 7- Logotipo de Apresentao da linguagem de Programao JAVA.

Imagem 7 - Logotipo de Apresentao da linguagem de Programao JAVA.

1993 - Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram a linguagem LUA, linguagem imperativa, de procedimentos e de abstrao de dados.

1995 - A Sun cria o JAVASCRIPT com base no C++ sendo um pouco mais simples; - Rasmus Lerdof cria a linguagem PHP, com a caracterstica de ter portabilidade; - Surge a linguagem RUBY, por Yukihiro Matsumoto sendo esta uma linguagem orientada a objetos; - Criada a linguagem DELPHI pela Borland Software Corporation, linguagem orientada a objetos e eventos.

2000 - Criada a linguagem C# por Anders Hejlsberg e sua equipa e usada como parte da plataforma .NET

12

5. Cdigo Fonte e Cdigo Mquina


Cdigo Fonte o conjunto de palavras ou smbolos, que escritos de forma ordenada constroem instrues lgicas numa das linguagens de programao. O conjunto de palavras vai formar linhas de comando que devem estar dentro do padro da linguagem escolhida. Cdigo Mquina Cdigo representado por sequncias de bits, um conjunto de instrues que o processador de um computador consegue ler, executar. Um programa neste cdigo representado por variveis em sistema binrio, hexadecimal ou em alguns casos em sistema octal.

13

6. Compilador e Interpretador
Compilador So programas que atravs de um cdigo fonte escrito numa linguagem compilada, cria um programa com o mesmo significado mas escrito em cdigo mquina sendo perceptvel e possvel ao computador executar o programa.

Interpretador So programas que aps lerem um cdigo fonte de uma linguagem de programao interpretada, convertem o cdigo fonte em cdigo executvel. O interpretador pode ler linha a linha e converter o programa conforme o vai executando ou pode ler todo o programa e converte-lo de uma s vez e execut-lo.

14

7. Linguagens
Algumas delas so:

7.1 JAVA
Java uma linguagem de programao orientada a objeto que diferentemente das linguagens convencionais, que so compiladas para cdigo nativo, a linguagem Java compilada para um bytecode que executado por uma mquina virtual. Ela Possui facilidades para criao de programas distribudos e multitarefa e distribuda com um vasto conjunto de bibliotecas.

Figura 8 Cdigo em Java.

7.2 Assembly
Tambm conhecida como linguagem de montagem uma notao legvel por humanos para o cdigo de mquina que uma arquitetura de computador especfica usa. A linguagem de mquina, que um mero padro de bits, torna-se legvel pela substituio dos valores em bruto por smbolos chamados mnemnicos ( um auxiliar de memria.) Ao contrrio do que acontece nas linguagens de alto nvel, existe (at certo ponto) uma correspondncia de 1 para 1 entre a linguagem de montagem simples e a linguagem de mquina. Por isso a traduo do cdigo de montagem em cdigo de mquina no chamada compilao, mas montagem. Consegue-se transformar a linguagem de montagem em linguagem de mquina recorrendo a um montador(tambm chamado assembler, originado do termo asembl em francs), e a transformao inversa faz-se recorrendo a um desmontador(tambm chamado disassembler).

15

Figura 9 - Exemplo de cdigo de montagem.

7.3 C
C uma linguagem imperativa e procedural, para implementao de sistemas. Seus pontos de design foram para ele ser compilado, fornecendo acesso de baixo nvel memria e baixos requerimentos do hardware. Tambm foi desenvolvido para ser uma linguagem de alto nvel, para maior reaproveitamento do cdigo. ponto forte, a sua eficincia, e a linguagem de programao preferida para o desenvolvimento de sistemas e softwares de base, apesar de tambm ser usada para desenvolver programas de computador.

Figura 10 - Codigo em C

7.4 COBOL
uma linguagem de programao de Terceira Gerao. COBOL a sigla deCOmmon Business Oriented Language (Linguagem Orientada aos Negcios), que define seu objetivo principal em sistemas comerciais, financeiros e administrativos para empresas e governos. foi definido na especificao original, possuia excelentes capacidades de autodocumentao, bons mtodos de manuseio de arquivos, e excepcional modelagem de dados
16

para a poca, graas ao uso da clusula PICTURE para especificaes detalhadas de campos. Entretanto, segundo os padres modernos de definio de linguagens de programao, tinha srias deficincias, notadamente sintaxe prolixa e falta de suporte de variveis locais, recorrncia, alocao dinmica de memria e programao estruturada. A falta de suporte linguagem orientada a objeto compreensvel, j que o conceito era desconhecido naquela poca.

Figura 11 - Codigo em COBOL que monta o formato de data.

7.5 Python
Python uma linguagem de programao de alto nvel[4], interpretada, imperativa,orientada a objetos, de tipagem dinmica e forte. Apesar de vrias partes da linguagem possurem padres e especificaes formais, a linguagem como um todo no formalmente especificada. O padro de facto a complementao CPython.

Figura 12 - Codigo em Python

17

8. Concluso
Neste trabalho vimos como cada linguagem tem o seu tipo de aplicao, a sua maneira de comunicar com o computador varia conforme o desfecho pretendido. Utilizadas em vrios sectores desde o informtico ao comercial passando pelo lazer, as linguagens vo servindo de base para todo o tipo de comunicao com o computador e atravs dessa comunicao vamos subindo patamares na evoluo tecnolgica.

18

9. Referencias Bibliogrficas.
Textos http://pt.wikipedia.org/wiki/Anexo:Lista_de_linguagens_de_programao http://www.slideshare.net/efaredes/linguagens-de-programao

Imagens http://www.smh.com.au/news/technology/programming-language-pioneer-passesaway/2007/03/21/1174153117713.html http://www.projetosespeciais.com.br/fujitsu/fujitsu2.htm

http://samuraize.site90.com/CLCWORK1Parte3.html http://www.eduard-rhein-stiftung.de/html/2002/T2002_e.html http://www.lysator.liu.se/c/dmr/index.html http://blog.soalgoritmo.com.br/a-linguagem-java-introducao/

19

Você também pode gostar