SlideShare uma empresa Scribd logo
1 de 33
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.

Mais conteúdo relacionado

Semelhante a Conceitos Iniciais LP I

silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?
Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?
Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?Paulo Vital
 
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Fernando Luiz Cola
 
Linux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das CoisasLinux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das CoisasAndré Curvello
 
software tipos.ppt
software tipos.pptsoftware tipos.ppt
software tipos.pptLinaKelly3
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesAdriano Teixeira de Souza
 
Soi2011 partei
Soi2011 parteiSoi2011 partei
Soi2011 parteipaulocsm
 
Linux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosLinux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosAndré Curvello
 
Softwares e Aplicativos Windows
Softwares e Aplicativos WindowsSoftwares e Aplicativos Windows
Softwares e Aplicativos WindowsRobson Santos
 
Softwares E Aplicativos Robs
Softwares E Aplicativos RobsSoftwares E Aplicativos Robs
Softwares E Aplicativos RobsRobson Santos
 
Computação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralIgor José F. Freitas
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkFlávio Lisboa
 

Semelhante a Conceitos Iniciais LP I (20)

silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?
Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?
Programação Multicore: Como sobreviver a esta revolução usando o Pinguim?
 
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
 
Linux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das CoisasLinux Embarcado - O Sistema Operacional da Internet das Coisas
Linux Embarcado - O Sistema Operacional da Internet das Coisas
 
Cygwin
CygwinCygwin
Cygwin
 
software tipos.ppt
software tipos.pptsoftware tipos.ppt
software tipos.ppt
 
Apostila SO
Apostila SOApostila SO
Apostila SO
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
Soi2011 partei
Soi2011 parteiSoi2011 partei
Soi2011 partei
 
Linux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosLinux Embarcado na Construção de Sistemas Inteligentes e Conectados
Linux Embarcado na Construção de Sistemas Inteligentes e Conectados
 
Softwares e Aplicativos Windows
Softwares e Aplicativos WindowsSoftwares e Aplicativos Windows
Softwares e Aplicativos Windows
 
Softwares E Aplicativos Robs
Softwares E Aplicativos RobsSoftwares E Aplicativos Robs
Softwares E Aplicativos Robs
 
Hierarquia de níveis
Hierarquia de níveisHierarquia de níveis
Hierarquia de níveis
 
Computação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem GeralComputação Paralela - Uma Abordagem Geral
Computação Paralela - Uma Abordagem Geral
 
Aula1.1-SOeRedes
Aula1.1-SOeRedesAula1.1-SOeRedes
Aula1.1-SOeRedes
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 

Mais de Patrícia Melo

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControlePatrícia Melo
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processoPatrícia Melo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxPatrícia Melo
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptxPatrícia Melo
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.pptPatrícia Melo
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.pptPatrícia Melo
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...Patrícia Melo
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 

Mais de Patrícia Melo (16)

Java Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de ControleJava Fundamentos Estrutura de Controle
Java Fundamentos Estrutura de Controle
 
Ciclo de vida processo
Ciclo de vida processoCiclo de vida processo
Ciclo de vida processo
 
Engenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptxEngenharia de Software - Requisito.pptx
Engenharia de Software - Requisito.pptx
 
Ciencia.ppt
Ciencia.pptCiencia.ppt
Ciencia.ppt
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
IP_Notas01.ppt
IP_Notas01.pptIP_Notas01.ppt
IP_Notas01.ppt
 
03modelos.ppt
03modelos.ppt03modelos.ppt
03modelos.ppt
 
Aula 09b.ppt
Aula 09b.pptAula 09b.ppt
Aula 09b.ppt
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
TOF.ppt
TOF.pptTOF.ppt
TOF.ppt
 
MidCell-apresentacao.ppt
MidCell-apresentacao.pptMidCell-apresentacao.ppt
MidCell-apresentacao.ppt
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
Relógios Lógicos
Relógios LógicosRelógios Lógicos
Relógios Lógicos
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
03modelos (1).ppt
03modelos (1).ppt03modelos (1).ppt
03modelos (1).ppt
 

Último

Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumPatrícia de Sá Freire, PhD. Eng.
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 

Último (20)

Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comum
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
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
  • 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: O WWW Man! Tec. em Sistemas para Internet - IFMS 16
  • 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
  • 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. 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.