Pode-se dizer que os primeiros computadores do mundo, caso do ENIAC americano e Z3 alemão, trouxeram os primeiro softwares do mundo. Representavam verdadeiras montanhas repletas de válvulas capazes de ocupar algum pequeno prédio de quatro andares. A programação era elaborada por técnicos que ligavas e desligavam os cabos de acordo com tomadas de decisões pré-estipuladas.
Primeiros Codificadores de Software
Na atualidade, os softwares são desenvolvidos com linguagem específica de programações armazenáveis até mesmo em pequenos chips menores do que o dedo mindinho. Se for levado em consideração este tipo de software, se pode dizer que a primeira definição aceita no mundo acadêmico surgiu na Inglaterra, no ano de 1948, três anos após a Segunda Grande Guerra. A definição matemática era baseada pelo matemático húngaro John Von Neumann (1903-1957). Interessante notar que a história aponta que cem anos antes de Neumann publicar a formulação matemática uma mulher já havia idealizado o primeiro conjunto de programação do mundo. A condessa Ada Lovelace (1815-1852), filha de Lorde Byron, desenvolveu espécie de computador mecânico com apoio do investidor visionário Charles Babbage. No ano de 1943, ela entregou para ele cartas com os programas escritos no sentido de desenvolver a Máquina Analítica de Babbage, que nunca saiu do papel.
Compiladores e Softwares
Para compilar programa se faz necessário possui algum compilador, que também é um tipo de programa. Alguns especialistas apontam que os primeiros compiladores foram escritos na primeira montagem ou código de máquina. No entanto, os pilotos tinham de ser programados de alguma forma! Os computadores possuem interruptores e isso permitiu virar a chave para indicar os bits.
BOOTSTRAPPING – BOOTLOADER
Existem pensadores que apontam a primeira criação de software escrita juntos com os códigos da máquina-prima. A ideia ficou conhecida como BOOTSTRAPPING. Suponha que exista na máquina algum processador, um pouco de memória flash, e disco rígido. Normalmente, o processador está configurado para carregar o simples sistema operacional intitulado BOOTLOADER, de um local fixo na memória não volátil (por exemplo, CMOS ou flash). Este sistema operacional é simples e possui a estrita funcionalidade suficiente para apontar ao computador o local do disco no qual existe a vida real do sistema operacional. O sistema pode se transformar em outros dispositivos e carregar programas com maior nível de complicação até que o sistema operativo seja instalado e funcione. O BOOTLOADER foi escrito em código de máquina-prima e codificação para dentro da máquina. Os programas eram executados com os escritos de código de máquina. A ação era incrivelmente lenta e tediosa para o trabalho entre todos os envolvidos nas rotinas de produção.
Apesar de existirem diversas histórias para a primeira codificação, grande parte dos especialistas aponta que o primeiro montador escreve código simples da primeira maquina. Na sequência surgiram outros montadores que não somente emularam o sistema como também evoluíram os mesmos no sentido de desenvolver novos maquinários. Quando existe processo de montagem simples não se faz necessário escrever os códigos de máquina novamente. Montadores podem apenas continuar a escrever a codificação na montagem! A partir deste ponto, montadores podem construir linguagens de programação mais complexas, escrevendo o primeiro compilador com as ferramentas existentes (a montadora, por exemplo) para obter funcionalidade disponível o suficiente para que o compilador faça a programação básica. Usa-se o compilador para escrever a linguagem de programação em si, e utilizar o mesmo truque para construir trabalho anterior no sentido de obter algo maior e mais frio. Esta técnica é usada ainda hoje – a maioria dos compiladores é escritos na linguagem que compilada pela montadora. Para resumir, tudo tinha de ser feito à mão, em algum momento terrível no passado, mas graças ao trabalho árduo de diversos cientistas é possível construir novos códigos com múltiplas ferramentas.
Primeiro Software – Caneta e Papel
O primeiro código de máquina-prima foi escrito com caneta e papel. Comutadores do painel frontal foram invertidos, conforme necessário para introduzir bits (bytes) para a memória. Finalmente, alguém tomou uma máquina jornalista de teletipo e conectou a um computador, assim os fluxos de bytes podiam ser salvos em fita de papel, lidos de novo mais tarde. Outro especialista levou máquinas de um armazém de dados de cartões perfurados e os conectou ao computador. Alguém fez o mesmo com fitas magnéticas. Unidades de disco chegaram mais tarde. Computadores funcionavam com códigos binários explícitos. As pessoas se cansaram de fazer isso, então foi elaborado o programa (com código de máquina) que iria ler a montagem. Depois de um tempo eles perceberam que a escrita na montagem estava sendo sugada, surgindo a necessidade de linguagem com níveis superiores, caso do FORTRAN, por exemplo.
Alan Turing – Lei de Moore
A primeira teoria sobre o software pode ter sido proposta por Alan Turing, em seus 1.935 ensaios de números computáveis com um aplicativo para o Entscheidungsproblem (problema de decisão). Popularmente, o termo é muitas vezes usado para significar aplicação de software. Em ciência da computação e engenharia, software é toda informação processada pelo sistema de computador, programas e dados. A cada ano que passa os hardwares se tornam menores, mais baratos e rápidos, assim como previsto pela lei de Moore – elemento do primeiro cálculo considerado software a se juntar às fileiras de hardware. A maioria das empresas de hardware hoje tem mais programadores de software na folha de pagamento de projetistas do que de hardware uma vez que ferramentas automatizadas possuem tarefas que requer constate trabalho técnico para a criação e administração dos programas.
http://www.youtube.com/watch?v=2KiO0183BIgAssim como a indústria automobilística, o campo de software cresce por causa de alguns visionários que começaram as operações iniciais a partir de processo feitos em garagem com protótipos. Steve Jobs, Bill Gates, Henry Ford e Louis Chevrolet são quatro nomes que brilham entre as esferas de criação de programas e automóveis. Há muitas empresas de sucesso hoje em dia que vendem produtos de software apenas, mas ainda há muitos problemas comuns de licenciamento por causa da complexidade dos projetos e da documentação pobre. Com especificações de software evoluídas abriram as possibilidades de licenciamento de software, técnicas foram desenvolvidas e programas se tornaram padrão, com destaque ao DOS.
Artigo escrito por Renato Duarte Plantier