Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Conceitos Iniciais de Linguagens de Programação

4,699 views

Published on

Published in: Technology
  • Be the first to comment

Conceitos Iniciais de Linguagens de Programação

  1. 1. Tecnologia em Sistemas para Internet - IFMSAula 01 - Conceitos Iniciais de Linguagensde ProgramaçãoLinguagem de Programação IProf.º Msc. Sidney Roberto de Sousa
  2. 2. Tec. em Sistemas para Internet - IFMS 2Sumá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 atipagem
  3. 3. Tec. em Sistemas para Internet - IFMS 3Linguagem de programação? O que é isto?“linguagem artificial desenvolvida para comunicar instruções para uma máquina”
  4. 4. Tec. em Sistemas para Internet - IFMS 4Linguagem de programação? Para o que serve?● Criar programas que controlam ocomportamento de uma máquina● Expressar algoritmos
  5. 5. Tec. em Sistemas para Internet - IFMS 5História: De 1800 a 1900Jacguard LoomPianola
  6. 6. Tec. em Sistemas para Internet - IFMS 6História: De 1800 a 1900Ada Lovelace e a máquina anaĺitica
  7. 7. Tec. em Sistemas para Internet - IFMS 7História: De 1800 a 1900Cartões perfurados (utilizados até hoje!)
  8. 8. Tec. em Sistemas para Internet - IFMS 8História: Primeira metade do século 20ENIAC: Interruptores e cabos
  9. 9. Tec. em Sistemas para Internet - IFMS 9Histó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: inventadapor John Backus et al● LISP (LISt Processor) - 1958: inventada por JohnMcCarthy et al● COBOL (COmmon Business Oriented Language) -1959: criada pelo Short Range Committee● BASIC (Beginners All-purpose Symbolic InstructionCode) - 1964: inventada por John Kermeny et al
  10. 10. Tec. em Sistemas para Internet - IFMS 10Histó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 Chamberline Raymond Boyce
  11. 11. Tec. em Sistemas para Internet - IFMS 11Histó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 Chamberline Raymond Boyce
  12. 12. Tec. em Sistemas para Internet - IFMS 12Dennis Ritchie (1941-2011)
  13. 13. Tec. em Sistemas para Internet - IFMS 13História: Anos 80● C++ - 1983: criada por Bjarne Stroustrup● Objective-C - 1983: criada por Brad Cox eTom Love● MATLAB (MATrix LABoratory) - fim dos anos70: criada por Cleve Moler● Perl - 1987: criada por Larry Wall
  14. 14. Tec. em Sistemas para Internet - IFMS 14Histó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. 15. Tec. em Sistemas para Internet - IFMS 15Histó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. 16. Tec. em Sistemas para Internet - IFMS 16Tim Berners-Lee: O WWW Man!
  17. 17. Tec. em Sistemas para Internet - IFMS 17Histó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: criadapela Microsoft● Groovy - 2003: criada por James Strachan● Scala - 2003: criada por Martin Odersky
  18. 18. Tec. em Sistemas para Internet - IFMS 18Histó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: criadapela Microsoft● Groovy - 2003: criada por James Strachan● Scala - 2003: criada por Martin OderskyQuem vai substituir alinguagem Java?
  19. 19. Tec. em Sistemas para Internet - IFMS 19Níveis de Linguagens de Programação● Linguagens de programação costumam serclassificadas de várias formas● Uma forma mais simples de classificação é apor níveis. Esta classificação pode conter osseguintes níveis:– Linguagens de baixo nível– Linguagens de alto nível– Linguagens de altíssimo nível
  20. 20. Tec. em Sistemas para Internet - IFMS 20Linguagens de baixo nível● Linguagens mais próximas à linguagem demáquina (bits zero e um)● Exemplos:– Assembly– C (depende do ponto de vista...)
  21. 21. Tec. em Sistemas para Internet - IFMS 21Linguagens de alto nível● Possuem um alto nível de abstração dosdetalhes da máquina● Pode utiliza elementos de linguagem natural● Exemplos:– Java– Python– Ruby– Scala
  22. 22. Tec. em Sistemas para Internet - IFMS 22Linguagens de altíssimo nível● Possuem um nível muito alto de abstração, sendoutilizadas a priori como uma ferramenta deprodutividade ao programador● Costumam ser limitadas a necessidadesespecíficas● Exemplos:– mIRC scripting language– LiveCode– Magic xpi– Maker
  23. 23. Tec. em Sistemas para Internet - IFMS 23Tipos de Linguagens de ProgramaçãoLinguagens de programação também podemser divididas entre os seguintes tipos:● Linguagens de script● Linguagens interpretadas● Linguagens compiladas
  24. 24. Tec. em Sistemas para Internet - IFMS 24Linguagens de Script● São executadas do interior de programas ou de outraslinguagens de programação, não ficando restritas aestes ambientes● Todas as linguagens de script são linguagensinterpretadas; porém, a recíproca não é verdadeira● Exemplos:– JavaScript– Lua– PHP– Python
  25. 25. Tec. em Sistemas para Internet - IFMS 25Linguagens Interpretadas● Seu código fonte é executado por interpretadores, para depoisser executado pelo sistema operacional ou processador● Em algumas destas linguagens, o código criado é traduzido para oque é chamado de bytecodes, o qual por sua vez é interpretadonuma máquina virtual● Exemplos:– Java– Python– C#– PHP– VBScript
  26. 26. Tec. em Sistemas para Internet - IFMS 26Linguagens Compiladas● Seu código fonte é traduzido e executado diretamente pelosistema 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. 27. Tec. em Sistemas para Internet - IFMS 27Linguagens de Programação quanto a TipagensAlém das questões vistas anteriormente, aslinguagens de programação também podem serclassificadas quanto a tipagem de suasvariáveis, objetos, funções, métodos, classes,etc.
  28. 28. Tec. em Sistemas para Internet - IFMS 28Linguagens fortemente tipadasEspecificam uma ou mais restrições a respeitode como operações envolvendo valores dediferentes tipos de dados podem ser“misturados”
  29. 29. Tec. em Sistemas para Internet - IFMS 29Exemplo: JavaInteger numero = 1;String palavra = “1”;numero = numero + Integer.parseInt(palavra); //resultado: 2
  30. 30. Tec. em Sistemas para Internet - IFMS 30Linguagens fracamente tipadasPermitem conversões de tipos de dados deforma implícita.
  31. 31. Tec. em Sistemas para Internet - IFMS 31Exemplo: JavaScriptvar variavel = 1; //contém o número 1var outraVariavel = “1”; //contém uma string com o único caractere 0variavel = variavel + outraVariavel; //resultado: “11”
  32. 32. Tec. em Sistemas para Internet - IFMS 32Exemplo: Pythonnumero = 1palavra = "0"numero = numero + int(palavra) #resultado: 1palavra = palavra + str(numero) #resultado: "01"lista = [numero, palavra, False, True] #lista contendo valores de vários tipos
  33. 33. Tec. em Sistemas para Internet - IFMS 33ReferênciasHistory of programming languages. Disponível em http://tinyurl.com/48cf4u.Acessado em 25 de março de 2013.

×