ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
Conceitos Iniciais LP I
1. Tecnologia em Sistemas para Internet - IFMS
Aula 01 - Conceitos Iniciais de Linguagens
de Programação
Linguagem de Programação I
Prof.º Msc. Sidney Roberto de Sousa
2. Sumário
Tec. em Sistemas para Internet - IFMS 2
●
●
●
●
●
Linguagem de programação? O que é isto?
História
Níveis de linguagens de programação
Tipos de linguagens de programação
Linguagens de programação quanto a
tipagem
3. Linguagem de programação? O que é isto?
Tec. em Sistemas para Internet - IFMS 3
“linguagem artificial desenvolvida
para comunicar instruções para uma
máquina”
4. Linguagem de programação? Para o que serve?
Tec. em Sistemas para Internet - IFMS 4
●
●
Criar programas que controlam o
comportamento de uma máquina
Expressar algoritmos
5. História: De 1800 a 1900
Jacguard Loom
Tec. em Sistemas para Internet - IFMS 5
Pianola
6. História: De 1800 a 1900
Ada Lovelace e a máquina anaĺitica
Tec. em Sistemas para Internet - IFMS 6
7. História: De 1800 a 1900
Cartões perfurados (utilizados até hoje!)
Tec. em Sistemas para Internet - IFMS 7
8. História: Primeira metade do século 20
ENIAC: Interruptores e cabos
Tec. em Sistemas para Internet - IFMS 8
9. História: Anos 50 e 60
Tec. em Sistemas para Internet - IFMS 9
●
●
●
●
●
Assembly – meados dos anos 50: várias versões,
criadas por pessoas e organizações diversas
FORTRAN (FORmula TRANslator) - 1955: inventada
por John Backus et al
LISP (LISt Processor) - 1958: inventada por John
McCarthy et al
COBOL (COmmon Business Oriented Language) -
1959: criada pelo Short Range Committee
BASIC (Beginner's All-purpose Symbolic Instruction
Code) - 1964: inventada por John Kermeny et al
10. História: Anos 70
Tec. em Sistemas para Internet - IFMS 10
●
●
●
●
●
C - 1973: criada por Dennis Ritchie
Smalltalk - 1972: Criada pela Xerox PARC
Prolog - 1972: criada por Alan Comerauer et al
Pascal - 1970: criada por Niklaus Wirth
SQL (*) - 1974: criada por Donald Chamberlin
e Raymond Boyce
11. História: Anos 70
Tec. em Sistemas para Internet - IFMS 11
●
●
●
●
●
C - 1973: criada por Dennis Ritchie
Smalltalk - 1972: Criada pela Xerox PARC
Prolog - 1972: criada por Alan Comerauer et al
Pascal - 1970: criada por Niklaus Wirth
SQL (*) - 1974: criada por Donald Chamberlin
e Raymond Boyce
13. História: Anos 80
Tec. em Sistemas para Internet - IFMS 13
●
●
●
●
C++ - 1983: criada por Bjarne Stroustrup
Objective-C - 1983: criada por Brad Cox e
Tom Love
MATLAB (MATrix LABoratory) - fim dos anos
70: criada por Cleve Moler
Perl - 1987: criada por Larry Wall
14. História: Anos 90
Tec. em Sistemas para Internet - IFMS 14
●
●
●
●
●
●
●
●
●
Python - 1991: Criada por Guido Van Rossum
Visual Basic - 1991: criada pela Microsoft
HTML (*) - 1991: criada por Tim Berners-Lee
Ruby - 1995: criada por Yoshiro Matsumoto (o Matz!)
Lua - 1993: criada por Roberto Ierusalimschy et al (100%
brasileira!)
Java - 1995: criada por James Gosling
Delphi - 1995: criada pela Borland
JavaScript - 1995: criada por Brendan Eich
PHP - 1995: criada por Rasmus Lerdorf
15. História: Anos 90
Tec. em Sistemas para Internet - IFMS 15
●
●
●
●
●
●
●
●
●
Python - 1991: Criada por Guido Van Rossum
Visual Basic - 1991: criada pela Microsoft
HTML (*) - 1991: criada por Tim Berners-Lee
Ruby - 1995: criada por Yoshiro Matsumoto (o Matz!)
Lua - 1993: criada por Roberto Ierusalimschy et al (100%
brasileira!)
Java - 1995: criada por James Gosling
Delphi - 1995: criada pela Borland
JavaScript - 1995: criada por Brendan Eich
PHP - 1995: criada por Rasmus Lerdorf
17. História: De 2000 até os dias atuais
Tec. em Sistemas para Internet - IFMS 17
●
●
●
●
●
ActionScript - 2000: criada pela Macromedia,
atual Adobe Systems
C# (C Sharp) - 2000: criada pela Microsoft
VB.NET (Visual Basic .NET) - 2001: criada
pela Microsoft
Groovy - 2003: criada por James Strachan
Scala - 2003: criada por Martin Odersky
18. História: De 2000 até os dias atuais
●
ActionScript - 2000: criada pela Macromedia,
atual Adobe Systems
●
●
●
●
C# (C Sharp) - 2000: criada pela Mic
Qu
re
o
m
sv
o
ai
ft
substituir a
Tec. em Sistemas para Internet - IFMS 18
linguagem Java?
VB.NET (Visual Basic .NET) - 2001: criada
pela Microsoft
Groovy - 2003: criada por James Strachan
Scala - 2003: criada por Martin Odersky
19. Níveis de Linguagens de Programação
Tec. em Sistemas para Internet - IFMS 19
●
●
Linguagens de programação costumam ser
classificadas de várias formas
Uma forma mais simples de classificação é a
por níveis. Esta classificação pode conter os
seguintes níveis:
– Linguagens de baixo nível
– Linguagens de alto nível
– Linguagens de altíssimo nível
20. Linguagens de baixo nível
Tec. em Sistemas para Internet - IFMS 20
●
●
Linguagens mais próximas à linguagem de
máquina (bits zero e um)
Exemplos:
– Assembly
– C (depende do ponto de vista...)
21. Linguagens de alto nível
Tec. em Sistemas para Internet - IFMS 21
●
●
●
Possuem um alto nível de abstração dos
detalhes da máquina
Pode utiliza elementos de linguagem natural
Exemplos:
– Java
– Python
– Ruby
– Scala
22. Linguagens de altíssimo nível
Tec. em Sistemas para Internet - IFMS 22
●
●
●
Possuem um nível muito alto de abstração, sendo
utilizadas a priori como uma ferramenta de
produtividade ao programador
Costumam ser limitadas a necessidades
específicas
Exemplos:
– mIRC scripting language
– LiveCode
– Magic xpi
– Maker
23. Tipos de Linguagens de Programação
Tec. em Sistemas para Internet - IFMS 23
●
●
●
Linguagens de programação também podem
ser divididas entre os seguintes tipos:
Linguagens de script
Linguagens interpretadas
Linguagens compiladas
24. Linguagens de Script
Tec. em Sistemas para Internet - IFMS 24
●
●
●
São executadas do interior de programas ou de outras
linguagens de programação, não ficando restritas a
estes ambientes
Todas as linguagens de script são linguagens
interpretadas; porém, a recíproca não é verdadeira
Exemplos:
– JavaScript
– Lua
– PHP
– Python
25. Linguagens Interpretadas
Tec. em Sistemas para Internet - IFMS 25
●
●
●
Seu código fonte é executado por interpretadores, para depois
ser executado pelo sistema operacional ou processador
Em algumas destas linguagens, o código criado é traduzido para o
que é chamado de bytecodes, o qual por sua vez é interpretado
numa máquina virtual
Exemplos:
– Java
– Python
– C#
– PHP
– VBScript
26. Linguagens Compiladas
Tec. em Sistemas para Internet - IFMS 26
●
●
●
Seu código fonte é traduzido e executado diretamente pelo
sistema operacional ou pelo processador
Este processo de “tradução” é chamado de compilação e é
realizado por um programa chamado de compilador
Exemplos:
– C
– C++
– Objective-C
– Pascal
– Delphi
– Fortran
27. Linguagens de Programação quanto a Tipagens
Tec. em Sistemas para Internet - IFMS 27
Além das questões vistas anteriormente, as
linguagens de programação também podem ser
classificadas quanto a tipagem de suas
variáveis, objetos, funções, métodos, classes,
etc.
28. Linguagens fortemente tipadas
Tec. em Sistemas para Internet - IFMS 28
Especificam uma ou mais restrições a respeito
de como operações envolvendo valores de
diferentes tipos de dados podem ser
“misturados”
29. Exemplo: Java
Tec. em Sistemas para Internet - IFMS 29
Integer numero = 1;
String palavra = “1”;
numero = numero + Integer.parseInt(palavra); //resultado: 2
31. Exemplo: JavaScript
Tec. em Sistemas para Internet - IFMS 31
var variavel = 1; //contém o número 1
var outraVariavel = “1”; //contém uma string com o único
caractere '0'
variavel = variavel + outraVariavel; //resultado: “11”
32. Exemplo: Python
Tec. em Sistemas para Internet - IFMS 32
numero = 1
palavra = "0"
numero = numero + int(palavra) #resultado: 1
palavra = palavra + str(numero) #resultado: "01"
lista = [numero, palavra, False, True] #lista contendo
valores de vários tipos
33. Referências
Tec. em Sistemas para Internet - IFMS 33
History of programming languages. Disponível em http://tinyurl.com/48cf4u.
Acessado em 25 de março de 2013.