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
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
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”
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
História: De 1800 a 1900
Jacguard Loom
Tec. em Sistemas para Internet - IFMS 5
Pianola
História: De 1800 a 1900
Ada Lovelace e a máquina anaĺitica
Tec. em Sistemas para Internet - IFMS 6
História: De 1800 a 1900
Cartões perfurados (utilizados até hoje!)
Tec. em Sistemas para Internet - IFMS 7
História: Primeira metade do século 20
ENIAC: Interruptores e cabos
Tec. em Sistemas para Internet - IFMS 8
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
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
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
Dennis Ritchie (1941-2011)
Tec. em Sistemas para Internet - IFMS 12
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
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
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
Tim Berners-Lee: O WWW Man!
Tec. em Sistemas para Internet - IFMS 16
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
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
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
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...)
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
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
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
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
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
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
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.
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”
Exemplo: Java
Tec. em Sistemas para Internet - IFMS 29
Integer numero = 1;
String palavra = “1”;
numero = numero + Integer.parseInt(palavra); //resultado: 2
Linguagens fracamente tipadas
Tec. em Sistemas para Internet - IFMS 30
Permitem conversões de tipos de dados de
forma implícita.
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”
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
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.

Conceitos Iniciais LP I

  • 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.
    Sumário Tec. em Sistemaspara 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 1800a 1900 Jacguard Loom Tec. em Sistemas para Internet - IFMS 5 Pianola
  • 6.
    História: De 1800a 1900 Ada Lovelace e a máquina anaĺitica Tec. em Sistemas para Internet - IFMS 6
  • 7.
    História: De 1800a 1900 Cartões perfurados (utilizados até hoje!) Tec. em Sistemas para Internet - IFMS 7
  • 8.
    História: Primeira metadedo século 20 ENIAC: Interruptores e cabos Tec. em Sistemas para Internet - IFMS 8
  • 9.
    História: Anos 50e 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
  • 12.
    Dennis Ritchie (1941-2011) Tec.em Sistemas para Internet - IFMS 12
  • 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
  • 16.
    Tim Berners-Lee: OWWW Man! Tec. em Sistemas para Internet - IFMS 16
  • 17.
    História: De 2000até 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 2000até 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 Linguagensde 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 baixoní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 altoní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íssimoní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 Linguagensde 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. emSistemas 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. emSistemas 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çãoquanto 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. emSistemas para Internet - IFMS 29 Integer numero = 1; String palavra = “1”; numero = numero + Integer.parseInt(palavra); //resultado: 2
  • 30.
    Linguagens fracamente tipadas Tec.em Sistemas para Internet - IFMS 30 Permitem conversões de tipos de dados de forma implícita.
  • 31.
    Exemplo: JavaScript Tec. emSistemas 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. emSistemas 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 Sistemaspara Internet - IFMS 33 History of programming languages. Disponível em http://tinyurl.com/48cf4u. Acessado em 25 de março de 2013.