Pascal – Do nascimento aos dias de hoje

Origem

Pascal originou do ALGOL, uma linguagem de programação voltada para computação científica. Em um congresso em Zurich, um comitê internacional designou o ALGOL como uma linguagem independente de plataforma. Isto deu mais liberdade para as características que eles poderiam colocar na linguagem, mas também tornou mais difícil a escrita de compiladores para ela. Muitos fabricantes de computador não fizeram compiladores. A carência de compiladores em muitas plataformas, combinada com sua carência de ponteiros e muitos tipos de dados básicos tais como caracteres, fez com que ALGOL não fosse amplamente aceito. Cientistase e engenheiros migraram para o FORTRAN, uma linguagem de programação que estava disponível em muitas plataformas. O ALGOL acabou quase totalmente abandonado exceto como uma linguagem para a descrição de algoritmos.

Wirth Inventa o Pascal

Nos anos 60, muitos cientistas da computação trabalharam na extenção do ALGOL. Um desses cientisas era o Dr. Niklaus Wirth do Swiss Federal Institute of Technology (Zurich), um membro do grupo original que criou o ALGOL. Em 1971, ele publicou sua especificação para uma linguagem altamente estruturada que lembrava o ALGOL em muitos pontos. Ele a chamou de Pascal em homenagem ao filósofo e matemático frances do século 17 que construiu um computador mecânico-digital funcional.

Pascal é bastante orientado a dados, dando ao programador a capacidade de definir tipos de dados personalizados. Com esta liberdade veio a rígida checagem de tipos, que garantiu que tipos não se misturariam. Pascal pretendia ser ser uma linguagem educacional, e foi amplamente adotada como tal. Pascal é de escrita mais livre, diferente de FORTRAN, assim os estudantes não tinham que se preocupar com formatação. Além disso, Pascal se parece muito com uma linguagem natural, tornando muito fácil o entendimento do código escrito com ele.

Uma das coisas que matou o ALGOL foi a dificuldade de se criar um compilador para ele. Wirth evitou isso fazendo com que seu compilador Pascal compilasse para um código objeto intermediário, independente de plataforma. Um outro programa transformava esse código intermediário em código executável. O Prof. Ken Bowles da Universidade da Califórinia em San Diego (UCSD) agarrou a oportunidade que isto oferecia para adaptar o compilador Pascal para o Apple II, o microcomputador mais popular da época. O USCD P-System tornou-se um padrão, e foi amplamente usado em universidades. Isto foi possível também pelo baixo cusot do Apple II comparado aos mainframes, que eram necessários na hora de executar outras linguagens tais como FORTRAN.

Pascal Torna-se Padrão

Por volta dos anos 80, Pascal já tinha se tornado amplamente aceito em universidades. Duas coisas aconteceram para torná-lo mais popular.

Primeiro, o Educational Testing Service, a companhia que escreve e administra o principal exame de admição em universidades (semelhante ao vestibular) dos Estados Unidos, decidiu adicionar um exame de Ciência da Computação aos seus exames de Colocação Avançada para estudantes de escolas secundárias. Para este exame, foi escolhida a linguagem Pascal. Por causa disso, os estudantes de segundo grau assim como estundantes do primário começaram a aprender Pascal. Pascal permaneceu como linguagem oficial nesses exames até 1999, quando foi substituído por C++, que deu lugar ao Java logo depois.

Segundo, uma pequena companhia chamada Borland International lançou o compilador Turbo Pascal para o IBM Personal Computer. Este compilador foi revolucionário. Ele pegou alguns atalhos e fez algumas modificações no Pascal padrão, mas essas foram poucas e mantiveram a sua maior vantagem: velocidade. O Turbo Pascal compilava a uma taxa estonteante: milhares de linhas em um minuto. Naquela época, os compiladores disponíveis para a plataforma PC eram lentos e gigantescos. Quando o Turbo Pascal apareceu, ele era um milagre. Logo, o Turbo Pascal tornou-se o padrão de fato para programação em PC. Quando revistas de computação publicavam códigos fonte para programas utilitários, eles eram geralmente ou em assembly ou em Turbo Pascal.

Ao mesmo tempo, a Apple lançou sua série de computadores Macintosh. Desde que o UCSD Pascal foi implementado pela primeira vez no Apple II, a Apple fez do Pascal a linguagem de programação padrão para o Mac. Quando os programadores receberam a API e códigos de exemplo para programação em Mac, eles eram todos em Pascal.

Extensões

Da versão 1.0 até a 7.0 do Turbo Pascal, a Borland continuou a expandir a linguagem. Uma das críticas da versão original do Pascal era a carência de compilação separada para módulos. Wirth até criou uma nova linguagem de programação, Modula-2, para resolver esse problema. A Borland adicionou isto ao Pascal através de units.

Na versão 7.0, muitas características avançadas foram adicionadas. Uma delas foi a DPMI (DOS Protected Mode Interface), uma forma de executar programas DOS em modo protegido, obtendo velocidade extra e liberdade de quegrar a barreira de 640K instituída pela Microsoft em suas primeiras versões do DOS. O Turbo Vision, um sistema com janelas, baseado em texto, permitiu aos programadores criar interfaces interessantes quase que instantaneamente. Pascal até se tornou orientado a objetos, quando a versão 5.5 adotou as extensões do Apple Object Pascal. Quando o Windows 3.0 foi lançado, a Borland criou o Turbo Pascal para Windows, unindo a velocidade e facilidades do Pascal à interface gráfica para usuários (GUI). Parecia que o futuro do Pascal estava garantido.

As Coisas Mudam

Contudo, não foi assim. Nos anos 70, Dennis Ritchie e Brian Kernighan dos Laboratórios Bell da AT&T criaram a Linguagem de Programação C. Ritchie então colaborou com Ken Thompson para desenvolver o sistema operacional UNIX. AT&T tinah, naquela época, um monopólio sobre os serviços telefônicos nos Estados Unidos, e e teve a permissão de manter aquele monopólio em troca da sua retirada do negócio de computadores. Com isso, a AT&T forneceu o sistema operacional, com código fonte, para universidades gratuitamente.

Assim, toda uma geração de estudantes de Ciência da Computação que aprendeu Pascal nos cursos de programação introdutórios, aprendia C quando eles se aprofundavam em sistemas operacionais. Lentamente, a linguagem C começou a entrar no mundo da programação de computadores.

O maior culpado, ironicamente, foi a orientação a objetos e a mudança para o Windows na plataforma PC. Bjarne Stroustrop introduziu a orientação a objetos a quase todo mundo quando ele criou o C++. Object Pascal foi criado rapidamente em resposta, mas para a maioria dos programadores, a primeira coisa que vem a mente quando programação OO é mencionada é C++.

A medida que o mundo ia na direção do Windows, o trabalho de manter-se junto a ele tornava-se maior. o Windows foi programado em C (K&R C, para ser mais específico), e a Microsoft liberou a API inteiramente em C. Codigos de exemplo vinham em C. A maioria dos programas de terceiros eram escritos em C. Programar aplicações para Windows em Pascal era nadar contra a maré.

Muitas escolas e universidades abandonaram o Pascal, escolhendo C++, ou o novo Java, para seus cursos de programação. Finalmente, o exame de colocação das universidades americanas adotou C++, acabando com o domínio do Pascal nas escolas.

Então por que aprender Pascal?

Independente de não ser mais um padrão de fato, Pascal ainda é extremamente útil. C e C++ são linguagens bastante simbólicas. Enquanto Pascal escolhe palavras (por exemplo, begin-end), C/C++ escolhe símbolos ({}). Além disso, C e C++ não são linguagens fortemente tipadas. Em Pascal, a mistura de tipos geralmente leva a um erro. Em C/C++, nada aconteceria. Você poderia até tratar ponteiros como inteiros e fazer aritmética de ponteiros com eles. Desta forma, você poderia quebrar o programa muito facilmente. Quando o exame de colocação em universidades adotou C++, apenas um subconjunto do C++ foi adotado. Muitas características, como arrays, eram consideradas muito perigosas, e o Educational Testing Service forneceu sua própria versão “segura” dessas características. Java corrigiu muitos desses problemas do C++ (não existem ponteiros reais em Java).

Uma outra razão: velocidade e tamanho. O compilador Pascal da Borland ainda é muito rápido. A Borland revitalizou o Pascal para windows com o Delphi, um ambiente RAD (Rapid-Application-Development). Em vez de gastar várias horas escrevendo uma interface para o usuário para um programa Windows em C/C++, você poderia fazer isso em dez minutos com as ferramentas de projeto gráfico do Delphi. Você poderia fazer o mesmo no Visual Basic, mas o Delphi é muito mais rápido do que o Visual Basic.

Além disso, o Pascal continua sendo a linguagem preferida em muitas universidades, parcialmente devido à complexidade de ensinar programação introdutória com Java ou C++. Ensinar Java requer o ensino de orientação a objetos – algo muito pesado para um curso de programação para iniciantes. Para ensinar programação procedura simples, Pascal continua sendo a melhor escolha.

Assim, mesmo depois do C, C++ e Java tomarem conta do mundo da programação, Pascal mantém um nicho no mercado. Muitos freeware, shareware e programas de código-aberto de pequena escala são escritos em Pascal/Delphi. Assim aproveite para aprender Pascal enquanto ele ainda resiste. É uma grande introdução à programação de computadores. Não é assustador como C, perigoso como C++, ou abstrato como Java.

Hello World

Na curta história da programação de computadores, uma tradição foi criada. O primeiro programa escrito em uma nova linguagem sempre é um programa “Hello, world”. Para encerrar este artigo vamos apresentar a versão do Hello World para o Pascal. Copie e cole o seguinte programa em seu editor de texto ou IDE, então compile e execute-o:

   program Hello;
   begin     (* Main *)
      writeln ('Hello, world.')
   end.      (* Main *)

A saída deve ser isso:

   Hello, world.
Fonte: http://www.fundao.wiki.br/articles.asp?cod=32

Compatilhe esse artigo!

Leave a Reply

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.