%cabeçalho para todos os capítulos
%\input{cabecalho}

%\begin{document}

%Opções para o pacote listings
%\input{listingOptions}

\chapter{História da Computação}

\begin{center}
\shabox{
  \begin{Bitemize}
    \item[]\textbf{Quais novidades veremos nesta aula?}
    \item a história da computação 
    \item evolução da arquitetura do computador
    \item evolução das linguagens de programação
    \end{Bitemize}
} % \shabox
\end{center}
\bigskip

\section{História da Computação e Arquitetura do Computador}

\begin{itemize}
\item Ábaco (Soroban em japonês) (criado \textasciitilde{}2000 anos atrás)
\item Blaise Pascal, 1642 (\emph{pai da calculadora})

\begin{itemize}
\item o primeiro computador (calculadora) digital,
\item o capaz de somar
\item o entrada através de discos giratórios
\item o ajudou seu pai, coletor de impostos
\end{itemize}
\item Leibniz (inventou 1671, construíu 1694)

\begin{itemize}
\item computador capaz de somar e multiplicar
\item criou o mecanismo de engrenagens do \char`\"{}vai-um\char`\"{} usado
até hoje
\end{itemize}
\item Avanços nas calculadoras de mesa -> 1890 máquinas podiam:

\begin{itemize}
\item acumular resultados parciais
\item armazenamento e reentrada automática de resultados passados (memória)
\item imprimir resultados em papel
\end{itemize}
\item Charles Babbage (Prof. Matemática em Cambridge, Inglaterra)

\begin{itemize}
\item 1812: notou que muito do que se fazia em matemática poderia ser automatizado
\item iniciou projeto do \char`\"{}Difference Engine\char`\"{} (Máquina/Engenho/Engenhoca
de Diferenças)
\item 1822: terminou um protótipo da máquina e obteve financiamento do governo
p/ construí-la
\item 1823: iniciou construção (usaria motor a vapor, seria totalmente automático,
imprimiria o resultado e teria um programa fixo)
\item 1833: depois de 10 anos teve uma idéia melhor e abandonou tudo
\item Nova idéia: máquina \textbf{programável}, de propósito geral: \char`\"{}Analytical
Engine\char`\"{} (Máquina Analítica)

\begin{itemize}
\item manipularia números de 50 dígitos
\item memória de 1000 dígitos
\item \emph{estações de leitura} leriam cartões perfurados similares ao
de tear (Jacquard)
\end{itemize}
\item mas ele não consegui construí-lo

\begin{itemize}
\item tecnologia mecânica da época era insuficiente
\item pouca gente via a necessidade para tal máquina
\end{itemize}
\item Ada Lovelace (\emph{mãe da programação}) escreveu programas para o engenho
analítico; inventou a palavra algoritmo em homenagem ao matemático
Al-Khawarizmi (820dC)
\item a máquina foi finalmente construída pelo governo inglês nos anos 1990
(e funciona!)
\item URL do vídeo do Roy?
\end{itemize}
\item Herman Hollerith, 1890

\begin{itemize}
\item criou cartões perfurados para uso no censo americano
\item tecnologia levou à criação da International Business Machines (IBM)
\end{itemize}
\item MARK 1, criada em 1937 por Howard Aiken, prof. de Matemática Aplicada
de Harvard

\begin{itemize}
\item calculadora eletromecânica com motor elétrico
\item pesava 5 toneladas, usava toneladas de gelo para refrigeração
\item multiplicava dois números de 23 digitos em 3 segundos
\end{itemize}
\item John Atanasoff, 1939

\begin{itemize}
\item calculadora com válvulas a vácuo (240 válvulas)
\item resolvia equações lineares, diferenciais e de balística
\item manipulava números binários
\end{itemize}
\item Rumo a programabilidade

\item Alan Turing, 

\begin{itemize}
\item Trabalhou para o exército inglês ajudando a quebrar o código
  criptográfico da máquina Enigma criada pelos Alemães.
\item Realizou importantes contribuições práticas e teóricas à Ciência da
  Computação.
\item 1912: nasce em Londres
\item 1935: Ganha bolsa para realizar pesquisas no King's College, Cambridge
\item 1936: Elaboora ``máquina de Turing'', pesquisas em computabilidade
\item 1936-38: Princeton University. Ph.D. Lógica, Álgebra, Teoria dos Números
\item 1938-39: Cambridge. É apresentado à máquina Enigma dos alemães
\item 1939-40: The Bombe, máquina para decodificação do Enigma criada em Bletchley Park
\item 1939-42: ``quebra''  Enigma do U-boat, aliados vencem batalha do Atlântico
\item 1943-45: Consultor-chefe anglo-americano para criptologia.
\item 1947-48: Programação, redes neurais e inteligência artificial
\item 1948: Manchester University
\item 1949: Pesquisas sobre usos do computador em cálculos matemáticos
  avançados.
\item 1950: Propõe teste de Turing para inteligência de máquinas. 
\item 1952: Preso por homossexualidade, perde privilégios militares
\item 1953-54: Trabalho não finalizado em biologia e física; tem sua reputação e vida
destruídas pelos militares ingleses.
\item 1954: Suicida-se em Wilmslow, Cheshire. 
\item Livro interessante sobre sua vida e obra: \emph{Alan Turing: the Enigma}
  de Andrew Hodges, 2000.
\item Sítio sobre a vida de Turing mantido pelo autor deste livro:
  \url{http://www.turing.org.uk/turing}.
\end{itemize}


\begin{itemize}
\item Aiken declarou em 1947 que nunca haveria necessidade de mais de um
ou dois computadores programáveis e que os projetos neste sentido
deveriam ser abandonados.
\end{itemize}
\item ENIAC, 1945

\begin{itemize}
\item considerado o primeiro computador eletrônico
\item números de 10 digitos decimais
\item 300 multiplicações ou 5000 somas por segundo
\item 17486 válvulas, alguma queimava quase que diariamente
\item 6000 comutadores manuais e centenas de cabos usados na programação
\item programação era muito difícil
\end{itemize}

\item Arquitetura do ENIAC

\bigskip
\begin{figure}[t]
\begin{center}
\includegraphics[%
  clip,
  width=10cm,
  angle=0]{images/ENIAC.png}
\caption{Arquitetura do ENIAC}
\end{center}
\end{figure}

\begin{itemize}
\item programa especificado manualmente em \char`\"{}hardware\char`\"{}
com conexões semelhantes àquelas que as velhas telefonistas utilizavam
\item memória de dados separada do controle e do programa
\item o controle é formado por circuitos eletro-eletronicos
\end{itemize}
\item John Von Neumann, matemático, 1945

\begin{itemize}
\item estudo abstrato de modelos de computação levou à arquitetura do computador
moderno
\item o programa deve ser guardado no mesmo lugar que os dados: na memória
\item \textbf Arquitetura de Von Neumann (indicar indício de sistema operacional) (hoje em dia existe memória ROM, RAM, flash RAM...)

\bigskip
\begin{figure}[t]
\begin{center}
\includegraphics[%
  clip,
  width=10cm,
  angle=0]{images/Newmann.png}
\caption{Arquitetura de Von Neumann}
\end{center}
\end{figure}

\end{itemize}
\item Anos 50

\begin{itemize}
\item 1953: IBM vende 15 máquinas baseadas no modelo de Neumann
\item transistores
\item memória magnética (\char`\"{}magnetic core memory\char`\"{})
\end{itemize}
\item Anos 60

\begin{itemize}
\item circuitos impressos / cirtuitos integrados (chips)
\item crescimento segundo lei de Moore até hoje (VLSI)
\item computação limitada a poucos computadores de grande porte
\end{itemize}
\item Anos 70

\begin{itemize}
\item indo contra o modelo centralizador da IBM, geração sexo, drogas e
rock-and-roll da California exige a democratização da informática
\item Revista esquerdista da Universidade da California em Berkeley \emph{People's
Computer Company} defende a criação de computadores pessoais e de cooperativas
de informação.
\item Steve Jobs cria Apple em garagem \textasciitilde{} 1975, investe lucros
do Apple II em shows de Rock (82)
\item Nasce a Microsoft
\item Governo da California apóia microinformática
\end{itemize}
\item Anos 80

\begin{itemize}
\item IBM lança PC (1981)
\item Apple lança MacIntosh (1984)
\item Xerox inventa e Apple comercializa interface baseada em janelas (\char`\"{}Windows\char`\"{})
\item Microsoft cresce comercializando o sistema operacional simplista MS-DOS
para IBM-PCs (O DOS era uma versão simplificada do CPM que, por sua vez, era uma
versão simplificada do UNIX)
\item Começa o movimento do software livre
\end{itemize}
\item Anos 90

\begin{itemize}
\item Microsoft pega carona na explosão de vendas de PCs, utiliza técnicas de
  marketing agressivas (consideradas por alguns estudiosos como moralmente
  questionáveis) para controlar mercado de software, estabelecendo quase um
  monopólio em certas áreas.
\item Intensifica-se o movimento por software livre
\item Nasce o Linux e uma nova forma de desenvolvimento de software baseada
em comunidades distribuídas através da Internet.
\item No final da década, governo americano percebe o perigo que a Microsoft
  representa e inicia batalha judicial contra a empresa (em 2002, após a
  vitória dos conservadores na eleição nos EUA, o governo termina um processo
  judicial que havia iniciado; as sanções à empresa são mínimas).
\end{itemize}
\item Século XXI

\begin{itemize}
\item Computadores de Mão
\item Sistemas Embutidos
\item Computação Ubíqua
\end{itemize}
\end{itemize}

\section{E a evolução do software?}

Paralelamente á evolução do hardware dos computadores eletrônicos, ocorreu
também a evolução do software e das linguagens de programação utilizadas para
desenvolvê-lo. Inicialmente, as linguagens estavam bem próximas ao
funcionamento dos circuitos do hardware; paulatinamente, as linguagens foram
se aproximando da linguagem natural utilizada pelos humanos em seu dia-a-dia.

\begin{itemize}
\item A máquina de Babbage só poderia ser programada com a troca física de engrenagens;
\item 1945, no ENIAC, a programação era feita mudando chaves, e trocando a posição de cabos;
\item 1949-50, primeira linguagem binária, a programação era feita mudando os
  ``comandos''  de zero a um, e vice-versa;
\item 1951, Grace Hooper cria o primeiro compilador, A0, programa que transforma comandos em 0s e 1s.
\item 1957, primeira linguagem de programação de alto nível: FORTRAN (Formula Translating) (John Backus da IBM).
\item 1958, criação de um padrão universal de linguagem: ALGOL 58 (algoritmic language) (origem da maioria das linguagens modernas). Primeira linguagem estruturada;
\item 1958, John McCarthy do MIT cria o LISP (List Processing), inicialmente projetada para uso em inteligência artificial. Nela tudo se baseia em listas. Ainda é usada hoje em dia;
\item 1959, FORTRAN era eficaz para manipulação de números, não para entrada e saída: foi criada COBOL (Common Bussines Oriented Langaguage)
\item 1964, criação do Basic (Beginners All-purpose Symbolic Instruction Code);
\item 1965, criação de uma linguagem específica para a simulação (SIMULA-1) por Ole-Johan Dahl and Kristen Nygaard. É considerada a base das linguagens orientadas a objetos;
\item 1966, criação da linguagem Logo para desenhos gráficos (a linguagem da tartaruga);
\item 1967, Simula-67, uma linguagem de uso geral incluindo todos os conceitos
  fundamentais de orientação a objetos;
\item 1968, criação da linguagem PASCAL por Niklaus Wirth. Principal interesse: linguagem para o ensino. Combinou as melhores características de Cobol, Fortran e Algol, foi uma linguagem bem utilizada;
\item 1970, PROLOG, linguagem para programação lógica.
\item 1972, criação da linguagem C (Denis Ritchie). Supriu as deficiências da linguagem Pascal, e teve sucesso quase imediato;
\item 1972, linguagem Smalltalk (desenvolvida por Alan Kay, da Xerox), OO ganha força;
\item 1983, criadas extensões de C incluindo suporte para OO: C++ e Objective-C
\item 1987, linguagens baseadas em scripts, p.ex. Perl, desenvolvida por Larry
  Wall. Ferramentas de UNIX como sed e awk não eram suficientes;
\item 1994, Java é divulgada como a linguagem para a Internet;
\end{itemize}

%\end{document}
