O hardware do computador é um componente essencial no processo de cálculo e armazenamento de dados pois ele é necessário para o processamento e compartilhamento de dados. O primeiro computador que se tem notícia é literalmente duro. Os Fenícios armazenavam peças cerâmicas representando coisas como estoque e grãos em vasilhames, que não eram usados apenas pelo mercador mas pelos contadores e oficiais do governo.

Este texto apresenta os fatos mais significativos no desenvolvimento do hardware do computador.

Primeiros dispositivos para facilitar o cálculo direita|framed|Ábaco A Humanidade tem utilizado dispositivos para auxiliar a computação há milênios. Um exemplo é o dispositivo para estabelecer a igualdade pelo peso: as clássicas balanças, posteriormente utilizadas para simbolizar a igualdade na justiça. Um dispositivo mais orientado à aritmética é o ábaco mostrado na figura ao lado.

Primeiras calculadoras mecânicas esquerda|thumb|100px|Engrenagens Em 1623 Wilhelm Schickard construiu a primeira calculadora mecânica e assim, tornou-se o pai da era da computação. Como sua máquina utilizava técnicas como engrenagens inicialmente desenvolvidas para relógios, ela foi também chamada de "relógio calculador". Ela foi colocada em uso prático por seu amigo Johannes Kepler, que revolucionou a astronomia.

A máquina de Blaise Pascal (a Pascalina, 1642) e Gottfried Wilhelm von Leibniz (1670) se seguiram.

Leibniz descreveu também o código binário, um ingrediente central de todos os computadores modernos. Entretanto, até 1940, muitos projetos (incluindo a máquina de Babbage do século XIX e mesmo o ENIAC de 1945) foram baseados no sistema decimal, mais difícil de implementar.

John Napier notou que a multiplicação e a divisão de números poderia ser feita pela adição e subtração, respectivamente, de logaritmos destes números. Como números reais podem ser representados pelas distâncias ou '"intervalos"' em uma linha, uma simples operação de translação ou movimentação de dois pedaços de madeira, corretamente marcados com intervalos logaritmos ou lineares, foi utilizada como a régua de cálculo por gerações de engenheiros e outros profissionais de ciências exatas, até a invenção da calculadora de bolso . Assim os engenheiros do programa Apollo para enviar o homem à lua fizeram seus cálculos em réguas de cálculo.

Leitores de cartões perfurados 1801-1940 thumb|esquerda|150px| Joseph M. Jacquard thumb|direita|Herman Hollerith|150px Em 1801, Joseph-Marie Jacquard desenvolveu uma máquina têxtil em que o padrão de saída era controlado por cartões perfurados. O conjunto de cartões poderia ser alterado sem alterar a estrutura da máquina têxtil. Este foi um marco na programação.

Em 1890 o censo dos Estados Unidos utilizou cartões perfurados e máquinas de ordenação desenhadas por Herman Hollerith para controlar os dados do censo da década conforme previsto na constituição. A companhia de Hollerith tornou-se posteriormente o núcleo da IBM.

No século XX, a eletricidade foi utilizada pela primeira vez em máquinas de calcular e ordenar. Em 1940, W.J. Eckert do Thomas J. Watson Astronomical Computing Bureau da Universidade Columbia publicou o artigo Método dos cartões perfurados na computação científica que era suficientemente avançado para resolver equações diferenciais, multiplicar e dividir números de ponto flutuante, baseado unicamente em cartões perfurados e mesas de conexão similares às utilizadas por operadores de telefonia. Os cálculos astronômicos representaram o estado da arte na computação.

Primeiros projetos de máquinas programáveis 1835-1900s

A característica que define um "Computador Universal" é a "programabilidade" que permite ao computador emular qualquer outra máquina de calcular alterando a sequência de instruções armazenadas. Em 1835 Charles Babbage descreve sua Máquina Analítica. Esta máquina tratava-se de um projeto de um computador programável de propósito geral, empregando cartões perfurados para entrada e uma máquina de vapor para fornecer energia. Enquanto os projetos estavam provavelmente corretos, conflitos com o artesão que construía as partes, e o fim do financiamento do governo, tornaram impossível a sua construção. Ada Lovelace, filha de Lord Byron, traduziu e adicionou anotações ao Desenho da Máquina Analítica de L. F. Manabrea. Ela se tornou uma parceira bem próxima de Babbage. Alguns reivindicam que ela é a primeira programadora de computadores do mundo, entretanto essa reivindicação e a validade de suas outras contribuições são disputadas por muitos. A reconstrução da Máquina Diferencial está em operação desde 1991 no Museu de Ciências de Londres, ela trabalha como Babbage projetou e mostra que ele estava certo na teoria e permite a produção de partes da precisão requerida. Babbage falhou porque seus desenhos eram muito ambiciosos, ele teve problemas com relações de trabalho, e era politicamente inapto.

Outros tipos limitados de computação mecânica 1800s-1900s

No início do século XX as primeiras calculadoras mecânicas, caixas registradoras e máquinas de cálculo em geral foram redesenhadas para utilizar motores elétricos, com a posição das engrenagens representando o estado de uma variável. Pessoas eram empregadas com o cargo de "computador", e utilizavam calculadoras para avaliar expressões. Durante o Projeto Manhattan, o futuro prêmio Nobel Richard Feynman foi o supervisor de uma sala cheia de computadores humanos, muitos deles mulheres, que entendiam as equações diferenciais que estavam sendo solucionadas para a guerra. Mesmo o renomado Stanislaw Marcin Ulam foi encarregado de trabalhar na tradução da matemática em um modelo computacional aproximado da bomba de hidrogênio, depois da guerra.

Durante a Segunda Guerra Mundial, Os planos de Curt Herzstark para uma calculadora mecânica de bolso literalmente salvaram sua vida. Veja: Cliff Stoll, Scientific American "290", no. 1, pp. 92–99. (Janeiro 2004)

Computadores analógicos, pré 1940

Antes da segunda guerra, computadores mecânicos e elétricos computadores analógicos foram considerados o 'estado da arte', e muitos pensavam que eles eram o futuro da computação. Computadores analógicos utilizam variações contínuas de variáveis físicas, como voltagem e corrente, ou a velocidade de rotação de um dispositivo, para representar as quantidades sendo processadas. Um exemplo ingênuo de tal máquina é o Integrator aquático construído em 1936. Ao contrário dos computadores digitais modernos, computadores analógicos não são muito flexíveis, e precisavam ser reconfigurados (reprogramados) manualmente para trocar o problema em que iriam trabalhar. Computadores analógicos tinham uma vantagem frente aos primeiros computadores digitais pois eram capazes de resolver problemas mais complexos. Desde que os programas de computador não eram ainda muito populares nesta época (apesar do trabalho pioneiro de Babbage), As soluções eram freqüentemente hard-coded na forma de gráficos e nomogramas, que podiam representar, por exemplo, uma '"analogia"' da solução de problemas como a distribuição de pressão e temperatura em um sistema de aquecimento. Mas à medida que os computadores digitais se tornavam mais rápidos e com mais memória (e.g., RAM ou armazenamento interno), eles praticamente substituíram inteiramente os computadores analógicos, e a profissão de '"programador"' surgiu.

Primeira geração dos computadores digitais 1940

thumb|direita|250px|Válvula termiônica de uso geral utilizada nos primeiros computadores A era da computação moderna começou com uma corrida de desenvolvimento antes e durante a Segunda Guerra Mundial, com circuitos eletrônicos, relés, capacitores e válvulas substituindo seus equivalentes mecânicos e o cálculo digital substituindo o cálculo analógico. Os computadores projetados e construídos nesta época foram chamados computadores de 'primeira geração'. Estes computadores eram normalmente construídos manualmente usando circuitos contendo relés e válvulas, e freqüentemente utilizavam cartões perfurados para a entrada e como a memória de armazenamento principal (não volátil). A memória temporária ou memória de trabalho, era fornecida por linhas de retardo acústicas (que utilizam a propagação do som no tempo como um meio para armazenar dados) ou por tubos de Williams (que utilizam a habilidade dos tubos de raios catódicos da televisão para armazenar dados). Em 1954, memórias de núcleo magnético rapidamente substituíram outras formas de armazenamento temporário, e dominaram até a metade da década de 1970.

Em 1936 Konrad Zuse iniciou a construção das primeiras calculadoras 'Z-series', calculadoras com memória e programáveis (inicialmente de forma limitada). A calculadora de Zuse totalmente mecânica, mas ainda utilizando o sistema binário foi finalizada em 1938, entretanto, nunca funcionou com confiabilidade por problemas de precisão em suas peças.

Em 1937, Claude Shannon finalizou sua tese de mestrado no MIT que implementava Álgebra booleana utilizando relés e chaves pela primeira vez na história. Intitulada Uma análise simbólica de relés e circuitos de comutação, A tese de Shannon forneceu as bases para o desenho prático de circuitos digitais.

A máquina seguinte de Zuse, o Z3, foi finalizado em 1941. Ela era baseada em relés telefônicos e funcionou satisfatoriamente. O Z3 passou a ser o primeiro computador programável. Em vários aspectos ele era muito semelhante às máquinas modernas, sendo pioneiro em vários avanços, como o uso de aritmética binária, e números de ponto flutuante. A troca do sistema decimal, mais difícil de implementar (utilizado no projeto de Charles Babbage) pelo simples sistema binário tornou a máquina de Zuse mais fácil de construir e potencialmente mais confiável, com a tecnologia disponível naquele tempo. Esta é algumas vezes vista como a principal razão do sucesso de Zuse onde Babbage falhou, entretanto, muitas das máquinas de hoje continuam a ter instruções de ajuste decimal, a aritmética decimal é ainda essencial para aplicações comerciais e financeiras e hardware para cálculos de ponto-flutuante decimais vem sendo adicionado em muitas novas máquinas (O sistema binário continua sendo utilizado em praticamente todas as máquinas).

Os Programas eram armazenados no Z3 em filmes perfurados. Desvios condicionais não existiam, mas na década de 1990 teóricos demonstraram que o Z3 ainda era um computador universal (ignorando sua limitação no seu espaço de armazenamento físico). Em duas patentes de 1937, Konrad Zuse antecipou que as instruções da máquina poderiam ser armazenadas no mesmo espaço de armazenamento utilizado para os dados - A primeira ideia do que viria a ser conhecida como a arquitetura de Von Neumann e que seria implementada no EDSAC britânico (1949). Zuse ainda projetou a primeira linguagem de alto nível, o (Plankalkül), em 1945, apesar desta não ser formalmente publicada até 1971, foi implementada pela primeira vez em 2000 pela universidade de Berlin—cinco anos após a morte de Zuse.

Zuse sofreu dramáticas derrotas e perdeu muitos anos durante a Segunda Guerra Mundial quando os bombardeamentos ingleses e americanos destruíram as suas primeiras máquinas. Aparentemente seu trabalho permaneceu em grande parte desconhecida para os engenheiros americanos e britânicos por muito tempo, no entanto pelo menos a IBM estava a par do seu trabalho e financiou sua companhia após a guerra 1946 em troca de permissões em suas patentes.

Em 1940, a calculadora de número complexos, para aritmética de números complexos baseada em relés, foi construída. Foi a primeira máquina a ser acessada remotamente via linha telefônica. Em 1938 John Atanasoff e Clifford Berry da Universidade do Estado de Iowa desenvolveram o Atanasoff–Berry Computer (ABC), um computador com um propósito especial: resolver sistemas de equações lineares, e que empregava capacitores para sua memória. A máquina ABC não era programável, mas era um computador em outros aspectos.