Você está na página 1de 11

UNIVERSIDADE FEDERAL DO PARANÁ

CURSO DE ENGENHARIA ELÉTRICA

ARTIGO CIENTÍFICO

Orientando:
Daniel Lauer

Orientador:
Waldemiro Pedroso Sobrinho

CURITIBA
2008
DANIEL LAUER

COMPARAÇÃO ENTRE LINGUAGENS DE


PROGRAMAÇÃO

Artig
o Científico escrito por Daniel Lauer, no dia
4 de novembro de 2008, elaborado como
avaliação da Disciplina de Relatórios
Técnicos, do Curso de Engenharia Elétrica,
do Setor de Tecnologia da UFPR.

Orientador: Waldemiro Pedroso Sobrinho

CURITIBA
2008
SUMÁRIO

1 INTRODUÇÃO ......................................................................................................................1
2 LINGUAGENS DE PROGRAMAÇÃO.................................................................................1
2.1 Tipos.................................................................................................................................1
2.1.1 Estrutura.....................................................................................................................1
2.1.2 Nível...........................................................................................................................2
2.1.3 Geração......................................................................................................................2
2.2 Algumas linguagens..........................................................................................................3
3 PRINCIPAIS LINGUAGENS................................................................................................4
4 CONCLUSÕES.......................................................................................................................6
5 REFERÊNCIAS BIBLIOGRÁFICAS.....................................................................................7
6 PERGUNTAS DURANTE A PALESTRA.............................................................................8
1 INTRODUÇÃO

O artigo em questão tem o intuito de apresentar as linguagens de programação,

mostrando as vantagens e desvantagens em diferentes aplicações. Serão apresentadas e

classificadas quanto ao nível de evolução, por geração.

Uma linguagem de programação é um método padronizado para expressar instruções

para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um

programa de computador. Uma linguagem permite que um programador especifique

precisamente sobre quais dados um computador vai atuar, como estes dados serão

armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.

A necessidade em fazer comparações entre linguagens de programação tem o intuito

indicar a linguagem de programação melhor para a aplicação a ser desenvolvida, baixando o

tempo de programação e custos de desenvolvimento.

2 LINGUAGENS DE PROGRAMAÇÃO

2.1 Tipos
As linguagens podem ser classificadas por tipo de estrutura, nível de programação e

pela geração.

2.1.1 Estrutura
Dentro da classificação de estrutura, pode-se definir como linguagens estruturadas e

não estruturadas.

As linguagens estruturadas

São aquelas que possuem estruturas de controle do fluxo do programa, como desvios

condicionais, laços de repetição, procedimentos e funções. A maioria das linguagens

utilizadas é estruturada, como o Pascal e o C.

1
Linguagens não estruturadas

O fluxo é controlado em boa parte por desvios diretos para uma parte do código

definida. A linguagem mais conhecida não estruturada é o assembly.

2.1.2 Nível
Na classificação de nível de programação, existem controvérsias entre diferentes

autores, alguns classificam apenas de baixo e alto nível e a maioria classifica entre baixo,

médio e alto nível, o que será adotado.

Linguagens de baixo nível

São linguagens totalmente dependentes da máquina, ou seja, que o programa que se

realiza com este tipo de linguagem não pode ser migrado ou utilizado em outras máquinas.

Ao estar praticamente desenhado a medida do hardware, aproveitam ao máximo as

características do mesmo.

Linguagens de alto nível

São aquelas que se encontram mais próximas à linguagem natural que à linguagem

máquina.

Trata-se de linguagens independentes da arquitetura do computador. Sendo assim, à

princípio, um programa escrito em uma linguagem de alto nível, pode ser migrado de uma

máquina a outra sem nenhum tipo de problema.

Linguagens de Médio nível

Trata-se de um termo não aceito por todos, porém certamente vocês já devem ter

escutado. Estas linguagens se encontram em um ponto médio entre as duas anteriores. Dentro

destas linguagens poderia se situar C já que pode acessar aos registros do sistema, trabalhar

com endereços de memória, todas elas características de linguagens de baixo nível e ao

mesmo tempo realizar operações de alto nível.

2.1.3 Geração
A evolução das linguagens de programação pode ser dividida em 5 etapas ou gerações.
2
• Primeira geração: linguagem máquina, programação binária.

• Segunda geração: criaram-se as primeiras linguagens assembly.

• Terceira geração: criam-se as primeiras linguagens de médio e alto nível.

• Quarta geração: são linguagens capazes de gerar código por si só, com o qual

se pode realizar aplicações sem ser um conhecedor da linguagem.

• Quinta geração: Aqui se encontram as linguagens orientadas à inteligência

artificial.

2.2 Algumas linguagens

Para uma maior eficiência no desenvolvimento de um programa, pode se relacionar as

linguagens de programação, podendo assim definir a linguagem indicada para o

desenvolvimento da aplicação.

Abaixo será citado algumas linguagens importantes, com suas características.

2.2.1 Assembly

Nível Baixo - Não estruturada - 2ª geração

Destinado geralmente a programação de microcontroladores e microprocessadores. Os

comandos possíveis são as mesmas as instruções do componente. Possui baixa velocidade de

programação, por possuir poucas instruções, o que eleva o custo da programação. Podem ser

utilizadas outras linguagens na maioria dos casos, com o C.

2.2.2 C++

Nível Médio – Estruturada - 3ª geração - Orientada a objetos, procedural, orientada pelo fluxo

Indicada em grande parte das aplicações, por ser uma linguagem muito versátil. Pode

ser utilizada para programação de microcontroladores (caso possua a biblioteca do

componente), na criação de softwares para PC como bancos de dados, comunicação via portas

paralelas e seriais, até mesmo sistemas operacionais foram criados na linguagem C. Possui

alto desempenho na compilação, tornando os softwares gerados em C++ mais rápidos.


3
2.2.3 Basic

Nível Alto - Não Estruturada - 3ª geração

Linguagem de fácil aprendizado, porém de pouca versatilidade. Versões melhores

como o Visual Basic dão mais recursos tornando a linguagem mais interessante. Utilizado

para programação de alguns microcontroladores, criação de softwares para o Windows, no

caso do Visual Basic.

2.2.4 Java

Nível Alto – Estruturada - 3ª geração - Orientada a objetos - Independência de plataforma

O Java é uma linguagem revolucionaria. Pode ser executada em qualquer sistema

operacional que possua a máquina virtual Java (Java Virtual Machine - JVM), podendo a

mesma aplicação ser executada em PCs, Palmtops, telefones celulares e outros dispositivos.

2.2.5 PHP

Nível Alto – Estruturada - 3ª geração - Orientada a objetos - Independência de plataforma

Linguagem direcionada a automatização de paginas de Internet. Indicada para

trabalhar também com bancos de dados, sendo que possui infinitas possibilidades, por

trabalhar com módulos. Nesta área é a linguagem mais versátil existente. Possui como o Java

independência a plataforma.

3 PRINCIPAIS LINGUAGENS

Pode-se observar com a figura 1 que as linguagens utilizadas na Internet e as

influenciadas pelo C estão sempre em alta, como o Java, o próprio C e seus derivados, Visual

Basic, PHP e Python são as linguagens mais utilizadas globalmente.

Na tabela 1, pode-se comparar as principais linguagens, suas influências, característica

principal e modo de execução.

4
Uso Modo de
Influências Característica principal
execução
20,3% Interpretação
Java C# Orientada a objetos
e Compilação
15,3% Algol, Estruturada, Procedural, Orientada
C Compilação
BCPL por fluxo
10,4% C, Simula,
C++ Compilação Principalmente orientada a objetos
Algol 68
Visual Basic 9,3% Compilação Basic Orientada a objetos e Procedual
PHP 8,9% Interpretação C e Perl Orientada a objetos
Python 5,1% Interpretação ABC, Perl Orientada a objetos
4,0% C, Principalmente orientada a objetos,
C# Compilação
Smalltalk Refletiva, Passagem de mensagens
Delphi 4,0% Compilação Pascal Orientada a objetos e Procedural
3,9% C, Shell,
Funcional, Orientada a objetos e
Perl Interpretação awk, sed,
Procedural
Lisp
Java Script 2,9% Interpretação Java Orientada a objetos e Procedural
Tabela 1: Características das principais linguagens [8]

Figura 1: Utilização das Linguagens [8]

5
4 CONCLUSÕES

Ao se analisar as linguagens existentes no mercado, assim como suas características,

pode-se escolher a linguagem mais indicada a aplicação pretendida, pode se economizar

tempo de programação e conseqüentemente custos no desenvolvimento.

Para microcontroladores, é indicada a utilização de linguagem C, poupa tempo e linhas

de programação, pois possui inúmeros comandos e é procedural. Porem há casos que há a

necessidade do uso do Assembly, nem todos os microcontroladores possuem a biblioteca em

C.

Para aplicações executáveis é aconselhável utilizar o C ou o Java, são por bons

motivos que são as linguagens mais utilizadas. Como o C, o Java é procedural e orientada a

objetos, deixando o software mais confiável e versátil.

6
5 REFERÊNCIAS BIBLIOGRÁFICAS

[1] Linguagem de montagem - Wikipédia, a enciclopédia livre -


pt.wikipedia.org/wiki/Assembly

[2] Assembly NumaBoa - www.numaboa.com.br/informatica/assembly/

[3] C (linguagem de programação) - Wikipédia, a enciclopédia livre -


pt.wikipedia.org/wiki/C_(linguagem_de_programação)

[4] BASIC - Wikipédia, a enciclopédia livre - pt.wikipedia.org/wiki/BASIC

[5] PHP – Wikipédia - http://pt.wikipedia.org/wiki/PHP

[6] Java (linguagem de programação) - Wikipédia, a enciclopédia livre -


pt.wikipedia.org/wiki/Java_(linguagem_de_programação)

[7] Comparação entre linguagens de programação - Wikipédia, a enciclopédia livre -


http://pt.wikipedia.org/wiki/Compara%C3%A7%C3%A3o_entre_linguagens_de_programa
%C3%A7%C3%A3o

[8] Tiobe Software - http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

The Economics of Programming Language -


http://www.welton.it/articles/programming_language_economics.html

[9] Programming Language Usage Graph -


http://www.cs.berkeley.edu/~flab/languages.html

[10] Visual Basic – Wikipédia, a enciclopédia livre -


http://pt.wikipedia.org/wiki/Visual_Basic

7
6 PERGUNTAS DURANTE A PALESTRA

1- Existe compilador de todas as linguagens ou mais de uma?

Não. As linguagens possuem compiladores próprios, podendo haver mais de um


compilador para a mesma linguagem, no caso de diferentes fabricantes.

2- Existe algum software que faça a conversão de uma linguagem em outra?

Sim. Há softwares específicos que convertem uma linguagem em outra. São softwares
bem restritos e pouco disseminados entre o meio dos programadores.

3- Qual a linguagem de programação mais importante para a engenharia elétrica?

Acredito que seja a linguagem C, pois por ser uma linguagem bastante versátil, pode-
se fazer programas para microcontroladores e microcomputadores. Pode-se também
com facilidade manipular o hardware do computador, utilizando portas seriais e
paralelas, controle de acesso a memória.

4- Como fazer a comunicação entre o C e o Java? Qual o melhor para fazer?

Há bibliotecas nas duas linguagens que facilitam a troca de dados, podendo se os


dados serem criptografados e colocados em protocolos específicos conforme a
aplicação. Com a biblioteca COM-DRV da linguagem C e a RXTX da Java, há
comandos de fácil utilização para a troca de dados entre as linguagens por um meio
físico.

Você também pode gostar