Você está na página 1de 11

Universidade Estcio de S

Engenharia de Produo EAD

Flavia Camila Marinho de Oliveira Fulgencio

Evoluo da Linguagem de Programao

Angra dos Reis


04/2013
Flavia Camila Lgica da Programao

Pgina 1

Flavia Camila Marinho de Oliveira Fulgencio

Evoluo da Linguagem de Programao

Como a linguagem falada pelos computadores

Professor: Carlos Alexandre

Angra dos Reis


04/2013

Flavia Camila Lgica da Programao

Pgina 2

Sumrio
04/2013 .................................................................................................................................................... 2
Assembly.............................................................................................................................................. 4
Fortran ................................................................................................................................................. 4
Pascal ................................................................................................................................................... 4
Cobol.................................................................................................................................................... 5
C ........................................................................................................................................................... 5
C++ ....................................................................................................................................................... 5
Python.................................................................................................................................................. 5
Java .................................................................................................................................................. 7
Shell script ....................................................................................................................................... 8
Ranking das linguagens de programao 2012 ............................................................................... 9
Hall da Fama das linguagens de programao .............................................................................. 11

Flavia Camila Lgica da Programao

Pgina 3

Assembly
O Assembly foi provavelmente a primeira linguagem de programao da histria, surgida na
dcada de 50, poca em que os computadores ainda usavam vlvulas. A ideia do assembly
usar um comando em substituio a cada instruo de mquina.
No assembly, cada uma destas instrues, equivale a uma instruo do processador. Ao invs
de usar instrues como 10101011 voc podemos usar outras bem mais fceis de entender e
de memorizar, como add, div, mul, and, or, not, etc. Podemos criar variveis, que so
pequenos espaos na memria RAM reservados para guardar algum tipo de dado, que o
programa precisar mais tarde.
Apesar de ser exaustivamente trabalhoso, podemos perfeitamente desenvolver pequenos
programas em assembly, para isso s vai precisar de um compilador e bastante pacincia para
aprender.
O compilador transforma o cdigo escrito em assembly em linguagem de mquina, que
finalmente poder ser entendida pelo processador.
Existem tambm os decompiladores, que fazem o trabalho inverso, de transformar um
programa j compilado, em um cdigo em linguagem assembly. Este recurso chamado de
engenharia reversa. assim que conseguem crackear programas, quebrar cdigos de proteo
(como o do DVD), etc. Claro que para isso, preciso algum que conhea muito de assembly
e que tenha disposio para ficar estudando o cdigo at encontrar o que procura.
Por causa desta caracterstica de permitir trabalhar diretamente com as instrues do
processador, o assembly chamado de linguagem de baixo nvel. Existem tambm
linguagens de alto nvel, como C++ ou Pascal, onde possvel usar vrias funes j prontas
ou mesmo ferramentas visuais, como o Kdeveloper ou o Kylix, que so ainda mais fcies.
Fortran
O Fortran foi uma das primeiras linguagens de alto nvel da histria. Enquanto o Assembly
chamado de linguagem de baixo nvel, por nele utilizarmos diretamente as instrues e
endereos do processador e memria, numa linguagem de alto nvel temos vrias funes
prontas, o que facilita muito a programao, mas em compensao torna em muitos casos o
programa maior e mais pesado, j que o compilador jamais conseguir gerar um cdigo to
otimizado quanto um programador experiente conseguiria.
Fortran a contrao de "Formula Translator". A primeira verso do Fortran foi criada no
final da dcada de 50, mas a linguagem comeou a ser usada em larga escala a partir da
metade da dcada de 60, quando surgiram vrias verses diferentes. Atualmente o Fortran
pouco usado, mas existe um cone mgico para instalar o compilador no Kurumin.
Pascal
O Pascal outra linguagem de alto nvel, criada durante a dcada de 60. O Pascal uma
linguagem bastante estruturada, com regras bastante rgidas, o que a torna difcil de usar. Hoje
em dia o Pascal original pouco usado, mas seus descendentes diretos como o Free Pascal
evoluram muito. O prprio Kylix (unto com o Delphi) uma evoluo do Pascal.
Flavia Camila Lgica da Programao

Pgina 4

Cobol
Cobol significa "Common Business Oriented Language". Esta linguagem foi desenvolvida no
final da dcada de 50, com o objetivo de ser uma plataforma de desenvolvimento para
aplicaes bancrias e financeiras em geral. Comparado com o Pascal e o Assembly, comuns
na poca, o Cobol uma linguagem bastante amigvel, o que garantiu uma grande aceitao.
At hoje esta linguagem usada em muitos sistemas bancrios, o que explica a grande
procura por programadores experientes nesta linguagem na poca do bug do ano 2000.
C
O C foi desenvolvido durante a dcada de 70, mas ainda largamente utilizado. A grande
vantagem do C permitir escrever tanto programas extremamente otimizados para a mquina,
como seria possvel apenas em assembly, e ao mesmo tempo vir com vrias funes prontas,
como uma linguagem de alto nvel, que podem ser utilizadas quando no for necessrio gerar
um cdigo to otimizado.
A maior parte dos programas Linux e o Kernel quase todo foram escritos em C, o que explica
o por que do sistema ser to rpido em algumas tarefas.
C++
O C++ mantm os recursos do C original, mas traz muitos recursos novos, como recursos
orientados a objetos, sendo tambm bem mais fcil de utilizar. O C++ bastante usado
atualmente para desenvolver muitos programas para vrias plataformas, ele por exemplo a
linguagem oficial do KDE (a interface grfica usada por padro no Kurumin) e da maioria dos
programas para ele.
Python
O Python uma linguagem de programao com uma sintaxe muito simples e intuitiva e ao
mesmo tempo bastante poderosa, que pode ser usada por toda classe usurios. uma boa
opo de linguagem para quem est comeando a programar.
No Kurumin voc pode abrir o Python em Iniciar > Desenvolvimento.
A maior parte das distribuies instalam o Python por default, basta abrir um terminal e
chamar "python". Existe tambm uma verso para Windows.

Flavia Camila Lgica da Programao

Pgina 5

Ao abrir um programa veremos um prompt como este:

Este o interpretador do Python, um prompt onde podemos digitar um comando de cada vez
e j ir vendo os resultados.

Flavia Camila Lgica da Programao

Pgina 6

Python pode trabalhar com expresses aritmticas, usando nmeros e os operadores:


+ (mais)
- (menos)
* (multiplicao)
/ (diviso)
== (igual a)
!= (diferente de)
> (maior que)
>= (maior ou igual a)
< (menor que)
<= (menor ou igual a)
** (exponenciao, elevado )

Java
O Java uma linguagem de programao multiplataforma, com uma sintaxe at certo ponto
parecida com o C++, porm com bibliotecas diferentes. Os programas em Java podem ser
executados em qualquer sistema operacional, desde que o interpretador esteja instalado.
A JVM um programa que converte o cdigo Java em comandos que o sistema operacional
possa executar. Existem mquinas virtuais para vrios sistemas operacionais, o problema
que devido ao processamento executado pela mquina virtual, o programa torna-se mais
pesado do que seria caso escrito diretamente para a plataforma.
Explicando de forma mais elaborada, linguagens de programao "tradicionais", como o C e o
C++ utilizam um compilador diferente para cada plataforma ou sistema operacional em que o
programa ir rodar. O cdigo fonte em s pode ser escrito de forma a ser facilmente portvel,
ou seja, rodar em diferentes verses do Unix ou em vrias famlias de processadores
diferentes sem muitas alteraes, mas ainda assim ser necessrio recompilar o cdigo fonte,
gerando um binrio diferente para cada caso.
Embora o trabalho inicial seja maior, a vantagem desta abordagem que o desempenho o
melhor possvel, j que sempre teremos um programa binrio otimizado para a plataforma.
Mas o Java utilizam um conceito diferente. Ao invs de gerar um binrio diferente para cada
plataforma, gerado um binrio que pode ser executado em qualquer plataforma, dentro de
uma mquina virtual. Este binrio "universal" chamado de bytecode.

Flavia Camila Lgica da Programao

Pgina 7

A idia criar aplicativos que possam ser escritos uma vez e executados em qualquer
plataforma, reduzindo os custos de desenvolvimento. Apenas o software da mquina virtual
que precisa ser reescrita para cada plataforma, mas isso problema dos desenvolvedores da
linguagem, no do programador.
Existe ainda a opo de abrir mo da flexibilidade do bytecode em troca de um maior
desempenho, passando a compilar os programas com otimizaes para uma determinada
plataforma. Isso muito til quando o programa ser executado apenas dentro de
computadores de uma certa plataforma, como PCs rodando Linux por exemplo.
No caso do Java a mquina virtual que executa os programas chamada de Java Virtual
Machine. Muitas pginas Web utilizam applets Java, por isso a maioria das pessoas acaba
instalando o suporte a Java. Hoje em dia, alm do Java da Sun temos verses alternativas,
como o Blackdown e o Kofee, que possuem conjuntos de recursos variados, mas so a
princpio compatveis com o cdigo gerado para o Java da Sun.
Embora tenha ganhado relevncia com o Java, este conceito no exatamente novo.
Linguagens mais antigas como o LISP e o Prolog j utilizam bytecode e mquinas virtuais.

Shell script

O shell script no exatamente uma linguagem de programao, mas tem a vantagem de ser
bem mais simples, o que permite desenvolver pequenos programas muito rapidamente, em
questo de minutos.
A maioria dos utilitrios de configurao subdesenvolvidos para o Kurumin so escritos em
shell script. Uma outra vantagem que estes programas no precisam ser compilados, voc
simplesmente escreve os comandos num arquivo de texto e executa direto. Quando precisa
fazer alguma alterao voc altera o arquivo e pronto, o problema est resolvido.
O Kommander, que um editor visual para shell scripts. Alguma coisa parecida com o
Delphi ou o Visual Basic, s que bem mais simples. Este Kommander j vem instalado no
Kurumin desde a verso 2.21, ele foi usado para fazer o Painel de Controle do Kurumin, entre
outras coisas. O programa composto de alguns comandos simples, como os usados pelo
primeiro script, s que agora dentro de uma interface melhor.

Flavia Camila Lgica da Programao

Pgina 8

Ranking das linguagens de programao 2012

By Washington Souza on March 25, 2012

O ndice TIOBE prove uma pesquisa anualmente sobre as linguagens de programao mais
utilizadas no mundo.
Sobre este novo ranking interessante notar que a linguagem javascript agora a oitava
linguagem de programao mais utilizada. Outro ponto observado pelo site que as
linguagens de Apple, Oracle e Microsoft esto entre os top 10 do ndice. A linguagem para
desenvolvimento para iPhone, iPhone e iPads, Objective-C, subiu para a quinta posio. A
linguagem do Google, Go, no aparece nem entre as 50 mais utilizadas.

Flavia Camila Lgica da Programao

Pgina 9

1.

Java 17%

2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.

C 17%
C# 8%
C++ 8%
Objective-C 8%
PHP 6%
(Visual) Basic 4%
JavaScript 3%
Python 3%
Perl 3%
Delphi/Objective Pascal
PL/SQL
Ruby
Transact-SQL
Lisp
Visual Basic.Net
Pascal
Logo
Ada
NXT-G
Lua
R
Fortran
MATLAB
Scheme
Assembly

Flavia Camila Lgica da Programao

Pgina 10

27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.

Prolog
RPG (OS/400)
SAS
cg
Groovy
COBOL
ActionScript
Erlang
D
Scratch
ABAP
F#
C shell
Haskell
Awk
Smalltalk
CFML
APL
ML
Forth
Eiffel
Bash
Tcl
PL/I

Hall da Fama das linguagens de programao

2011 Objective-C
2010 Python
2009 Go
2008 C
2007 Python
2006 Ruby
2005 Java
2004 PHP
2003 C++

Flavia Camila Lgica da Programao

Pgina 11