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
Tec. em Sistemas para Internet - IFMS 2
Sumário
● 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
Tec. em Sistemas para Internet - IFMS 3
Linguagem de programação? O que é isto?
“linguagem artificial desenvolvida 
para comunicar instruções para uma 
máquina”
Tec. em Sistemas para Internet - IFMS 4
Linguagem de programação? Para o que serve?
● Criar programas que controlam o
comportamento de uma máquina
● Expressar algoritmos
Tec. em Sistemas para Internet - IFMS 5
História: De 1800 a 1900
Jacguard Loom
Pianola
Tec. em Sistemas para Internet - IFMS 6
História: De 1800 a 1900
Ada Lovelace e a máquina anaĺitica
Tec. em Sistemas para Internet - IFMS 7
História: De 1800 a 1900
Cartões perfurados (utilizados até hoje!)
Tec. em Sistemas para Internet - IFMS 8
História: Primeira metade do século 20
ENIAC: Interruptores e cabos
Tec. em Sistemas para Internet - IFMS 9
História: Anos 50 e 60
● 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
Tec. em Sistemas para Internet - IFMS 10
História: Anos 70
● 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
Tec. em Sistemas para Internet - IFMS 11
História: Anos 70
● 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
Tec. em Sistemas para Internet - IFMS 12
Dennis Ritchie (1941-2011)
Tec. em Sistemas para Internet - IFMS 13
História: Anos 80
● 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
Tec. em Sistemas para Internet - IFMS 14
História: Anos 90
● 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
Tec. em Sistemas para Internet - IFMS 15
História: Anos 90
● 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
Tec. em Sistemas para Internet - IFMS 16
Tim Berners-Lee: O WWW Man!
Tec. em Sistemas para Internet - IFMS 17
História: De 2000 até os dias atuais
● 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
Tec. em Sistemas para Internet - IFMS 18
História: De 2000 até os dias atuais
● 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
Quem vai substituir a
linguagem Java?
Tec. em Sistemas para Internet - IFMS 19
Níveis de Linguagens de Programação
● 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
Tec. em Sistemas para Internet - IFMS 20
Linguagens de baixo nível
● Linguagens mais próximas à linguagem de
máquina (bits zero e um)
● Exemplos:
– Assembly
– C (depende do ponto de vista...)
Tec. em Sistemas para Internet - IFMS 21
Linguagens de alto nível
● Possuem um alto nível de abstração dos
detalhes da máquina
● Pode utiliza elementos de linguagem natural
● Exemplos:
– Java
– Python
– Ruby
– Scala
Tec. em Sistemas para Internet - IFMS 22
Linguagens de altíssimo nível
● 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
Tec. em Sistemas para Internet - IFMS 23
Tipos de Linguagens de Programação
Linguagens de programação também podem
ser divididas entre os seguintes tipos:
● Linguagens de script
● Linguagens interpretadas
● Linguagens compiladas
Tec. em Sistemas para Internet - IFMS 24
Linguagens de Script
● 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
Tec. em Sistemas para Internet - IFMS 25
Linguagens Interpretadas
● 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
Tec. em Sistemas para Internet - IFMS 26
Linguagens Compiladas
● 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
Tec. em Sistemas para Internet - IFMS 27
Linguagens de Programação quanto a Tipagens
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.
Tec. em Sistemas para Internet - IFMS 28
Linguagens fortemente tipadas
Especificam uma ou mais restrições a respeito
de como operações envolvendo valores de
diferentes tipos de dados podem ser
“misturados”
Tec. em Sistemas para Internet - IFMS 29
Exemplo: Java
Integer numero = 1;
String palavra = “1”;
numero = numero + Integer.parseInt(palavra); //resultado: 2
Tec. em Sistemas para Internet - IFMS 30
Linguagens fracamente tipadas
Permitem conversões de tipos de dados de
forma implícita.
Tec. em Sistemas para Internet - IFMS 31
Exemplo: JavaScript
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”
Tec. em Sistemas para Internet - IFMS 32
Exemplo: Python
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
Tec. em Sistemas para Internet - IFMS 33
Referências
History of programming languages. Disponível em http://tinyurl.com/48cf4u.
Acessado em 25 de março de 2013.

Conceitos Iniciais de Linguagens de Programação

  • 1.
    Tecnologia em Sistemaspara Internet - IFMS Aula 01 - Conceitos Iniciais de Linguagens de Programação Linguagem de Programação I Prof.º Msc. Sidney Roberto de Sousa
  • 2.
    Tec. em Sistemaspara Internet - IFMS 2 Sumário ● 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.
    Tec. em Sistemaspara Internet - IFMS 3 Linguagem de programação? O que é isto? “linguagem artificial desenvolvida  para comunicar instruções para uma  máquina”
  • 4.
    Tec. em Sistemaspara Internet - IFMS 4 Linguagem de programação? Para o que serve? ● Criar programas que controlam o comportamento de uma máquina ● Expressar algoritmos
  • 5.
    Tec. em Sistemaspara Internet - IFMS 5 História: De 1800 a 1900 Jacguard Loom Pianola
  • 6.
    Tec. em Sistemaspara Internet - IFMS 6 História: De 1800 a 1900 Ada Lovelace e a máquina anaĺitica
  • 7.
    Tec. em Sistemaspara Internet - IFMS 7 História: De 1800 a 1900 Cartões perfurados (utilizados até hoje!)
  • 8.
    Tec. em Sistemaspara Internet - IFMS 8 História: Primeira metade do século 20 ENIAC: Interruptores e cabos
  • 9.
    Tec. em Sistemaspara Internet - IFMS 9 História: Anos 50 e 60 ● 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.
    Tec. em Sistemaspara Internet - IFMS 10 História: Anos 70 ● 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.
    Tec. em Sistemaspara Internet - IFMS 11 História: Anos 70 ● 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
  • 12.
    Tec. em Sistemaspara Internet - IFMS 12 Dennis Ritchie (1941-2011)
  • 13.
    Tec. em Sistemaspara Internet - IFMS 13 História: Anos 80 ● 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.
    Tec. em Sistemaspara Internet - IFMS 14 História: Anos 90 ● 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.
    Tec. em Sistemaspara Internet - IFMS 15 História: Anos 90 ● 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
  • 16.
    Tec. em Sistemaspara Internet - IFMS 16 Tim Berners-Lee: O WWW Man!
  • 17.
    Tec. em Sistemaspara Internet - IFMS 17 História: De 2000 até os dias atuais ● 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.
    Tec. em Sistemaspara Internet - IFMS 18 História: De 2000 até os dias atuais ● 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 Quem vai substituir a linguagem Java?
  • 19.
    Tec. em Sistemaspara Internet - IFMS 19 Níveis de Linguagens de Programação ● 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.
    Tec. em Sistemaspara Internet - IFMS 20 Linguagens de baixo nível ● Linguagens mais próximas à linguagem de máquina (bits zero e um) ● Exemplos: – Assembly – C (depende do ponto de vista...)
  • 21.
    Tec. em Sistemaspara Internet - IFMS 21 Linguagens de alto nível ● 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.
    Tec. em Sistemaspara Internet - IFMS 22 Linguagens de altíssimo nível ● 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.
    Tec. em Sistemaspara Internet - IFMS 23 Tipos de Linguagens de Programação Linguagens de programação também podem ser divididas entre os seguintes tipos: ● Linguagens de script ● Linguagens interpretadas ● Linguagens compiladas
  • 24.
    Tec. em Sistemaspara Internet - IFMS 24 Linguagens de Script ● 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.
    Tec. em Sistemaspara Internet - IFMS 25 Linguagens Interpretadas ● 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.
    Tec. em Sistemaspara Internet - IFMS 26 Linguagens Compiladas ● 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.
    Tec. em Sistemaspara Internet - IFMS 27 Linguagens de Programação quanto a Tipagens 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.
    Tec. em Sistemaspara Internet - IFMS 28 Linguagens fortemente tipadas Especificam uma ou mais restrições a respeito de como operações envolvendo valores de diferentes tipos de dados podem ser “misturados”
  • 29.
    Tec. em Sistemaspara Internet - IFMS 29 Exemplo: Java Integer numero = 1; String palavra = “1”; numero = numero + Integer.parseInt(palavra); //resultado: 2
  • 30.
    Tec. em Sistemaspara Internet - IFMS 30 Linguagens fracamente tipadas Permitem conversões de tipos de dados de forma implícita.
  • 31.
    Tec. em Sistemaspara Internet - IFMS 31 Exemplo: JavaScript 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.
    Tec. em Sistemaspara Internet - IFMS 32 Exemplo: Python 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.
    Tec. em Sistemaspara Internet - IFMS 33 Referências History of programming languages. Disponível em http://tinyurl.com/48cf4u. Acessado em 25 de março de 2013.