Prévia do material em texto
Acadêmico: Marcos Ribeiro Neto Curso: Ciência da Computação 2° Semestre Macapá-AP 2013 1 Linguagens de Programação A Linguagem de Programação pode ser entendida como um conjunto de palavras e um conjunto de regras gramaticais que servem para instruir o sistema de computação a realizar tarefas especificam e com isso, criar os programas. Cada linguagem tem o seu conjunto de palavras – chaves e sintaxes. A linguagem de programação deve traduzir o código-fonte em uma linguagem compreensível pela CPU (linguagem de máquina). Essa transformação pode acontecer por meio de Compilação ou interpretação. 1.1 Compilação A Compilação transforma código-fonte em programa executável pela CPU, de modo a criar programas autônomos que não necessitam da linguagem de programação para serem executados. Muitas linguagens de programação utilizam o processo de compilação, como, por exemplo, Delphi (Borland), Visual Basic (Macrosoft) e C++. 1.2 Interpretação A Interpretação consiste em executar o código-fonte diretamente por meio de um módulo da linguagem de programação conhecimento como Interpretador. Nesse processo, não existe código objeto nem código executável. Desta forma, existe a necessidade da presença da linguagem de programação no sistema de computação no qual o programa será executado. Um dos problemas da interpretação é que em determinados comandos, por exemplo, comandos de repetição de funções, a linguagem vai interpretar o comando tantas vezes ele for repetido, o que a torna mais lenta na execução dos programas. Isso não acontece com os programas compilados. Apesar dessa desvantagem, o processo de interpretação é utilizado em algumas linguagens de programação em conjunto com a compilação, não para gerar os programas executáveis, mas na fase de desenvolvimento, quando o programador deseja executar o código-fonte para detectar problemas, então e interpretação é usada para esse propósito. Algumas linguagens interpretadas são: COBOL, LISP e Pascal. 2 Categorias de Linguagens de Programação As linguagens de programação são divididas em “gerações”. Mas essas “gerações” não têm relação somente com a época em que foram criadas, mas também com a proximidade que a linguagem utilizada para escrever os comandos têm com a linguagem natural humana. Essa proximidade é conhecida como sistema, por exemplo, representar os comandos com zeros e uns. As linguagens de programação que necessitam de comandos escritos mais próximos da linguagem de máquina (microcódigo formado por zeros e uns) é conhecida como uma Linguagem de Baixo Nível. Já uma linguagem que utiliza palavras em idioma normal é conhecida com uma Linguagem de Alto Nível. As empresas que criam linguagens de programação procuram, a cada novo lançamento, aproximar a linguagem de programação da linguagem natural humana, e com isso facilitar o processo de programação. 2.1 Linguagens de Primeira Geração São as linguagens de mais baixo nível, pois o programador necessita escrever comandos praticamente no nível da máquina. Inicialmente, os programas eram codificados bit a bit (zeros e uns), mas, com o tempo, surgiu a Linguagem Assembly que permite o uso de instruções escritas em código hexadecimal, reduzindo o trabalho de programação. Uma característica dessa linguagem é que cada comano tem correspondência direta com um comando em microcódigo da CPU. Essa linguagem é usada quando outras, de nível mais alto, não cumprem requisitos de velocidade de processamento ou utilização de memória, ou não são suportadas pelo sistema. 2.2 Linguagens de Segunda Geração São linguagens que apresentam um avanço em relação ao Assembly. Os comandos são dados por intermédio de palavras utilizadas no dia-a-dia. Alguns especialistas não consideram o Assembly uma linguagem de programação, portanto essa geração marcaria o inicio das linguagens de programação. Essas linguagens foram muito utilizadas e serviram de base para as mais modernas. Exemplos de linguagens de segunda geração: FORTRAN: reconhecida como a primeira linguagem de programação (os comandos não são escritos em linguagem de máquina). É ideal para aplicações matemáticas e de engenharia, mas não é adequada para criação de softwares básicos, de tempo real e embutidos. COBOL: primeira linguagem voltada para criação de aplicações comerciais. Programas criados em COBOL, ainda são muito utilizados, principalmente em empresas que utilizam computadores de grande porte. ALGOL: linguagem voltada para aplicações cientifica, bastante utilizada na Europa, mas que apresenta compiladores caros. Foi precursora das linguagens de terceira geração. 2.3 Linguagens de Terceira geração (Linguagens de Programação Estruturadas ou Modernas) As linguagens de programação de terceira geração podem ser classificadas em três categorias: Linguagens de Alto Nível de Uso Geral, Linguagens Orientadas a Objeto e Linguagens Especializadas. Apesar de as categorias todas apresentarem uma característica em comum, seguem de alguma forma, as técnicas de Programação Estruturada. 2.3.1 Linguagens de Alto Nível de Uso Geral São linguagens de programação baseadas no ALGOL e bastante utilizadas. São exemplos desse tipo de linguagem: Pascal: primeira linguagem de programação estruturada foi criada para ensinar essas técnicas de programação. É uma descendente direta do ALGOL, podendo se utilizada para criar aplicativos para as áreas de engenharia, cientifica e de software básico. PL/1: criada pela IBM foi à linguagem verdadeiramente de amplo espectro, utilizada tanto para aplicações cientificas quanto para aplicações comerciais. C: originalmente criada para o desenvolvimento de sistemas operacionais e compiladores (o UNIX é implementado em C), também pode ser usada para criação de aplicações comerciais. Ada: linguagem criada pelo Departamento de Defesa dos Estados Unidos para criação de sistemas de computação de tempo real para uso militar (embutidos em armamentos). Semelhante à Pascal, também é utilizada para aplicações não militares. 2.3.2 Linguagens Orientadas a Objeto São linguagens de programação que permitem a implementação dos modelos de análise e projeto orientados a objeto. Usam todos os conceitos ligados à orientação a objeto. São exemplos desse tipo de linguagem: Smalltalk: linguagem criada para explicar conceitos de orientação a objeto. C++: linguagem derivada da linguagem C utilizada para uma ampla gama de aplicações. Java: linguagem de programação criada pela Sun apresenta a vantagem de poder ser executada em qualquer sistema de computação, não importando a CPU que utilize, característica muito importante para aplicações voltadas para a internet. Linguagens de Script (Internet): linguagens que melhoram que melhoram a funcionalidade das paginas de Internet. Alguns exemplos são: JavaScript (Netscape), VBScript e JScript (Microsoft). Linguagens Internet: linguagens que, na maioria dos casos, são utilizadas para criação de paginas de Internet dinâmicas. Alguns exemplos são: PHP, ASP – Active Server Pages (Microsoft), JavaServer Pages (Sun), Perl – Practical Extraction and Report Language e Python. 2.3.3 Linguagens Especializadas Linguagens de programação que apresentam formas de sintaxe dos comandos bastante incomuns e são criadas para aplicações especiais. Exemplos dessas linguagens: LISP: usada quase que exclusivamente para aplicações de Inteligência Artificial (IA), como Sistemas Especialistas. Trabalha com tradução e documentação automática de textos com a manipulação de símbolos e listas. PROLOG: também utilizada em IA para desenvolvimento de sistemas especialistas. Também é orientada a objeto. FORTH: utilizada para desenvolvimento de softwares para microprocessadores. 2.4 Linguagens de Quarta Geração (4GL – Fourth Generation Language) Até agora, são as linguagens que apresentam o maiornível de abstração. Para conseguir isso, automatizam muitas das tarefas. Podem ser classificadas em três categorias: Linguagens de Consulta, Geradores de Programa, Linguagens de Prototipação. 2.4.1 Linguagens de Consulta São linguagens de programação declarativas criadas para trabalhar em conjunto com bancos de dados, permitindo que esses dados sejam manipulados. Os comandos dessas linguagens devem ser utilizados dentro do código gerado por outras linguagens que “hospedam” esses comandos. Em alguns aspectos, elas não poderiam nem ser consideradas linguagens de programação, pois não traduzem os comandos para linguagem de maquina. O principal exemplo desse tipo de linguagem é o SQL (Structured Query Language). A linguagem SQL é padronizada pelo ANSI, mas praticamente todos os fabricantes de bancos de dados criam extensões transformando-a em uma linguagem SQL proprietários. 2.4.2 Geradores de Programa São linguagens de programação que permitem que o programador crie programas inteiros usando apenas declarações baseadas nos modelos gerados pelo projeto do programa. Nesse tipo de linguagem, o trabalho de programação é muito pequeno. É uma linguagem de programação de nível muito elevado. Algumas ferramentas CASE (Computer-Aided System Engineering), que são ferramentas que automatizam varias tarefas na criação de modelos e projetos dos sistemas de software, implementam esse tipo de linguagem. Exemplos de ferramentas CASE são: Rational rose (IBM), System Architect (Popkin) e ERWin (CA – Computer Associates). 2.4.3 Linguagens de Prototipação São linguagens de programação que facilitam a criação da interface com o usuário, sendo conhecidas como Linguagem Visual. O programador recebe um conjunto de componentes de interface que são montados para configurar a interface com o usuário. Depois disso, ele se preocupa em programar o que deve ser executado quando o usuário interagir com esses componentes de interface. Por esse motivo, essas linguagens são conhecidas como Linguagem Orientada a Eventos. Essas linguagens de programação proporcionam a Prototipação, ou seja, permitem que sejam criados “esboços” visuais do programa final para que o usuário identifique problemas de operação, de estética, etc. Exemplos dessas linguagens de prototipação são Delphi (Borland), Visual Basic e C# (Microsoft). BIBLIOGRAFIA Livro: Informática - Conceitos e Aplicações Autores: Marcelo Marçula Pio Armando Benini Filho