Sei sulla pagina 1di 49

FACULDADE EDUCACIONAL ARAUCRIA FELIPHE RAMOS DOS SANTOS VANDO AUGUSTO DINIZ

HISTRIA DA COMPUTAO

CURITIBA 2013

FACULDADE EDUCACIONAL ARAUCRIA FELIPHE RAMOS DOS SANTOS VANDO AUGUSTO DINIZ

HISTRIA DA COMPUTAO

Trabalho apresentado disciplina de Introduo Informtica Aplicada a Engenharia do curso de Engenharia Civil 1D, como requisito para obteno de nota parcial do 1 bimestre da Faculdade Educacional Araucria.. Professor: Apledinei Savoldi

CURITIBA 2013

SMARIO

Introduo....................................................................................................... 6 Objetivo .......................................................................................................... 7 Principais Precursores dos computadores ..................................................... 8 Computadores (hardwares) ........................................................................... 13 Primeira Gerao - Tecnologia de vlvulas 1940 - 1955 .............................. 13 2 Gerao - Utilizao do transistor 1955 1965 ....................................... 15 3 Gerao Circuitos integrados 1965 1980 ........................................... 16 Sistemas Operacionais ................................................................................. 21 Cronologia dos SO ....................................................................................... 21 Surgem os primeiros Sistemas Operacionais ............................................... 21 Linguagens de Programao ........................................................................ 24 Histria ......................................................................................................... 24 As Linguagens de Programao .................................................................. 25 Cronologia .................................................................................................... 27 Outras Linguagens ....................................................................................... 46 Concluso..................................................................................................... 48 Bibliografia .................................................................................................... 49

Resumo
A evoluo tecnolgica resultado do aprimoramento dos equipamentos construdo com o objetivo de diminuir o esforo do homem e conseqente acelerando os processos para o qual se destinavam. Percebemos que o homem possui capacidade ilimitada para criar coisas. A necessidade constante de adquirir conhecimento faz com que a humanidade possa sempre encontrar novas alternativas para transformar o mundo em um ambiente melhor, deixando para as futuras geraes um excelente legado. Os computadores foram aperfeioados paulatinamente, sempre que novas tcnicas eram exigidas, ou novos pesquisadores percebiam sua necessidade e a oportunidade de uma nova inveno. Os Sistemas Operacionais foram resultados de um conjunto de estudos quando houve a necessidade de uma maior interao entre o homem e as mquinas. As Linguagens de Programao permitiram o desenvolvimento de varias rotinas e os computadores podiam interpret-las atravs de maneira especfica cumprindo o seu verdadeiro propsito facilitar a vida do homem.

Palavras chaves: tecnologia, linguagens de programao.

computadores,

sistemas

operacionais,

Abstract

Technological progress is a result of upgrading the equipment built with the aim of reducing the effort of man and the consequent speeding up the processes for which they were designed. We realize that man has unlimited ability to create things. The constant need to acquire knowledge makes humanity can always find new alternatives to make the world a better environment, leaving future generations a great legacy. The computers were gradually improved, when new techniques were required, or new researchers perceived their need and opportunity for a new invention. The operating systems were the result of a set of studies where there was a need for greater interaction between man and machine. The programming languages allowed the development of various routines and computers could interpret them through specific way fulfilling its true purpose - to facilitate the life of man.

Keywords: languages.

technology,

computers,

operating

systems,

programming

Introduo
No sabemos precisar quando surgiu a necessidade de contagem, pois no inicio os homens sobreviviam apenas de produtos extrados da natureza, da caa e da pesca. Este processo provavelmente surgiu quando o homem comeou a plantar, domesticar os animais, construir casas, etc.. ou seja teve o inicio das atividades humanas. Um exemplo clssico o de um pastor de ovelhas, que ao soltar seus animais de manha para pastar colocava em saco de couro uma pedrinha, pois cada animal correspondia uma pedra e ao final do dia quando os animais eram recolhidos as pedras eram transferidas de sacos e no caso de diferena (sobra de pedras) tinham certeza que o animal referente ao determinado tipo de pedra havia fugido, sido roubado ou devorado por algum predador e no caso da falta de pedras significava que algum animal havia sido acrescentado ao rebanho (ento uma nova pedra era acrescentada ao saco). A palavra clculo que utilizamos hoje proveniente deste sistema de contagem a qual deriva da palavra latina calculus que significa pedrinha. Alm deste mtodo de contagem tambm eram utilizados ns em cordas, marcas nas paredes, talhes (cortes) em ossos, desenhos nas cavernas e outros tipos de marcao. Com a evoluo da humanidade e o aumento da produo, comearam a surgir novas formas de transaes comerciais, e diante, deste fato houve a necessidade de aperfeioamento, dando origem aos nmeros, e conseqente a inventos que so os precursores na historia da computao1 Com a passagem dos sculos as mquinas foram aperfeioadas e rotinas anteriormente executadas de maneira manual, evoluram para mecnicas at tornarem-se rotinas automticas executadas a partir de um programa (software2), o que o objeto principal de nosso trabalho.

Origem do Latim COMPUTARE, calcular, estimar, somar, contar, de COM -, junto, mais PUTARE, calcular, avaliar, estimar.

Seqncia de instrues especficas para execuo de uma tarefa por um computador de maneira lgica.

Objetivo
Demonstrar a evoluo dos computadores e sistemas operacionais desde seu surgimento at os dias atuais. Faremos tambm um breve relato de seus precursores, seus autores e as aplicaes praticas a que se destinavam, no entanto no nos aprofundaremos nas explicaes e demonstraes, pois no se trata de um TCC3, mas sim uma introduo na elaborao e apresentao de trabalhos acadmicos seguindo os padres das Normas Tcnicas Brasileiras aplicadas a esta finalidade.

Tcnicas de Concluso de Curso - um trabalho acadmico de carter obrigatrio e instrumento de avaliao final de um curso superior.

Principais Precursores dos computadores


baco

Imagem de domnio publico internet. O baco o primeiro modelo de calcular utilizado que conhecido pela humanidade. Consistia em uma moldura com hastes de arames dispostas de forma paralela no sentido vertical, com fichas, bolas ou outro tipo de contas com capacidade de deslizar livremente formando unidade, dezenas, centenas e milhares provavelmente surgiu na Mesopotmia em 5.500 a.C. Estruturas de Napier

Imagem de domnio publico internet. No final do sculo XVI, o matemtico escocs John Napier, inventor dos logaritmos naturais, idealizou um dispositivo baseado em bastes que continham

nmeros, capaz de multiplicar e dividir de forma automtica. Tambm idealizou uma calculadora com cartes que permitia a realizao de multiplicaes e recebeu o nome de Estruturas de Napier Mquina Aritmtica de Pascal

Imagem de domnio publico internet. Em 1642 o filsofo e matemtico francs Blaise Pascal inventou a primeira mquina automtica de calcular, a mquina era feita de rodas dentadas que simulavam o funcionamento do baco, realizava apenas soma e subtrao e o resultado era mostrado numa seqncia de janelinhas. Primeiro esta mquina foi chamada de PASCALINA, mas terminou, mais tarde, recebendo o nome de Mquina Aritmtica de Pascal. Calculadora de Leibintz

Imagem de domnio publico internet.

O matemtico alemo Gottfried Wilhelm Von Leibniz, em 1672, aperfeioou a Mquina de Pascal, construindo a calculadora universal que realizava soma, subtrao, multiplicao, diviso e ainda calculava raiz quadrada. Tear de Jacquard

Imagem de domnio publico internet. Em 1801 Joseph Marie Jacquard construiu um tear automtico que aceitava entrada de dados atravs de cartes perfurados para controlar a confeco e desenho dos tecidos. Esta mquina pode ser considerada a primeira mquina mecnica programvel.

Mquina Analtica ou Diferencial

Imagem de domnio publico internet. No ano de 1822, Charles Babbage, professor de Cambridge e matemtico, idealizou a Mquina das Diferenas, que consistia num dispositivo mecnico baseado em rodas dentadas, para a avaliao de funes e a obteno de tabelas. Mas esta mquina no chegou a ser construda devido as limitaes tecnolgicas da poca Babbage, em 1833, projetou a Mquina Analtica ou Diferencial, que de certa forma era semelhante aos computadores atuais, pois dispunha de programa, memria, unidade de controle e perifricos de sada. A idia da construo surgiu da necessidade de se realizar automaticamente tabelas de logaritmos e funes trigonomtricas. Pelos mesmos motivos da sua inveno anterior Babbage no viu essa sua mquina ser construda, mas devido a esse projeto, ele ficou conhecido como Pai da Informtica. Maquina de Hollerith

Imagem de domnio publico internet. Aproximadamente em 1885, Herman Hellerith, funcionrio do Departamento de Recenseamento dos EUA, percebeu que a realizao do censo anual demorava cerca de 10 anos para ser concludo e que a maioria das perguntas tinha como resposta sim ou no. Em 1886 idealizou um carto perfurado que guardaria as informaes coletadas no censo e uma mquina capaz de tabular essas informaes. Construiu ento a Mquina de Recenseamento ou Mquina Tabuladora, perfurando-se cerca de 56 milhes de cartes. Hollerith, em 1895, inclui a funo de somar em sua mquina para poder utiliz-la tambm na contabilidade das Ferrovias Centrais de New York. Essa a primeira tentativa de realizao automtica de uma aplicao comercial. Maquina de Turing

Imagem de domnio publico internet. Em 1936 Alan M. Turing desenvolveu a teorias de uma mquina capaz de resolver todo o tipo de problemas, chegando a construo terica das Mquinas de Turing. Com os estudos de Turing, teve incio a Teoria Matemtica da Computao, na qual se define um algoritmo como a representao formal e sistemtica de um processo, e atravs da qual se demonstra que nem todos os processos so representveis. Ficou portanto demonstrado a existncia de problemas sem soluo

algortmica e chegou-se a seguinte concluso: um problema ter soluo algortmica se existir uma Mquina de Turing para represent-lo. Desses estudos surgiu a Teoria da Computabilidade, que abrange o conjunto de estudos destinados a encontrar formas de descrio e representao de processos algoritmicos.

Computadores (hardwares)

Primeira Gerao - Tecnologia de vlvulas 1940 1955


Com h necessidade de aperfeioamento em clculos matemticos com respostas mais rpidas e precisas para a tomada de decises, desenvolvido especialmente para auxiliar na guerra para os lanamentos tivessem uma maio preciso. Mark-I

Imagem de domnio publico internet.

Em 1937, Howard H. Aiken, da universidade de Harvard, desenvolve a idia de Babbage junto com cientistas de seu departamento e engenheiros da IBM. Como resultado desse desenvolvimento construiu o primeiro computador eletro-mecnico baseado em rles e engrenagens, denominado Calculadora Automtica de Seqncia controlada (Automatic sequence Controlled Calculator - ASCC), que recebeu o nome de MARK-I.

ENIAC

Imagem de domnio publico internet. Circuitos eletrnicos e vlvulas de uso restrito precisavam ser reprogramados a cada tarefa. Grande consumo de energia e vrios problemas devido muito aquecimento. Foi iniciado em 1943, mas somente em 1946 surgiu o ENIAC Eletronic Numerical Interpreter and Calculator, ou seja, Computador e Integrador Numrico Eletrnico, realmente um computador projetado para fins militares, pelo Departamento de Material de Guerra do Exrcito dos EUA, na Universidade de Pensilvnia. Era o primeiro computador digital eletrnico de grande escala e foi projetado por John W. Mauchly e J. Presper Eckert (que era um gnio em engenharia, pois quando tinha apenas 8 anos construiu um rdio a cristal e colocouo num lpis). O ENIAC tinhas as seguintes caractersticas: totalmente eletrnico

possua 17.468 vlvulas, 500.000 conexes de solda, 30 toneladas de peso, 180 m de rea construda, 5,5 m de altura e 25 m de comprimento capaz de realizar uma soma em 0,0002 s e uma multiplicao em 0,005 s com nmeros de 10 dgitos.

2 Gerao - Utilizao do transistor 1955 1965


Tradic

Imagem de domnio publico internet. Primeiro computador fabricado com transistores da BELL Laboratories, surgiu em 1955 e possua 800 transistores, sendo cada um em seu prprio recipiente, contemporneo a este temos o IBM 1401 que tinha 4096 bytes de memria operando em ciclos de 12 microssegundos. Estes equipamentos ainda eram grandes e a instalao do IBM 1401 ocupava uma sala, em 1958 a IBM lanou o IBM TX-0 com um monitor de vdeo de alta qualidade para os padres da poca, alm de ser rpido era bem menor que seus antecessores.

3 Gerao Circuitos integrados 1965 1980


Computador VAX

Imagem de domnio publico na internet. Vax uma arquitetura de Computadores de 32 Bits que suporta um Conjunto de Instrues ortogonais (cdigo de maquina) e endereamento virtual. Digital Equipment Corporation foi a companhia dos Estados Unidos pioneira na indstria de computadores. referida muitas vezes, dentro da indstria como DEC, mas o seu nome oficial foi sempre DIGITAL. Os seus produtos PDP e VAX eram os mais populares mini-computadores nas comunidades cientifica e de engenharia nos anos 70 e 80. A DIGITAL foi comprada pela Compaq, que por sua vez se fundiu com a Hewlett-Packard. Em 2006 as suas linhas de produtos ainda so produzidas, agora sob o nome da HP. Desde 1957 at 1992 a sua matriz era num velho moinho em Maynard, Massachusetts.

Disquete 8

Em 1971 a IBM lana no mercado mundial o primeiro disquete, seu tamanho era de 8". APPLE II

O Apple II era parecido com os micros de hoje, pois era fcil de ligar, mexer e transportar. Depois disso, foram aparecendo vrios outros. Todos j tinham essa forma bsica de hoje: teclado, monitor e unidade central de processamento, a CPU, o mouse ainda no existia nessa poca. Esses computadores de uso pessoal ficaram conhecidos como PCs (do ingls Personal Computer), computadores pessoais.

Esses micros no funcionavam com vlvulas, como o Eniac, mas com transistores, que foram evoluindo e ficando cada vez menores. Tambm ganharou um novo material, o silcio, que um tipo de areia refinada.

4 Gerao Circuitos de larga escala 1980 1990 PC-5150

Em 1981 lanado o PC-5150 pela IBM, sendo o antecessor de todos os micros existentes na atualidade, tinha 64 Kbytes de memria RAM e 4,7 Mhz. O sistema operacional utilizado era MS-DOS desenvolvido pela Microsoft, iniciando a parceira entre estes dois gigantes da poca 5 Gerao ICVLSI Integrated Circuit Very Large Scale dcada 90 Esta classificao surge em meados da dcada de 1990, criado pelos japoneses visando demonstrar equipamentos mais potentes e inteligentes, neste mesmo perodo o termo passou a envolver outros elementos nas mais diversas reas de pesquisas relacionados a inteligncia artificial, sistemas especializados e linguagem natural. O foco principal desta gerao a conectividade, onde a indstria dedicou esforos com o enfoque dos usurios poderem conectar seus computadores a outros. Estava surgindo o conceito de supervia da informao capturando a mente dos profissionais da rea de TI e usurios comuns.

Compaq Presario 5528

Em 1995 a linha Compaq Presario foi um grande sucesso da Compaq. Este modelo 5528 tinha um timo preo, era integrado o monitor e CPU. Tinha um processador Intel Pentium de 75 MHz, 16 MB memria RAM, modem de 34Kb, drive de CD ROM, HD de 320Mb, caixas de som e microfone.
6 Gerao IPAD IPOD Smart Phone Tablets e novas tecnologias Sculo XXI

No mesmo dia em que o iPhone 5 chegou ao mercado, tambm foi anunciada uma nova verso do iPod nano. Sem inovaes muito relevantes, o nano um aparelho MP4 interessante devido s dimenses e aos pesos reduzidos. Alm disso, possui uma interface otimizada para utilizao em movimento, com poucos cones na tela inicial. Porm, tais possibilidades encontram-se tambm em outros aparelhos, a um preo inferior.

A nova verso tem 16 GB de capacidade. No traz leitor de cartes, sendo impossvel expandir sua memria. Com pequenas dimenses e tela de 2,5 polegadas, o novo nano pesa apenas 31 gramas.Possui uma nova ligao, chamada de Lightning, para carregar a bateria e conectar ao computador, muito menor do que o antigo conector de 30 pinos. A bateria resiste 30 horas para reproduo de msica e tem rdio FM com a possibilidade de gravar, leitor de fotos e vdeos e pedmetro (contabiliza determinada quantidade de passos). A verso 4.0 do Bluetooth permite conect-lo com fones de ouvido, alto-falantes ou auto rdios que tenham a mesma tecnologia. O acesso s funes rpido e intuitivo, uma vantagem dentre os MP4 players, sobretudo para atividades esportivas4.

PROTESTE. (2012). IPOD Nano. ProTeste , 75-76

Sistemas Operacionais
Sistemas operacionais so sistemas de computadores que permitem a interatividade do usurio com o conjunto de dispositivos eletrnicos que fazem parte de um Computador, tais como o controle de todos os elementos desse conjunto. O sistema operacional permite a organizao dos processos criando a interfase necessria para que os elementos como, teclado, mouse, monitor, memria, HD, processador e demais perifricos, sejam controlados e utilizados por um usurio final. Os sistemas operacionais so parte fundamental dos computadores, so responsveis por organizar os processos (programas), que esto sendo executados pelo processador, criando uma fila de processos que garante que todos recebero sua parcela de processamento.

Cronologia dos SO
A histria dos sistemas operacionais se mistura a histria dos computadores, j que esto diretamente interligados, veja um breve resumo sobre a evoluo dos sistemas operacionais ao longo do tempo:

Computadores no possuam Sistemas Operacionais Inicialmente


Dcada 40 cada programa executava sozinho e tinha total controle do computador. Tudo devia ser programado detalhadamente pelo desenvolvedor, deis da carga do programa em memria, varredura dos perifricos de entrada para busca de dados, a computao propriamente dita e o envio dos resultados para os perifrico de sada.

Surgem os primeiros Sistemas Operacionais


Dcada 50 O conceito de sistema operacional apareceu durante a segunda gerao da computao moderna (1955 1965), desenvolvido pela GM Laboratories para o computador IBM 701 atravs da programao em Batch que utilizava cartes perfurados e depois fitas magnticas.

1961 o grupo do pesquisador Fernando Jos Corbat, do MIT, anuncia o desenvolvimento do CTSS Compatible Time-Sharing System, o primeiro sistema operacional que possua compartilhamento de tempo. 1965 a IBM lana o OS/360, um sistema operacional avanado, com compartilhamento de tempo e excelente suporte a discos. Um projeto conjunto entre MIT, GE e Bell Labs dene o sistema operacional Multics, cujas idias inovadoras iro inuenciar novos sistemas durante dcadas. 1969 Ken Thompson e Dennis Ritchie, pesquisadores dos Bell Labs, criam a primeira verso do UNIX. 1981 a Microsoft lana o MS-DOS, um sistema operacional comprado da empresa Seattle Computer Products em 1980. 1984 a Apple lana o sistema operacional Macintosh OS 1.0, o primeiro a ter uma interface grca totalmente incorporada ao sistema. 1985 primeira tentativa da Microsoft no campo dos sistemas operacionais com interface grca atravs do MS-Windows 1.0. 1987 Andrew Tanenbaum, um professor de computao holands, desenvolve um sistema operacional didtico simplicado, mas respeitando a API do UNIX, que foi batizado como Minix. 1987 IBM e Microsoft apresentam a primeira verso do OS/2, um sistema multitarefa destinado a substituir o MS-DOS e o Windows. Mais tarde, as duas empresas rompem a parceria; a IBM continua no OS/2 e a Microsoft investe no ambiente Windows. 1991 Linus Torvalds, um estudante de graduao nlands, inicia o desenvolvimento do Linux, lanando na rede Usenet o ncleo 0.01, logo abraado por centenas de programadores ao redor do mundo. 1993 a Microsoft lana o Windows NT, o primeiro sistema 32 bits da empresa. 1993 lanamento dos UNIX de cdigo aberto FreeBSD e NetBSD.

2001 Apple lana o MacOS X, um sistema operacional derivado da famlia UNIXBSD. 2001 Windows XP. 2004 ncleo Linux 2.6.c. 2006 Windows Vista. 2009 Windows 7. [HSO]

Linguagens de Programao
Tudo comeou com zeros e uns, at as arquiteturas de software de armazenamento, gerenciamento, analises e relatrios sofisticados como os de hoje. Uma Linguagem de Programao (doravante denominada LP) um conjunto finito de regras formadas a partir de uma gramtica formal, que expressam instrues para um computador. A construo de uma linguagem de programao pode ser descrita pelas gramticas livres de contexto ou pela notao BNF (Forma de Bakcus Naur). As instrues seguindo regras gramaticais estabelecidas de forma sinttica e semntica so descritas em um Texto Fonte chamado tambm de Cdigo Fonte. Este passa por um Compilador, escrito especificamente para a linguagem gerando ao fim de sua execuo um Cdigo de Mquina, pronto para ser executado pelo processador.

Histria
O surgimento das LP se deu exclusivamente para fins militares, visto que a funo bsica de uma LP era agilizar o processo que um analista tinha em operar o computador para decifrar criptografias inimigas, gerar clculos para rotas de msseis etc. Data-se em 1944 o surgimento da primeira LP, seu criador Konrad Zuse, engenheiro alemo que projetou na Sua o Plankalk. Possua caractersticas como as chamadas de funo (subrotinas), atribuio, estrutura de repetio, matrizes, instrues condicionais e tratamento de excees. Seu trabalho foi esquecido por anos e somente foi publicado oficialmente em 1972. Nos meados da dcada de 50 os computadores que j passaram a utilizar chips em vez de vlvulas tinham seus Cdigos escritos diretamente em Linguagem de Mquina, o Assembly. Envolvendo assim muito esforo para converter os clculos numricos em instrues Assembly, foram criados ento Autocodes que geravam cdigos automaticamente em Assembly quando se passava informaes pr-definidas.

Em 1954 desenvolvido para o IBM 704 por uma equipe da IBM chefiada por John W. Bakus foi criado a LP chamada Fortran. Adaptada para a escrita de programas numericamente intensos esta LP se tornou a partir de 1966 a mais usada no meio cientfico. Uma gama enorme de compiladores para os diversos computadores foram criados, sua simplicidade e facilidade para aprendizado e a capacidade de lidar com nmeros complexos ajudaram para sua difuso. Como era a primeira projeo de uma LP de alto nvel o Fortran necessitava que sua formatao do Cdigo Fonte fosse bastante precisa, erros de sintaxe e pscompilao eram bastante comuns. A evoluo das LP tem acompanhado a ordem cronolgica com que os computadores se desenvolvem, isto gera novas necessidades e por sua vez, formas novas de resolver os problemas devem ser encontradas.

As Linguagens de Programao
Uma LP tem por caracterstica comum a abstrao seja parcial ou total da linguagem de mquina que enxergada pelo computador. Esta abstrao pode ser classificada como:

Baixo Nvel quando a abstrao relativamente pouca, ou seja, se


escreve um cdigo muito prximo ou totalmente entendido pela mquina; Mdio Nvel quando se utiliza smbolos simples, estes geram um cdigo intermedirio entre a compreenso humana e da mquina; Alto nvel quando se utiliza de smbolos complexos, estes geram um cdigo que inelegvel pela mquina mas completamente compreendido pelo Homem; Altssimo Nvel quando os smbolos so altamente complexos, seu cdigo fonte totalmente abstrato ao cdigo que a mquina conhece.

Como funo nica da LP facilitar a forma como criamos instrues para o computador executar, o conjunto finito de regras denominado ento Linguagem de Programao gera, um conjunto infinito de Cdigos Fontes. Isto possvel, pois dois programadores criam solues diferentes para um nico problema, mesmo se utilizando a mesma LP. Quanto forma como ser transformada em Linguagem de Mquina, uma LP pode ser atualmente ser classificada como para compilao ou para interpretao: Compilao quando o mtodo utilizado traduz todo o Texto Fonte para a Linguagem de Mquina antes da execuo. O mecanismo utilizado um software chamado compilador que executa diversas tarefas de anlise e sntese no Texto Fonte gerando a final um Cdigo Objeto j inteiramente compilado e que poder ser executado diversas vezes. Este Cdigo Objeto voltado unicamente para um tipo de plataforma; Interpretao quando o mtodo utilizado traduz de forma simultnea sua execuo o Texto Fonte. O mecanismo utilizado ento um software chamado Interpretador, as anlises no Texto Fonte so simultneas e os erros reportados ao utilizador. Sua utilizao geralmente envolve execues multi-plataforma para o mesmo Texto Fonte. certo que estas duas formas mesmo que distintas podem ser usadas de forma conjunta em uma LP, de forma a tornar mais flexvel utilizao.

Aplicao
imprescindvel para a elaborao rpida de um sistema a utilizao de uma LP, sua converso para a Linguagem de Mquina no to eficiente quando um sistema escrito diretamente em Linguagem de Mquina, mas seu custo final de produo compensa esta deficincia. Existindo cada vez mais equipamentos programveis, mais LP sero desenvolvidas para suprir as necessidades que estes equipamentos possuiro para interagir com seu dono. Seja para um software no celular, computador de um automvel, aeronaves, satlites, geladeiras etc.

Dentre outras, a escolha de qual LP utilizar varia de acordo com: Forma de interao com o usurio final Web, Cliente/Servidor etc. Equipamento Celular, Pager, Automvel etc. Especificao Matemtica, Fsica, Estudos etc. Arquitetura Unix, Windows, Mac etc. O equipamento ainda pode ser desenvolvido sob um determinado tipo de LP, restringindo assim as outras. A evoluo que se calcula para as LP so os chamados Geradores de Software que se destinam a abstrair da programao a LP. O programador utiliza smbolos e formas abstratas para gerar o Texto Fonte, que passa ento a ser escrito automaticamente para uma LP e em seguida ser compilado. Esta tcnica promete agilizar ainda mais a forma como um software criado. [HLP1]

Cronologia
PLANKALKL 1945 Criada por Konrad Zuse; Foi a primeira linguagem de programao de alto nvel do mundo Nunca implementada; Estruturas de dados avanadas: reais, arrays, records. FORTRAN The IBM Mathemat ical FORmula TRANslating System: FORTRAN por John Backus, 1954

Projetado para o IBM 704 Ambiente de desenvolvimento: Computadores tinham pouca capacidade de processamento e memria e no eram confiveis Aplicaes cientficas Sem metodologia ou ferramentas de programao FORTRAN I 1957 Primeira verso implementada do FORTRAN I/ O formatado Nomes podiam ter at 6 caracteres Subprogramas definidos pelo usurio Comando de seleo de t rs modos (IF aritmtico) Loop de contagem ps- testado (DO) Compilador lanado em abril de 1957, depois de 18 homens- ano de esforo. Programas maiores que 400 linhas raramente compilavam corretamente, principalmente devido baixa confiabilidade do 704 Cdigo era muito rpido Rapidamente tornou- se popular

FORTRAN II - 1958 Corrigiu vrios bugs do Fortran I

Compilao de subrotinas independente 50% do cdigo escrito para o IBM 704 era FORTRAN FORTRAN IV - 1960- 62 FORTRAN III nunca largamente distribudo Declarao de tipos explcita Comando de seleo lgica Nomes de subprogramas podiam ser parmetros Padro ANSI em 1966 FORTRAN 77 - 1978 Manuseio de character string Comando de cont role de loop lgico Comando IF- THEN- ELSE FORTRAN 90 - 1990 Funes built - in para operaes com arrays Arrays dinmicos Ponteiros Tipo registro Recurso Novas estruturas de controle, ex. CASE Checagem de tipo de parmetro Mdulos

Autor do FORTRAN

LISP - 1959 Caractersticas: Somente dois tipos de dados: tomos e listas Sintaxe baseada no lambda calculus Pioneira da programao funcional No necessita variveis ou atribuio Controle via recurso e expresses condicionais Paradigma alternativo ao modelo imperativo Ainda uma das linguagens dominantes Exemplo de Funo em LISP ; Funo LISP que pega duas listas como argumentos e ; retorna True se as duas listas forem iguais, e NIL (falso) caso ; contrrio.

(DEFUN equal (lis1 lis2)) (COND ( (ATOM lis1) (EQ lis1 lis2)) ( (ATOM lis2) NIL) ( (equal (CAR lis1) (CAR lis2)) (equal (CDR lis1) (CDR lis2))) ( T NIL) )) ALGOL 58 - 1958 Caractersticas da linguagem: Conceito de tipo formalizado Nomes podiam ter qualquer tamanho Arrays podiam ter um nmero qualquer de ndices Parmetros eram separados por modo (entrada/ sada) ndices eram colocados entre colchetes Comandos de composio de blocos (begin ...end) Ponto e vrgula como separador de comandos Operador de atribuio := IF com clusula ELSE- IF ALGOL 60 - 1960 En um encontro em de 6 dias em Paris o ALGOL 58 foi modificado Novas caractersticas:

Estrutura de blocos (escopo local) Dois modos de passagem de parmetros Subprogramas recursivos Arrays em pilhas dinmicas Ainda nenhum I/ O nem manuseio de strings Sucessos: Foi o padro para publicao de algoritmos por mais de 20 anos Todas as linguagens imperativas so baseadas nela Primeira linguagem independente de mquina Primeira linguagem cuja sintaxe foi definida formalmente (BNF) Falha: Nunca foi amplamente utilizada, especialmente nos EUA Motivos: Nenhum I/ O e o conjunto de caracteres faziam com que os programas no fossem muito portveis Muito flexvel, portanto difcil de implementar Falta de apoio da IBM (adivinha por que?) Exemplo de programa em ALGOL 60 begin integer array intlist [1:99]; integer listlen, counter, sum, average, result;

sum := 0; result := 0; readint(listlen); if (listlen > 0) L (listlen < 100) then begin comment Read input into an array and compute the average; for counter := 1 step 1 unt il listlen do begin readint ( intlist[counter]); sum := sum + int list [counter]; end;

ALGOL 68 - 1968 A partir do desenvolvimento do ALGOL 60, mas no um superconjunto daquela linguagem Projeto baseado no conceito de ortogonalidade Fonte de vrias idias adotadas por outras linguagens Contribuies: Estruturas de dados definidas pelo usurio Arrays dinmicos (chamados flex arrays)

SIMULA 67 - 1967

Baseada no SIMULA I, criada por Kristen Nygaard e OleJohan Dahal, entre 1962 e 1964 na Noruega Projetada inicialmente para simulao de sistemas Baseada no ALGOL 60 e SIMULA I Contribuies: Co- rotinas: um tipo de subprograma que pode ser reiniciado a partir do ponto onde previamente havia parado POO AUTORES DO SIMULA

COBOL - 1960 Objetivos do projeto: Deve parecer com ingls simples Deve ser fcil de usar, mesmo que signifique menos recursos Deve ampliar a base de usurios de computadores No deve ser influenciado por problemas de implementao (compiladores) Contribuies:

Estruturas de dados hierrquicas (registros) Comandos de seleo aninhados Nomes longos (at 30 caracteres), com hfens Data Division Exemplo de programa em COBOL IDENTIFICATION DIVISION PROGRAMID. PRODUCEREORDERLISTING. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE CONPUTER. DECVAX. OBJECT CONPUTER. DECVAX. INPUTOUTPUT SECTION. FILECONTROL. SELECT BALFWDFILE ASSIGN TO READER. SELECT REORDERLISTING ASSIGN TO LOCALPRINTER. DATA DIVISION. FILE SECTION. FD BALFWDFILE PL/ I - 1965 Projetado pela IBM e SHARE Incluia o que era considerado o melhor do: ALGOL 60: recurso estrutura de blocos FORTRAN IV

compilao de rotinas em separado comunicao por dados globais COBOL 60 estruturas de dados I/ O (facilidades para gerao de relatrios) Linguagem grande e complexa Ut ilizada em aplicaes cientficas e comerciais Sucesso parcial Contribuies: Primeiro tratamento de exceo (23 tipos) Tipo de dado ponteiro Referncia a sees de arrays EXEMPLO DE PROGRAMA EM PL/ I PLIEX; PROCEDUREOPTIONS (MAIN); DECLARE INTLIST (1:99) FIXED. DECLARE (LISTLEN, COUNTER, SUM, AVERAGE, RESULT) FIXED; SOM = 0; RESULT = 0; GET LIST (LISTLEN). IF (LISTLEN > 0) & (LISTLEN < 100) THEN DO;

/ * READ INPUT DATA INTO AN ARRAY AND COMPUTE THE SUM */ DO COUNTER = 1 TO LISTLEN; GET LIST (INTLIST (COUNTER)); SUM = SUM + INTLIST (COUNTER); END; / * COMPUTE THE AVERAGE */ AVERAGE = SUM / LISTLEN; Pascal - 1971 Criada por Niklaus Wirth Baseada no ALGOL W, proposta alternativa apresentada pelos que consideraram a ALGOL68 muito complexa Simplicidade e tamanho reduzido eram objetivos de projeto Projetada para o ensino de programao estruturada Ainda a uma das LPs mais usadas para o ensino de programao estruturada nas universidades Exemplo de programa em Pascal program pasex (input , output ); type intlist type = array[1..99] of integer; var intlist :int list type; listlen, counter, sum, average, result : integer; begin

result := 0; sum := 0; readln(list len); if ((listlen > 0) and (listlen < 100) then begin {read input into an array and compute the sum } for counter := 1 to list len do begin readln(int list [counter]); sum := sum + int list [counter]; end; AUTOR DA LINGUAGEM PASCAL

BASIC - 1964Criada por Kemeny & Kurtz em Dartmouth Objetivos de Projeto: Fcil de aprender e usar (por outros que no fossem estudantes de cincias)

Linguagem agradvel e amigvel Rpida implementao de pequenas aplicaes Tempo do usurio mais importante que tempo de mquina Verso inicial era compilada, sem entrada pelo terminal Simples: 14 tipos de comandos e 1 tipo de dados Dialetos populares atuais: QuickBASIC e Visual BASIC Exemplo de programa em QUICKBASIC DIM int list (99) result = O sum = O INPUT list len IF list len > O AND list len < 100 THEN REM Read input into an array and compute the sum FOR counter = 1 TO list len INPUT intlist (counter) sum = sum + int list (counter) AUTORES DO BASIC

Modula2 Criada entre 1975-76 por Niklaus Wirth na ETH; Recursos do Pascal mais mdulos, suportando tipos abstratos de dados, procedimentos como tipos e caractersticas de baixo nvel projetadas para programao de sistemas. Modula3 Criada no final dos anos 80 por Systems Research Center (Digital) e Olivetti Research Center; Baseada no Modula2, Mesa, Cedar e Modula2+; Adiciona ao Modula2: POO; Tratamento de exceo; Garbage collect ion; Concorrncia.

Delphi (Borland) Lanado em 1995 Pascal mais caractersticas de suporte a POO Mais elegante e seguro que C+ + Baseada em Object Pascal, projetada anos antes. C 1972 Projetada para a programao de sistemas nos Lab. Bell por Dennis Richie Ancestrais incluem CPL, BCPL, B e ALGOL68 Operadores poderosos, checagem de tipos pobre Inicialmente popular entre usurios UNIX Exemplo de programa em C void main() { int int list [98], list len, counter, sum, average, result ; sum = 0; result = 0; scanf(` ` %d'', &list len); if ((list len > 0) && (list len < 100) { / * read input into an array and compute the sum */ for (counter = 0; counter < list len; counter+ + ) { scanf(` ` %d'', &int list[counter]); sum = sum + int list [counter];

AUTOR DA LINGUAGEM C

Prolog - 1972 Desenvolvido na Universidade de Aix Marseille, por Comerauer e Roussel, com ajuda de Kowalski da Universidade de Edinburgh Baseda em lgica de predicados de 1.ordem No procedural LP declarativa que usa um padro de inferncia (resoluo por refutao) para inferir se expresses fornecidas so verdadeiras (e sob que condies) ou no. Exemplo de programa em Prolog vel_max(ford,100). vel_max(chevy,105). vel_max(dodge,95). vel_max(volvo,80). tempo(ford,20). tempo(chevy,21). tempo(dodge,24).

tempo(volvo,24). distancia(X,Y) :- vel_max(X,Velocidade), tempo(X,Tempo), Y is Velocidade * Tempo. Ada - 1983 Contribuies: Suporte para abstrao de dados Facilidades para tratamento de excees Unidades de programa genricas: verses instanciadas geradas pelo compilador de acordo com tipos de dados especficos Suporte execuo concorrente de unidades de programa Comentrios: Projeto via contrato competitivo Incluiu tudo que se conhecia sobre engenharia de software e projeto de linguagens No confivel por causa da alta complexidade Compiladores de difcil construo. Primeiro compilador operacional surgiu 4 anos depois que o projeto da linguagem tinha sido completado. Ada 95 - 1988 Facilidades para interface grfica Suporte para POO Mecanismos de cont role para dados compartilhados

Apesar de to completa, Ada s foi largamente utilizada pela organizao que promoveu seu desenvolvimento: - o governo americano. Exemplo de programa em ADA with TEXT_IO; use TEXT_IO; procedure ADA_EX is package INT_IO is new INTEGER_IO (INTEGER); use INT_IO; type INT_LIST_TYPE is array (1..99) of INTEGER; INT_LIST : INT_LIST_TYPE; LIST_LEN, SUM, AVERAGE, RESULT: INTEGER; begin RESULT := 0; SUM := 0; GET (LIST_LEN); Smalltalk 1972- 1980 Desenvolvida pela Xerox PARC, inicialmente por Alan Kay, depois por Adele Goldberg Primeira implementao completa de uma linguagem orientada por objetos (abstrao de dados, herana e vinculao de tipos dinmica) Pioneira na interface grfica baseada em janelas. Exemplo de programa em Smalltalk class name Polygon

superclass Object instance variable name ourPen numSides sideLenght Class methods Create an instance new ^ super new getPen Get a pen for drawing polygons getPen

AUTORES DO SMALLTALK

C+ + - 1985 Desenvolvida nos Lab. Bell por Stroustrup

Baseada no C and SIMULA 67: facilidades para POO do SIMULA 67 adicionadas ao C Possui tratamento de exceo Linguagem grande e complexa, em parte por suportar programao procedural e orientada por objetos Popularizou- se rapidamente, junto com POO AUTOR DO C++

Java - 1995 Desenvolvida pela Sun no comeo dos anos 90 Para POO, baseada em C+ + , mas significativamente simplificada (no usa ponteiros) Inclui suporte a applets e concorrncia Padro ANSI aprovado em novembro de 97

Outras Linguagens
ML (1973) Meta Language. Linguagem de

programao funcional. Verso mais recente o SML/ NJ. PostScript (1982), PDF Linguagens de formatao de textos para visualizao. TeX/ LaTeX (1985) Linguagem para formatao de textos cientficos. Clipper (1984) Linguagem de desenvolvimento de banco de dados para DOS. SQL St ructured Query Language. Padro para operaes em bancos de dads relacionais. Perl (1987) Linguagem script com facilidades para manipulao de texto. PYTHON (1991) Linguagem interpretada, orientada a objetos similar ao Perl. PHP (1995) - Linguagem script para o desenvolvimento de aplicaes Web; embutvel dentro do HTML. ASP Active Server Page. Linguagem script para const ruo de pginas dinmicas. JavaScript (1995) Linguagem script para aplicaes web executadas no cliente (CSI). HTML Hipertext Markup Language, linguagem de marcao para formatao de hipertextos. XML Extensible Markup Language. Usado para estruturao do contedo de pginas HTML. [HLP0]

Concluso

A Histria da computao foi e tem sido um grande marco para o desenvolvimento evolucionrio da tecnologia, atravs da pesquisa podemos ver que ainda h muitos caminhos serem percorridos no desenvolvimento e

aperfeioamento de tecnologias desenvolvidas, j h descobertas de novas linguagens e materiais que nos possibilitaro mais velocidade, praticidade e agilidade em todos os setores que envolvem a tecnologia moderna.

Bibliografia

Chagas, A. L. (2008). Historico das Linguagens de Programao. Acesso em 12 de ABR de 2013, disponvel em http://pesquompile.wikidot.com/historico-linguagens-programacao Mensagero, E. (04 de SET de 2010). Acesso em 18 de ABR de 2013, disponvel em A Historia Cronologica das Linguagens de Programacao: http://grupologica.forumslog.com/t86-ahistoria-cronologica-das-linguagens-de-programacao ProTeste. (2012). IPOD Nano. ProTeste , 75-76. Publicado, N. N. (26 de AGO de 2011). Historia dos Sistemas Operacionais. Acesso em 30 de ABR de 2013, disponvel em Tecnologia SJC: http://tecnologia.saojosecampos.net Tanenbaum, A. S. (1990). Organizao Estruturada de Computadores. Tanenbaum, A. S. (2009). Sistemas Operacionais Modernos (3 ed.). (P. D. Gonalves, P. D. Consularo, & L. d. Teixeira, Trads.) So Paulo: PEARSON.

Potrebbero piacerti anche