Baixe o app para aproveitar ainda mais
Prévia do material em texto
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: JavaScriptvar 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. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33
Compartilhar