Turbo Pascal Forever – Introdução

Bom, já passamos da metade do ano e fazendo um balanço de todas as ideias que me incentivaram na criação do blog, cheguei a conclusão de que tenho muito “cartucho” ainda para gastar e um desses cartuchos é exatamente a criação de, no mínimo, dois cursos de programação na forma de série de artigos que serão publicados no site.

Então botei a mão na massa e corri atrás do feedback dos participantes do blog e também das opiniões dos participantes das principais listas de discussões relacionadas a MSX e computadores antigos em geral e o resultado final foram 2 séries sobre programação para o blog.

A primeira série, e que inicia nesse post, será dedicada a programação em Pascal (Turbo Pascal 3 para CP/M e MSX DOS) e a segunda (talvez para o ano que vem) dedicada a programação C, claro que o conteúdo desses cursos será voltado a plataformas embarcadas e a plataforma embarcada que escolhi é a MSX. 🙂

Como não poderia ser diferente vamos começar contando um pouquinho da ….

…História do Pascal – Primeiros dias.

A linguagem Pascal foi criada no ano de 1968 pelo cientista Niklaus Wirth e seu nome foi dado em homenagem ao francês, filósofo, matemático, escritor, inventor, etc e etc, Blaise Pascal.

Os principais motivadores para a criação de Pascal foram:

  1. Ter uma linguagem enxuta e eficiente;
  2. Incentivar boas práticas de programação com base em estruturas de dados e programação estruturada;
  3. Altamente didática, pois seu uso inicial visava o ensino de programação estruturada para estudantes;

.

Assim como diversas outras linguagens modernas, como C e ADA, Pascal foi fortemente baseada na linguagem ALGOL, por isso não é incomum encontrar literaturas que descrevem algoritmos completos escritos escritos em uma dessas linguagens, sendo C e Pascal as preferidas por muitos autores de livros de algoritmos e técnicas avançadas de programação, ou seja, Pascal é uma linguagem dirigida a verdadeiros programadores, ao contrário de linguagens como o BASIC em sua forma tradicional (ex: MSX-BASIC, Apple BASIC,…) que foram feitas para que não programadores pudessem criar programas de maneira rápida, porém estimulando hábitos de programação deficientes e código ilegível.

Por esses motivos, o BASIC evoluiu em direção ao Pascal nos ultimos anos, chegando a ter estruturas similares.

Segue abaixo alguns projetos escritos em Pascal:

  • p-System é um sistema operacional criado em Pascal, lá pelo final da década de 70 e me lembro de ter ouvido sobre esse sistema operacional quando o MS-DOS ainda tentava se estabelecer no mercado como mainstream.  A principal característica desse sistema era rodar código pseudo-compilado, atualmente conhecido como bytecodes, em tecnologias como Java e .Net.
  • Perix Operating System é um sistema operacional escrito em Turbo Pascal e Assembly. Seu autor mantém uma comunidade no Orkut e já conta com outros desenvolvedores experientes atuando no projeto. O autor do projeto é brazuca.
  • Skype – Reconhecido software de comunicação instantânea com capacidade de fazer chamadas telefônicas via internet, tem seu front-end para plataforma Windows, escrito em Delphi/Object Pascal.
  • Apple Lisa – Esse computador foi o precursor do Macintosh com o seu sistema operacional MacOS. O sistema operacional do Lisa foi escrito em Pascal.
  • MacOS – É o sistema operacional dos primeiros computadores Macintosh e assim como o Lisa, foi escrito também em Pascal, com partes em Assembly.

.

Turbo Pascal – O Pascal da época dos primeiros PC’s.

Programar em uma linguagem compilada era um pequeno parto na época dos primeiros PC‘s, sendo essa a realidade ainda hoje para plataformas embarcadas, uma vez que esse processo geralmente envolve vários passos até chegar ao binário compreensível pela máquina.

Esses processos são conhecidos como edição, compilação e linkagem e quando feitos em máquinas e compiladores modernos, o programador, hoje, nem precisa saber, e termina não sabendo, que os mesmos estão acontecendo, porém lá pelos anos 1970/80 era natural que todo desenvolvedor de software soubesse do que se tratava cada um desses passos, até mesmo porque ele interagia diretamente em cada um desses processos.

Sem contar que fazer esses passos nos computadores da época, era algo extremamente demorado pois os mesmos tinham recursos limitadíssimos, tanto de processamento quanto de armazenamento, o que tornava o processo lento em cada um dos passos, sendo que programas de apenas 8 KBytes poderiam levar em média de 3 a 5 minutos para a geração de executáveis.

Foi nesse cenário, com ferramentas de desenvolvimento tão arcaicas quanto escrever documentos em pedra, que nasceu uma das maiores obras de engenharia de software da época, e quem sabe de todos os tempos, e que praticamente obrigou os “grandes” players na época a elevar o nível de suas ferramentas, investindo pesado em seu desenvolvimento até chegar às ferramentas modernas existentes na atualidade………estou falando do Turbo Pascal da Borland Software Corporation.

Turbo Pascal 3.0 (Capa)

Parece exagero falar que o Turbo Pascal é uma das maiores obras de engenharia de software, mas se considerarmos que o Turbo Pascal se tratava da primeira ferramenta com Editor/Compilador integrado, capaz de compilar milhares de linhas de código em apenas poucos segundos e que todas as ferramentas da época demoravam vários minutos para fazer o mesmo, considerando máquinas com 64Kb ou menos de memória, com certeza se trata de uma grande obra de engenharia de software.

Tela de abertura do Turbo Pascal 1.0. Foi assim até a versão 3.0

A imagem acima foi retirada do site http://eugostododelphi.blogspot.com/

Na época a Microsoft Corporation, tentou revidar com o seu famigerado Microsoft Pascal,  seguido do seu não menos famigerado Microsoft Quick Pascal, porém suas ferramentas de desenvolvimento sempre estiveram atrás das construídas pela Borland, isso até o final da década de 90, quando a mesma passou a contratar engenheiros chave da equipe de desenvolvimento de compiladores da Borland, equiparando assim o cenário.

PERGUNTA 1 (utilizem a área de comentários do post para responder)

Qual o nome do arquiteto que deixou a Borland para na Microsoft criar uma das linguagens mais conhecidas da empresa na atualidade ?

Tamanha era a superioridade do Turbo Pascal frente a outros compiladores de outras linguagens que, rapidamente, as publicações da época davam foco a artigos que tratavam de Pascal, ou seja, juntamente com Assembly, Pascal se tornava mainstream no cenário de programação e na mídia, tudo isso graças a grande aceitação e popularidade do Turbo Pascal da Borland.

Depois disso a Borland cresceu e expandiu sua linha de produtos, implantando a tecnologia Turbo para um outros produtos, também consagrados, como o Turbo C/C++ e Turbo Assembler (TASM), bem como em outras menos consagradas como o Turbo Prolog.

O próprio Turbo Pascal evoluia de maneira gradativa, tanto que na versão 5.5, o mesmo passava a incorporar características de orientação a objetos (OOP), amplamente difundidas em linguagens mais modernas como Java e que no universo Pascal ficou conhecida como Object Pascal.

Tela de abertura do Turbo Pascal 5.5

PERGUNTA 2 (utilizem a área de comentários do post para responder)

Que grande empresa, reconhecida pelos seus gadgets e PC‘s, desenvolveu a extensão de Pascal, denominada Object Pascal ?

Com produtos de alta qualidade e performance, a Borland dominou o mercado para desenvolvedores de software na era MS-DOS, sendo que outras produtoras como a Microsoft, Symantec, Sybase, sequer chegavam perto em qualidade, com sua linha de produtos similares.

Com a popularização dos sistemas operacionais gráficos, principalmente graças ao  Windows 3.11, o conceito de usabilidade de software mudou radicalmente, entretanto as ferramentas de desenvolvimento de software permaneceram por um tempo com as mesmas características da época do MS-DOS,  como o Visual C++ e o Turbo C++ for Windows e Turbo Pascal For Windows.

Mas com toda a riqueza e principalmente complexidade que esses ambientes operacionais gráficos traziam ao mundo dos PC’s, na época, era inevitável que uma mudança radical na área de ferramentas para desenvolvimento de software estava para acontecer, principalmente para que os desenvolvedores aproveitassem ao máximo toda a potencialidade que esse novo mundo gráfico proporcionava e principalmente para auxiliar no desenvolvimento de produtos com mais qualidade e principalmente reduzindo o tempo de desenvolvimento de sistemas.

Foi nesse cenário que a Borland proporcionou ao mundo outra grande inovação, tão impactante quanto a apresentação da primeira versão do Turbo Pascal, trata-se do lançamento da ferramenta RAD (Rapid Application Development) denominada Delphi, que tinha como base toda infra estrutura da linguagem Pascal/Object Pascal, já conhecida e amplamente utilizada por diversos desenvolvedores ao redor do mundo.

Borland Delphi Logo

O tempo passou, as tecnologias evoluiram, hoje a linguagem Turbo Pascal, através do Delphi, já não pertence mais à Borland Software Corporation e sim da empresa de desenvolvimento de ferramentas de banco de dados Embarcadero Technologies, porém a estrutura da linguagem permanece, até os dias atuais, quase que da mesma forma que nas primeiras versões do Pascal Clássico bem como o Turbo Pascal 1.0, confirmando a visão de longo prazo de seu criador, Niklaus Wirth, ao desenvolver uma linguagem didática, estruturada, moderna, poderosa e principalmente extensível, muito a frente de seu tempo.

Bom, chegamos ao fim desse primeiro post, trazendo um pouco da história e importancia do Turbo Pascal no mundo da tecnologia de software, desde os primórdios até os dias atuais.

Até o próximo artigo.

[]’s
PopolonY2k

Referência Bibliográfica

Turbo Pascal 6 Competo e Total – Stephen O’Brien – McGrawHill

Referência  na internet

Pascal language (Wikipedia)
http://pt.wikipedia.org/wiki/Pascal_%28linguagem_de_programa%C3%A7%C3%A3o%29

Object Pascal (Wikipedia)
http://en.wikipedia.org/wiki/Object_Pascal

Turbo Pascal Compiler (Wikipedia)
http://pt.wikipedia.org/wiki/Turbo_Pascal

Turbo Assembler – TASM (Wikipedia)
http://en.wikipedia.org/wiki/Turbo_Assembler

Turbo Prolog (Wikipedia)
http://en.wikipedia.org/wiki/Visual_Prolog

Turbo C/C++ (Wikipedia)
http://en.wikipedia.org/wiki/Turbo_C%2B%2B

Delphi (Wikipedia)
http://en.wikipedia.org/wiki/Borland_Delphi

Microsoft Pascal (Wikipedia)
http://en.wikipedia.org/wiki/Microsoft_Pascal

Java Programming language (Wikipedia)
http://en.wikipedia.org/wiki/Java_%28programming_language%29

.Net (Wikipedia)
http://en.wikipedia.org/wiki/.NET_Framework

Borland Software Corporation
http://en.wikipedia.org/wiki/Borland

Microsoft Corporation (Wikipedia)
http://en.wikipedia.org/wiki/Microsoft_Corporation

Embarcadero Technologies
http://www.embarcadero.com

Blaise Pascal (Wikipedia)
http://en.wikipedia.org/wiki/Blaise_Pascal

Niklaus Wirth (Wikipedia)
http://en.wikipedia.org/wiki/Niklaus_Wirth

BASIC (Wikipedia)
http://en.wikipedia.org/wiki/BASIC

Apple BASIC (Wikipedia)
http://en.wikipedia.org/wiki/Apple_BASIC

MSX-BASIC
http://en.wikipedia.org/wiki/MSX_BASIC

Assembly language (Wikipedia)
http://en.wikipedia.org/wiki/Assembly_language

CP/M Operating System (Wikipedia)
http://en.wikipedia.org/wiki/CP/M

MSX-DOS Operating System
http://en.wikipedia.org/wiki/MSX-DOS

MS-DOS (Wikipedia)
http://en.wikipedia.org/wiki/MS-DOS

MS-Windows (Wikipedia)
http://en.wikipedia.org/wiki/Windows

Embedded systems
http://en.wikipedia.org/wiki/Embedded_system

Ada Programming language (Wikipedia)
http://en.wikipedia.org/wiki/Ada_%28programming_language%29

C Programming language (Wikipedia)
http://en.wikipedia.org/wiki/C_%28programming_language%29

ALGOL Programming language (Wikipedia)
http://en.wikipedia.org/wiki/ALGOL

Compiladores (Wikipedia)
http://en.wikipedia.org/wiki/Compiler

Linkagem (Wikipedia)
http://en.wikipedia.org/wiki/Linkage_%28software%29

Object-oriented Programming – OOP (Wikipedia)
http://en.wikipedia.org/wiki/Object-oriented_programming

Rapid Application Development – RAD (Wikipedia)
http://en.wikipedia.org/wiki/Rapid_application_development

Perix (Sourceforge.net)
http://sourceforge.net/projects/perix/

Skype
http://www.skype.com/intl/pt/home/

Apple Lisa (Wikipedia)
http://en.wikipedia.org/wiki/Apple_Lisa

Apple Macintosh (Wikipedia)
http://en.wikipedia.org/wiki/Apple_Macintosh

MacOS (Wikipedia)
http://en.wikipedia.org/wiki/Mac_OS

Print Friendly, PDF & Email