apresentação do powerpointarieldias.com/material/2018-1/plp/aula1.pdf · 2018-03-15 ·...

32
15/03/2018 1 Professor Ariel da Silva Dias Evolução das Principais Linguagens de Programação Década de 40: código de máquina No início da década não havia nenhuma linguagem de programação de alto nível e nem linguagem de montagem; Problemas no desenvolvimento com código de máquina motivaram inventar os assemblers e as linguagens de montagem; “Problemas que demoravam duas semanas para rodar em código de máquina, podiam ser programados em algumas horas usando Speedcoding”. Linguagens Short code, Speedcoding. Professor Ariel da Silva Dias - www.arieldias.com

Upload: dongoc

Post on 07-Nov-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

1

Professor Ariel da Silva DiasEvolução das Principais Linguagens de

Programação

Década de 40: código de máquina◦ No início da década não havia nenhuma linguagem de

programação de alto nível e nem linguagem de montagem;

◦ Problemas no desenvolvimento com código de máquinamotivaram inventar os assemblers e as linguagens demontagem;

◦ “Problemas que demoravam duas semanas para rodar emcódigo de máquina, podiam ser programados em algumashoras usando Speedcoding”.

Linguagens◦ Short code, Speedcoding.

Professor Ariel da Silva Dias - www.arieldias.com

Page 2: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

2

Década de 50: Programação Alto Nível◦ Formatação de entrada e saída;

◦ Nome de variáveis de até 6 caracteres (no Fortran 1, pois noFortran 0 eram apenas 2 caracteres);

◦ Instrução de seleção IF e a instrução DO LOOP;

◦ Interesse por IA em meados do século;

◦ Fortran mudou drasticamente e para sempre o uso decomputadores.

Linguagens◦ Primeira linguagem de alto nível compilada (Imperativa):

Fortran

◦ Linguagem para Inteligência Artificial (Funcional): LISP

Professor Ariel da Silva Dias - www.arieldias.com

Década de 60: Independência de Arquitetura◦ Algol influenciou as linguagens de programação

subsequente;

◦ Permitiu dois meios diferentes de passagem de parâmetros:por valor e por nome;

◦ Permitiu que os procedimentos fossem recursivos;

◦ Surge o acesso por terminal remoto a um computador(antes disso, a maioria dos programas eram introduzidospor cartão perfurados ou fita de papel);

Linguagens◦ Paradigma Estruturado: ALGOL

◦ Paradigma Orientado a Objeto: COBOL

◦ Paradigma Procedural: Basic

Professor Ariel da Silva Dias - www.arieldias.com

Page 3: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

3

Década de 70: Simplicidade de Projeto◦ Linguagem mais segura – PASCAL;

◦ A academia troca o ensino do FORTRAN para PASCAL;

◦ Pouca contribuição para o desenvolvimento de novaslinguagens;

◦ Instruções de controle adequadas e facilidades deestruturação de dados;

Linguagens◦ Paradigma Estruturado: PASCAL

◦ Paradigma Imperativo: C

Professor Ariel da Silva Dias - www.arieldias.com

Década de 80: modularização◦ Ênfase em mecanismos de LP e abstrações

◦ Correção de programas: verificação de tipos, exceções

◦ Programação em tempo real, e concorrente e distribuída

◦ Programação orientada a objetos (herança)

Linguagens◦ Programação distribuída: ADA 83

◦ Orientada a Objetos: Smalltalk

Professor Ariel da Silva Dias - www.arieldias.com

Page 4: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

4

Década de 90: base na estrutura◦ Estruturação de Dados: encapsulamento

◦ Estruturação da Computação: classe

◦ Estruturação do Programa: classes e objetos

◦ Programação para Internet: plataforma neutra

Linguagens◦ Object Pascal

◦ C++

◦ ADA 95

◦ Java

Professor Ariel da Silva Dias - www.arieldias.com

Figura 1 – Genealogia das Linguagens de Programação de alto nível

Professor Ariel da Silva Dias - www.arieldias.com

Page 5: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

5

1 – Quanto ao Nível

2 – Quanto a Geração

3 – Quanto ao Paradigma

Professor Ariel da Silva Dias - www.arieldias.com

1.1 – Baixo Nível

1.2 – Médio Nível

1.3 – Alto Nível

Professor Ariel da Silva Dias - www.arieldias.com

Page 6: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

6

São linguagens voltadas para a máquina;

Genericamente são chamadas de linguagensAssembly.

Professor Ariel da Silva Dias - www.arieldias.com

Vantagens: Maior velocidade de processamento;ocupa menos espaço na memória.

Desvantagens: Pouca portabilidade, logo, umcódigo gerado para um tipo de processador nãoserve para outro; difícil de ser programado.

Professor Ariel da Silva Dias - www.arieldias.com

Page 7: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

7

São linguagens voltadas ao ser humano e amáquina;

Possuem comandos muito simples e outros muitocomplicados;

Exemplo: Linguagem C – Pode-se acessar registrosdo sistemas, acessar diretamente a memória e, aomesmo tempo, realizar operações de alto nívelcomo condicionais e estrutura de repetição.

Professor Ariel da Silva Dias - www.arieldias.com

Vantagens: Linguagens poderosas, permitindo odesenvolvimento de diversos tipos de softwares,desde os mais simples aos mais complexos.

Desvantagens: Alguns comandos com sintaxemuito difícil de compreender.

Professor Ariel da Silva Dias - www.arieldias.com

Page 8: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

8

São linguagens voltadas ao ser humano;

Utilizam sintaxe mais estruturada, tornando o seucódigo mais fácil de entender e de reparar;

São linguagens independentes da arquitetura docomputador*;

Professor Ariel da Silva Dias - www.arieldias.com

Vantagens: por serem compiladas ou interpretadas,possuem maior portabilidade, podendo serexecutadas em várias plataformas com o mínimode alterações; Por ser uma linguagem menosestruturada, a programação torna-se mais fácil

Desvantagens: As rotinas geradas (em linguagemde máquina) são mais genéricas e, por tanto, maiscomplexas e assim, são mais lentas e ocupam maismemória.

Professor Ariel da Silva Dias - www.arieldias.com

Page 9: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

9

2.1 – 1ª Geração

2.2 – 2ª Geração

2.3 – 3ª Geração

2.4 – 4ª Geração

2.5 – 5ª Geração

Professor Ariel da Silva Dias - www.arieldias.com

Os primeiros computadores eram programados emlinguagem de máquina, em notação binária

A instrução 0010 0001 0110 1100, quandoexecutada, realiza a soma do valor armazenado noregistrador 0001, com o dado armazenado naposição de memória 01101100

Professor Ariel da Silva Dias - www.arieldias.com

Page 10: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

10

Compreende as linguagens simbólica ou de montagem(Assembly);

Foi projetada para minimizar as dificuldades daprogramação em notação binária

Códigos de operação e endereços binários foramsubstituídos por mnemônicos: mov, mul, add, label,goto

Assim, a instrução de máquina 0010 0001 0110 1100evoluiu para:

ADD R1, Total

Professor Ariel da Silva Dias - www.arieldias.com Professor Ariel da Silva Dias - www.arieldias.com

Page 11: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

11

Projeto em Delphi 22 linhas, revertendo para Assembly terá aproximadamente 15 mil linhas!

Professor Ariel da Silva Dias - www.arieldias.com

Linguagem orientada ao usuário

Surgiram na década de 60

Algumas são voltadas a solução de problemascientíficos: Fortran, Pascal, Algol.

Outras são voltadas para solução de problemascomerciais: Cobol

Linguagens Procedimentais (procedurais ouimperativas) e Linguagens Declarativas

Professor Ariel da Silva Dias - www.arieldias.com

Page 12: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

12

Linguagem Procedimentais: o programa específicauma sequência de passos (procedimentos) parasolucionar um problema

As instruções pertencem geralmente a três classes:

- instruções de entrada e saída

- instruções de cálculos aritméticos e lógicos

- instruções de controle de fluxo de execução.

Professor Ariel da Silva Dias - www.arieldias.com

Linguagens Declarativas: dividem-se em duasclasses:

◦ Funcionais

- Baiseiam-se na teoria das funções recursivas (LISP)

◦ Lógicas

- A base é a lógica matemática, um programa declara fatos(dados e relações entre eles) e cláusulas lógicas (regras dededução), permitindo deduzir novas verdades (PROLOG)

Professor Ariel da Silva Dias - www.arieldias.com

Page 13: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

13

Exemplo Prolog:

gosta(joão,flores).gosta(joão,maria).gosta(paulo,maria).

Em seguida realizaremos uma questão:?- gosta(joão,X).

Professor Ariel da Silva Dias - www.arieldias.com

Exemplo Prolog:

Dados os fatos:pai(arthur,silvio).pai(arthur,carlos).pai(carlos,xico).pai(silvio,ricardo).

Utilizaremos a seguinte regra:avo(X,Z) :- pai(X,Y), pai(Y,Z).

Se colocarmos as querys abaixo, qual serão as saídas (YES ou NO)? ?- avo(arthur,xico),avo(arthur,ricardo).?- avo(carlos,arthur),avo(silvio,arthur).

Professor Ariel da Silva Dias - www.arieldias.com

Page 14: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

14

Professor Ariel da Silva Dias - www.arieldias.com

Linguagens orientadas à aplicação

Os programas escritos em linguagens de quarta geraçãonecessitam de menor número de linhas de código

Em geral, essas linguagens são projetadas para atender a classesespecíficas de aplicações

Facilita a programação e o produto final é intuitivo para ousuário*

Mais agilidade para o desenvolvimento de aplicações

Minimiza o problema de depuração

Exemplo de linguagens: SQL, PHP

Professor Ariel da Silva Dias - www.arieldias.com

Page 15: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

15

São usadas principalmente na área de IA – sistemasespecialistas, processadores de linguagem naturale sistemas com bases de conhecimento

Facilitam a representação do conhecimento que éessencial para a simulação de comportamentosinteligentes

Armazena conhecimento complexo de modo que amáquina pode obter inferências a partir dainformação codificada

Professor Ariel da Silva Dias - www.arieldias.com

Dicionário:

1. Algo que serve de exemplo geral ou de modelo;

2. Conjunto das formas que servem de modelo de derivação ou de flexão;

3. Conjunto dos termos ou elementos que podem ocorrer na mesma posição ou contexto de uma estrutura.

Professor Ariel da Silva Dias - www.arieldias.com

Page 16: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

16

Forma utilizada para resolver um problemacomputacional;

O paradigma de uma linguagem de programação éa sua identidade

Pode dizer-se que um paradigma é um ponto de vista que determina como uma realidade é entendida e

como se atua sobre ela

Professor Ariel da Silva Dias - www.arieldias.com

Algumas linguagens criadas durante a história,introduziram novas formas de se pensar sobreprogramação, resultando em formas (paradigmas)distintas de soluções para problemas de algoritmos

Fortran: imperativa

LISP: funcional

Simula: orientada a objetos

Prolog: lógica

Professor Ariel da Silva Dias - www.arieldias.com

Page 17: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

17

Outras linguagens são evolução de linguagens maisantigas

Exemplo: Linguagem C++ Trata-se de uma evoluçãoda linguagem C (imperativa) com características deorientação a objetos, importadas de Simula

Exemplo: Linguagem C++ Paradigma orientada aobjetos + paradigma concorrente

Exemplo: ADA Paradigma Imperativo + paradigmaconcorrente

Professor Ariel da Silva Dias - www.arieldias.com Professor Ariel da Silva Dias - www.arieldias.com

Page 18: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

18

Paradigma Imperativo (estado, atribuição,sequência)◦ Basic, Pascal, C, Assembly, ADA

Paradigma Funcional (função, aplicação, avaliação)◦ Lisp, Miranda, Haskell, SCHEME

Paradigma Lógico (relação, dedução)◦ Prolog

Paradigma Orientado a Objetos (objeto, troca demensagem)◦ C++, JAVA, Eiffel, Ocaml, Python

Paradigma Concorrente (processo, comunicação –síncrona ou assíncrona)◦ Ada, JAVA

Professor Ariel da Silva Dias - www.arieldias.com

As linguagens a seguir foram selecionadas combase nos rankings TIOBE e IEEE Spectrum;

Como os rankings sofrem atualizações constantes,serão apresentadas as linguagens que ficaram nosprimeiros lugares e outras com tendência de subirno ranking.

Professor Ariel da Silva Dias - www.arieldias.com

Page 19: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

19

Figura1 – Ranking IEEE Spectrum (2017)

Professor Ariel da Silva Dias - www.arieldias.com

Figura2 – Ranking IEEE Spectrum – WEB (2017)

Professor Ariel da Silva Dias - www.arieldias.com

Page 20: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

20

Figura3 – Ranking IEEE Spectrum – MOBILE (2017)

Professor Ariel da Silva Dias - www.arieldias.com

Figura4 – Ranking IEEE Spectrum – Acadêmico e Empresarial (2017)

Professor Ariel da Silva Dias - www.arieldias.com

Page 21: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

21

Figura5 – Ranking IEEE Spectrum – Embarcado (2017)

Professor Ariel da Silva Dias - www.arieldias.com

Figura6 – Ranking TIOBE (2017)

Professor Ariel da Silva Dias - www.arieldias.com

Page 22: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

22

História◦ Década de 70: Dennis Ritchie – AT&T Bell Labs;

◦ Seu uso inicial ficou restrito a alguns laboratórios;

◦ 1978 - Kernighan e Ritchie lançaram o livro The CProgramming Language;

◦ A partir desta publicação, C ganhou novas características:Biblioteca padrão de I/O, structs, long int, unsign int;

◦ De 1983 a 1989 comitê ANSI.

Características◦ Paradigma Imperativo;

◦ Acesso direto a memória e disco.

Professor Ariel da Silva Dias - www.arieldias.com

#include <stdio.h>

int main(void)

{

for(int i=0; i<4; i++)

printf("Hello, world!\n");

return 0;

}

Professor Ariel da Silva Dias - www.arieldias.com

Page 23: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

23

História◦ Década de 80: Bjarne Stroustrup;

◦ Objetivo inicial era criar uma nova versão para o KernelUnix;

◦ Durante o desenvolvimento do novo kernel, novasfuncionalidades foram adicionadas a linguagem C;

◦ O nome inicial era C com classes, 3 anos depois passou aser chamada de C++.

Características◦ Multi-Paradigma;

◦ Compatibilidade com C;

◦ Portabilidade.

Professor Ariel da Silva Dias - www.arieldias.com

#include <iostream>

int main()

{

for(int i=0; i<4; i++)

std::cout << "Hello, world!\n";

}

Professor Ariel da Silva Dias - www.arieldias.com

Page 24: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

24

História◦ Década de 90: Projeto Green – Sun Microsystem;

◦ Criar novas tecnologias que permitissem a comunicaçãoentre diferentes dispositivos (TV, vídeo cassete, etc);

◦ O projeto não deu certo – origem à Linguagem Java;

◦ A expansão da internet permitiu o crescimento epopularização da linguagem.

Características◦ Sintaxe similar a outras mais antigas como C e C++;

◦ Paradigma Orientado a Objetos;

◦ Portabilidade: WORA.

Professor Ariel da Silva Dias - www.arieldias.com

import java.util.*;import java.lang.*;

class Rextester{

public static void main(String args[]){

for(int i=0; i<4; i++)System.out.println("Hello, World!");

}}

Professor Ariel da Silva Dias - www.arieldias.com

Page 25: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

25

História◦ Início dos anos 90 – Instituto de Pesquisa Nacional para

Matemática e Ciência da Computação (CWI) – Países Baixos;

◦ Parte da sintaxe deriva de C;

◦ Terceira versão da linguagem foi lançada em dezembro de2008;

Características◦ Legibilidade do código, com sintaxe moderna e clara;

◦ Suporte a múltiplos paradigmas de programação;

◦ Poema: The Zen of Python

Professor Ariel da Silva Dias - www.arieldias.com

for x in range(0, 4):

print ("Hello, World!")

Professor Ariel da Silva Dias - www.arieldias.com

Page 26: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

26

História◦ JavaScript ≠ Java;

◦ Desenvolvida pela Netscape com nome de LiveScript;

◦ Criada para navegadores com objetivo de proporcionarmaior interatividade nas páginas;

◦ Sua última versão é de março de 2011;

◦ Influenciada por C e Java;

Características◦ Não é exatamente uma linguagem de programação;

◦ Pode ser executada dentro de programas ou dentro deoutras linguagens;

◦ Client-Side.

Professor Ariel da Silva Dias - www.arieldias.com

for (var i = 0; i < 4; i++) {

print("Hello, world!")

}

Professor Ariel da Silva Dias - www.arieldias.com

Page 27: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

27

História◦ Criada em 1994;

◦ Em 1997 foi lançado um pacote trazendo um interpretador decomandos SQL;

◦ A terceira versão (PHP 3) contava com o recurso de orientaçãoa objetos;

◦ Em 1998, Zeev e Gutmans escreveram o PHP 4, abandonandocompletamente o PHP 3;

◦ O PHP 5 veio para corrigir algumas falhas em relação a OOpresente no PHP5;

Características◦ Modularizada, ideal para servidores web;

◦ Suporte a programação estruturada e a orientação a objetos;

◦ Server-side.

Professor Ariel da Silva Dias - www.arieldias.com

<?php

for($i = 0; $i < 4; $i++){

echo "Hello, world! ";

}

?>

Professor Ariel da Silva Dias - www.arieldias.com

Page 28: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

28

História◦ Julho 2002: Microsoft;

◦ Faz parte de um conjunto de ferramentas oferecidas na plataforma.NET, a qual foi criada para melhorar a comunicação entre diferentestecnologias utilizadas pela empresa;

◦ Pensava-se que C# era uma sobreposição de 4 símbolos +;

◦ Porém, a cerquilha se refere ao sinal sustenido, o qual aumenta emmeio tom uma nota;

◦ Foram realizadas 6 versões, e a sétima está em desenvolvimento.

Características◦ Paradigma orientado a objetos;

◦ Interface Web;

◦ Componentes de softwares de diferentes linguagens podem interagir;

◦ Sintaxe simples e de fácil compreensão.

Professor Ariel da Silva Dias - www.arieldias.com

using System;using System.Collections.Generic;using System.Linq;using System.Text.RegularExpressions;

namespace Rextester{

public class Program{

public static void Main(string[] args){

for(int i=0; i<4; i++)Console.WriteLine("Hello, world!");

}}

}

Professor Ariel da Silva Dias - www.arieldias.com

Page 29: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

29

História◦ Junho de 2011 - JetBrains;

◦ Segundo o criador, Dmitry Jemerov, a maioria daslinguagens não possuíam as características que elesestavam procurando;

◦ O objetivo era criar uma linguagem que compilasse tão oumais rápido que o java;

◦ Em 2017 o google anunciou suporte oficial para o Kotlin;

Características◦ Paradigma orientado a objetos;

◦ Interoperável com código java;

◦ Influenciada por java, C# e Scala.

Professor Ariel da Silva Dias - www.arieldias.com

fun main(args: Array<String>) {

for (i in 1..4)

println("Hello, world!")

}

Professor Ariel da Silva Dias - www.arieldias.com

Page 30: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

30

História◦ Apresentada pela Apple em 2015;

◦ Sua criação levou 5 anos;

◦ A linguagem é uma alternativa a objective-c;

◦ Linguagem open source – liberdade para os programadores;

Características◦ Uso geral;

◦ Multi-paradigmática.

Professor Ariel da Silva Dias - www.arieldias.com

for i in 0..<4 {

print("Hello, world!")

}

Professor Ariel da Silva Dias - www.arieldias.com

Page 31: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

31

O programador deve escolher a mais adequadapara usar em cada aplicação;

A escolha da LP está diretamente ligada a trêsfatores:◦ Complexidade do sistema a ser desenvolvido;

◦ Características peculiares da aplicação;

◦ Facilidades que as linguagens oferecem ao suporte demetodologias de desenvolvimento.

Professor Ariel da Silva Dias - www.arieldias.com

Veja a atividade no site www.arieldias.com

Professor Ariel da Silva Dias - www.arieldias.com

Page 32: Apresentação do PowerPointarieldias.com/material/2018-1/PLP/Aula1.pdf · 2018-03-15 · Correção de programas: verificação de tipos, exceções Programação em tempo real,

15/03/2018

32

Material de aula professor Celso Olivete JúniorUNESP

SEBESTA, Robert W. Conceitos de linguagens deprogramação. 9ª ed. Porto Alegre: Bookman, 2011.792 p. ISBN 978-85-7780-791-8.

IEEE Spectrum. Disponível em:https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages.

TIOBE. Disponível em:https://www.tiobe.com/tiobe-index/.

Professor Ariel da Silva Dias - www.arieldias.com