02 historia da programação

Post on 14-Jun-2015

378 views 2 download

Transcript of 02 historia da programação

HISTÓRIA DA COMPUTAÇÃOProf.: Marlon Vinicius da Silva

Disciplina: Computação e Algoritmo I

História da Computação

O primeiro invento que se tem registo, é o ábaco, utilizado pelos chineses em torno de 2000 a.C.

História da Computação

Em 1610 eram utilizadas as réguas de cálculo, que eram dispositivos manuais para realizar multiplicação e cálculo de logaritmos.

História da Computação

Entre 1822 e 1871, um inventor inglês chamado Charles Babbage, criou uma máquina de cálculo mecânica denominada de máquina diferencial.

História da Computação

Juntamente com Babbage, trabalhou a primeira programadora da história: a Condessa de Lovelace - Lady Ada Augusta Byron, responsável por auxiliar na programação das máquinas mecânicas criadas por Babbage.

História da Computação

Hermann Hollerith desenvolveu uma máquina que acelerava todo o processo de computação dos dados para ser utilizada na realização do censo de 1890, nos Estados Unidos.

História da Computação

Hollerith fundou sua própria empresa, a Tabulation Machine Company, no ano de 1914.

Após algumas fusões com outras empresas e anos no comando do empreendimento, Hoolerith veio a falecer.

Quando um substituto assumiu o seu lugar, em 1924, o nome da empresa foi alterado para Internacional Business Machine - IBM

História da Computação

O primeiro computador eletromecânico, o Mark I, foi criado em 1937, por uma pequena empresa norte-americana chamada IBM.

Em 1946, foi inventado o primeiro grande computador eletrônico valvulado: o ENIAC (Eletronic Numeric Integrator Analyser and Computer).

Gerações Dos Computadores 0a. Geração – Computadores Mecânicos 1a. Geração – Válvulas 2a. Geração – Transistores 3a. Geração – Circuitos Integrados 4a. Geração – VLSI 5a. Geração – Conectividade, mobilidade

Gerações Dos Computadores 1a. Geração – 1945 à 1955

Estímulo: 2a. Guerra Mundial Usavam válvulas eletrônicas Esquentavam MUITO Vários quilometros de fios Lentos Ocupavam MUITO espaço (enormes)

Gerações Dos Computadores 2a. Geração – 1955 à 1965

Substituiu válvulas por transistores Substituiu fios de ligação por circuito

impresso Estas substituições permitiram

Redução de custo Redução de tamanho Aumento da velocidade de processamento

Gerações Dos Computadores 3a. Geração – 1965 à 1980

Construída a partir de circuitos integrados Os circuitos integrados permitiram

Redução de custo Redução de tamanho Aumento da velocidade de processamento que

alcançou a ordem de microsegundos (10-6) Têm início o uso de Sistemas Operacionais

+ avançados

Gerações Dos Computadores 4a. Geração – 1980 à atual

Aperfeiçoamento da tecnologia atual VLSI (Very Large Scale Integration) VLSI permitiram

Redução de custo Redução de tamanho Aumento da velocidade de processamento que

alcançou a ordem de nanosegundos (10-9)

Gerações Dos Computadores “5a. Geração” – 1990 à atual

Aperfeiçoamento da tecnologia atual ULSI (Ultra Scale Integration) ULSI permitiram

Redução de custo Redução de tamanho Aumento da velocidade de processamento

Conectividade Mobilidade

Linguagens de Programação As linguagens de programação são anteriores

ao advento do primeiro computador moderno. D Babbagee início as linguagens eram apenas

códigos. Condessa Ada Lovelace, escreveu o primeiro

algoritmo, que foi processado pela máquina analítica de Charles

Herman Hollerith percebeu que poderia codificar os dados do censo de 1890 em cartões perfurados.

Linguagens de Programação Os primeiros códigos para computador

eram especializados segundo as aplicações.

Alonzo Church foi capaz de expressar o cálculo lambda de uma maneira formalizada

A máquina de Turing era uma abstração do funcionamento da máquina de uma fita de marcação, a sua utilização principal era na análise rigorosa da complexidade algorítmica

Linguagens de Programação A velocidade limitada e a capacidade da

memória forçava os programadores a escrever a mão economicamente programas em linguagem de montagem (linguagem de máquina).

Logo se descobriu que a programação em linguagem assembly exigia um grande esforço intelectual e era muito sujeita a erros.

Linguagens de Programação Na década de 1950 as primeiras três

linguagens de programação modernas, cujos descendentes ainda estão em uso difundido hoje foram concebidas: FORTRAN (1954), a "FORmula TRANslator",

inventada por John Backus e outros.; LISP, a "LISt Processor", inventada por John

McCarthy e outros.; COBOL, a COmmon Business Oriented

Language, criada pelo Short Range Committee, com grande influência de Grace Hopper.

Linguagens de Programação 1950 foi a publicação, por um comitê de cientistas

americanos e europeus, de "uma nova linguagem para os algoritmos", a ALGOL 60 Estrutura de blocos aninhados:

pedaços significativos de código poderiam ser agrupados em bloco de instruções, sem ter que ser transformados em procedimentos separados e ser explicitamente chamados;

Escopo léxico um bloco podia ter suas próprias variáveis não acessíveis

fora do bloco, e muito menos manipuláveis de fora do bloco. forma como a linguagem foi descrita:

Uma notação matemática exata, Backus-Naur (BNF), foi utilizada para descrever a sintaxe da linguagem.

Linguagens de Programação Algumas ideias-chave da linguagem Algol foram

tomadas, produzindo-se a linguagem ALGOL 68: A sintaxe e semântica se tornaram ainda mais

ortogonais, com rotinas anônimas, um sistema recursivo de digitação com funções de ordem superior, etc;

não somente a parte livre de contexto da linguagem, mas a sintaxe da linguagem completa e a semântica foram definidos formalmente, em termos da gramática de Van Wijngaarden, um formalismo desenvolvido especificamente para esta finalidade.

Linguagens de Programação De 1960 à década de 1970 a maioria dos principais

paradigmas de linguagem agora em uso foram inventados durante este período: Simula, inventada nos anos 1960 por Nygaard e Dahl como um

super conujunto de Algol 60, foi a primeira linguagem a suportar o conceito de classes.

C, uma das primeiras linguagens de programação de sistemas, foi desenvolvido por Dennis Ritchie e Ken Thompson nos laboratórios da Bell entre 1969 e 1973.

Smalltalk (meados de 1970) forneceu uma base completa para o projeto de uma linguagem orientada a objetos.

Prolog, projetada em 1972 por Colmerauer, Roussel, e Kowalski, foi a primeira linguagem de programação do paradigma lógico.

ML built a polymorphic type system (inventada por Robin Milner em 1973) uma linguagem funcional, baseada em Lisp, estaticamente tipada.

Linguagens de Programação Os anos 1980 foram anos de relativa consolidação.  C++ combinou orientação a objetos e programação de

sistemas. O governo dos Estados Unidos padronizou a Ada,

destinada à utilização por parte dos contratantes de defesa

A comunidade de linguagens funcionais se dedicou a padronizar a ML e o Lisp

Aumento do foco na programação de sistemas de larga escala com o uso de módulos

O hardware deveria ser concebido para os compiladores ao invés de ser voltado a programadores assembly

Linguagens de Programação A década de 1990 não viu nenhuma novidade

fundamental, mas a recombinação e maturação das ideias antigas.

Muitas linguagens com "aplicações de desenvolvimento rápido" (RAD) surgiram, geralmente vindo com um IDE, coleta de lixo, e eram descendentes de linguagens mais antigas

Surgimento de linguagens de scripting que vieram a ser mais proeminentes usadas em conexão com a web

Tendências Atuais

Mecanismos para a adição de segurança e verificação da confiabilidade para a linguagem: verificação estática prolongada, controle de fluxo de informação, estático segurança em threads.

Mecanismos alternativos de modularidade, Delegação de programação, programação orientada a aspectos.

Desenvolvimento de software orientado a componentes. Metaprogramação, Reflexão ou acesso a árvores de sintaxe

abstratas. Maior ênfase na distribuição e mobilidade. Integração com bases de dados, incluindo XML e bancos de dados

relacionais. Suporte para Unicode de forma que o código-fonte não esteja

restrito aos caracteres contidos no código ASCII; permitindo, por exemplo, o uso de scripts não latinos ou pontuação estendida.

XML para a interfaces gráficas (XUL, XAML).

História da Computação - Video http://www.youtube.com/watch?v=81mX

6ZdJvw8