quinta-feira, 5 de julho de 2012

A história da Linguagem Pascal






A linguagem de programação PASCAL foi criada para ser uma ferramenta educacional, isto no início da década de 70 pelo Prof. Niklaus Wirth do Technical University em Zurique. 
Esta linguagem foi batizada pelo seu criador de PASCAL, em homenagem ao grande matemático Blaise Pascal, inventor de uma das primeiras máquinas lógicas conhecidas.

O próprio Niklaus Wirth diz Pascal foi criada simultaneamente para ensinar programação estruturada e para ser utilizada em sua fábrica de software. Simultaneamente, a linguagem reflete a liberação pessoal de Wirth das restrições impostas pelo seu envolvimento com a especificação de ALGOL 68, e sua sugestão para essa especificação, o ALGOL W.


Foi baseada em algumas linguagens estruturadas existentes (ALGOL e PLI), tentando facilitar ao máximo o seu aprendizado. O PASCAL somente ganhou popularidade quando foi adotado pela Universidade da Califórnia, San Diego, em 1973. No mesmo período, em seus cursos, também foram feitas implementações para minis e microcomputadores.

A linguagem é extremamente bem estruturada e muito adequada para ensino de linguagens de programação. É provavelmente uma das linguagens mais bem resolvidas entre as linguagens estruturadas, e certamente um dos exemplos de como uma linguagem especificada por uma pessoa pode ser bem melhor do que uma linguagem especificada por um comitê.

Pascal originou uma enorme gama de dialetos, podendo também ser considerada uma família de linguagens de programação. Grande parte de seu sucesso se deve a criação, na década de 80, da linguagem Turbo Pascal, inicialmente disponível para computadores baseados na na arquitetura 8086 (com versões para 8080 no seu início).

Pascal é normalmente uma das linguagens de escolha para ensinar programação, junto com Scheme, C e Fortran.


Nas suas primeiras implementações, não era muito amigável ao programador, pois eram necessários vários passos para se obter um programa executável.  Primeiro devia se escrever o programa executável. Primeiro devia se escrever o   programa em um editor de texto, depois compilá-lo, "lincá-lo" e montá-lo. Quando era feita uma manutenção no mesmo, todos estes passos deviam ser refeitos o que não estimulava os programadores. 

Apesar de todas as dificuldades iniciais, de seu propósito educacional e a facilidade de programação, o PASCAL começou a ser utilizado por programadores de outras linguagens, tornando-se para surpresa do próprio Niklaus, um produto comercial. Contudo somente ao final do ano de 1983, é que a soft-house americana Borland Internacional, lançou o TURBO PASCAL para microcomputadores, aliado ao lançamento do TURBO. Também neste mesmo período, houve um grande crescimento no mercado de microcomputadores.

Lançamento do Turbo Pascal

Em 20 de Novembro de 1983. Era lançado comercialmente um produto inovador e revolucionário: o Turbo Pascal 1.0!

O que havia de novo? Um único programa para editar código fonte, compilar, ligar os códigos objetos e gerar o arquivo executável (.COM na época). Ou seja, foi o primeiro IDE (Integrated Development Environment, ambiente de desenvolvimento integrado) para microcomputadores! 

O TURBO PASCAL em suas primeiras versões, até a sua versão 3, tinha uma tela inicial que também servia de menu principal, todas as rotinas existentes estavam em um único arquivo e o programa executável tinha uma estrutura .COM(extensão). A partir da versão 4, o TURBO teve algumas mudanças conceituas, sendo as principais, de ambiente, tornando-o mais amigável, como a maioria do softwares modernos. As rotinas auxiliares foram divididas de acordo com a atividade que desempenham no programa, e a própria estrutura do programa, .EXE (extensão) que por suas características separa as diversas áreas do programa em segmentos de 64 Kbytes, além de novos tipos reais.

A partir da versão 5.0, foram também adicionadas formas de depuração dos programas que estão em ambiente, a partir da versão 5.5. Foi incrementada também uma estrutura da linguagem orientada por objeto que permite a criação de registro, contendo estruturas de programação (O.O.P.)

Características Inovadoras do Pascal: estruturas de controlo flexíveis; tipos definidos pelo utilizador; ficheiros; records; conjuntos.

O TURBO PASCAL consegue em um único ambiente, colocar um editor de textos, bastantes parecido com o WordStar e o SideKick, um código fonte ligado a um sistema de detectação de erros, um compilador de 1 passo, o que o torna bastante veloz, com a desvantagem de que apenas um erro é localizado por vez, e também um "linkador" que permite a ligação do programa PASCAL com objetos, mesmos os geradores por outras linguagens. 

Além disso, o nome já dizia tudo: era Turbo mesmo! Tanto na velocidade de compilação quanto na execução! Na época, grande parte das linguagens disponíveis eram interpretadas, ou demoravam muito para compilar e gerar o executável, além de precisarem de auxílio de "runtimes". E os preços eram exorbitantes! O TP inovou até aqui: custava US$49,95! e na era do desenvolvimento ágil, foi possível, em grande parte, graças a essas idéias brilhantes!

Em da década 80 também existiram outras linguagens de programação como o QuickBasic no PC, que tinha muitos problemas relacionados as suas limitações limitações, que não eram poucas. Alem desta, linguagem,existia na época o FORTRAN, C, Prolog, Lisp. Logo depois surgiu o "Clipper".

O Pascal poderia ser utilizado como ferramenta de estudo e como ferramenta para fins de desenvolvimento de trabalhos profissionais, pois, pode ser criado um  código em Pascal com rotinas para menu e tela, manipulação de strings e banco de dados, que era o que atraía a maioria dos programadores Clipper.

É uma ferramenta que pode ser utilizada para trabalhar com som e imagem, desenvolvendo programas para atuação com: multimídia, com som, gráficos em alta resolução e toque-na-tela, tudo escrito em TP e chamando as API's dos drivers através do assembler inline.

O TP versão 6.0, que veio com o Turbo Vision 1.0, uma biblioteca verdadeiramente orientada por objetos (a avó da VCL do Delphi). 

POO significa e como uma interface gráfica OO realmente funciona. Era como a interface do Windows, em modo texto! 

Turbo Vision (Visão Turbo)
Visão Turbo é um DOS baseado em personagem de modo interface de usuário de texto (TUI) desenvolvida por volta de 1992 por Borland para Pascal e C + +. Mais tarde, foi preterido em favor de biblioteca de objetos do Windows para o então cada vez mais importante Win16 API.

O quadro Turbo Vision foi incluído com o Borland Pascal, Turbo Pascal e Borland C + +. Por padrão, aplicativos Turbo Vision replicar a aparência destes IDEs. Peças-chave da biblioteca Turbo Vision replicar a funcionalidade dos componentes padrão do Microsoft Windows, por exemplo, controles de edição, caixas de listagem, caixas de seleção, botões de rádio e menus, os quais têm suporte embutido mouse.

Por volta de 1997, o C + + versão, incluindo o código fonte, foi liberado pela Borland no domínio público e está sendo portado e desenvolvido por uma comunidade open-source, sob a licença GPL. Uma atualização mais antiga do código de Borland por Sergio Sigala é licença BSD.

O Pascal versão nunca foi lançada, assim que o Free Pasccal projeto recriada uma versão própria backporting um clone feito por Leon de Boer, que funcionam em modo gráfico de volta ao modo texto. O resultado é chamado Free Vision. Ao longo dos anos, este codebase cresceu estável em sistemas operacionais e arquiteturas de quase todos os que o FPC suporta. O IDE em modo texto é muito próximo ao ambiente TP original, com built-in compilador e IDE muito mais perto do rhide por exemplo, e funcionalidades de apoio como desdobramento do código.

Turbo Vision 2.0 

Quando TP 7.0 saiu com o TV 2.0, uma melhoria considerável sobre a versão 1.0. Quando o Delphi surgiu, em 1995, eu estava pronto para ele: minha mente havia sido preparada pela Turbo Vision!

Quem começa a programar utilizando a linguagem pascal, adquire uma bagagem muito grande para aprender a programar em Delphi, que é uma linguagem que tem como base o Pascal.


Comercialmente, a linguagem foi sucedida pela criação da linguagem Object Pascal, atualmente utilizada nas IDEs Borland Delphi, Kylix e Lazarus. Academicamente, seus sucessores são as linguagens subsequentes de Niklaus Wirth: Modula-2 e Oberon


A partir da versão 2005, o Delphi passou a se referir a sua linguagem de programação como Delphi Language.
Assim como a Linguagem C, que é padronizado pela ANSI (Ansi C), o Pascal possui padrões pela ISO, como o Pascal Standard e o Advanced Pascal.

DELPHI: Delphi (lê-se "dél-fi") é um compilador e uma IDE para o desenvolvimento de softwares. Ele é produzido pela Borland Software Corporation (por algum tempo chamada Inprise). A linguagem utilizada pelo Delphi, o Object Pascal (Pascal com extensões orientadas a objetos) a partir da versão 7 passou a se chamar Delphi Language. O Delphi originalmente direcionado para a plataforma Microsoft Windows, agora desenvolve aplicações nativas para Linux com o Kylix, e para o Microsoft .NET framework em suas versões mais recentes. O nome Delphi é inspirado na cidade de Delfos, o único local na Grécia antiga em que era possível consultar o Oráculo de Delfos. Os desenvolvedores do compilador buscavam uma ferramenta capaz de acessar um banco de dados Oracle. Daí veio o trocadilho "a única maneira de acessar o oráculo é usando Delphi".


Aplicações


Sendo o mais conhecido dos programas do tipo RAD (Rapid Application development) o Delphi não pode ser usado para desenvolvimento de software de base ou aplicativos de sistema. Entre os engenheiros de software o Delphi é muitas vezes caracterizado com um "aplicativo programável". O Delphi é largamente utilizado no desenvolvimento de aplicações desktop, aplicações multicamadas e cliente/servidor, compatível com os banco de dados mais conhecidos no mercado. Como uma ferramenta de desenvolvimento genérica, o Delphi pode ser utilizado para diversos tipos de desenvolvimento de projetos, abrangendo desde Serviços a Aplicações Web e CTI.


Desenvolvimento


Quando lançado em 1995 para a plataforma Windows 16 bits, foi o primeiro a ser descrito como ambiente [[RAD]] (em português, Desenvolvimento Rápido de Aplicações). A sua segunda versão, lançada um ano depois com o Delphi 2 já produzia aplicativos para a plataforma Windows 32 bits, sendo que uma versão em C++, o C++ Builder surgiu alguns anos depois. Em 2001 uma versão para plataforma Linux, conhecida como Kylix foi disponibilizada.


Em 2002 foi lançada nova versão compatível com Linux (através do Kylix e a paleta CLX de componentes), sendo que em 2003 o Delphi 8 passou a incluir suporte para desenvolvimento de aplicações .NET. No final de 2004 foi lançada a versão Delphi 2005 (correspondente a versão 9), com suporte, na mesma IDE, ao desenvolvimento para plataformas Windows 32 bits e Windows .NET, além de integrar no mesmo ambiente de desenvolvimento a possibilidade de se desenvolver utilizando o ambiente do Delphi, C++ Builder ou C#. No final de 2005 foi lançada a versão Delphi 2006 (correspondente a versão 10) integrada no Borland Developer Studio 4.0 com destaque para a total integração com o Borland Together, o preview do compilador do C++ Builder, atualização dos drivers DBExpress, novos refactorings e recursos da IDE. Nessa versão o gerenciador de memória utilizado pelo Delphi foi substituído, tornando os aplicativos compilados em Delphi mais rápidos. Como a ferramenta é compilada utilizando o próprio Delphi, esta nova versão também está muito rápida.


O arquiteto por trás do Delphi e de seu predecessor Turbo Pascal foi Ander Hejlsberg, até a sua mudança para a Microsoft em 1996, onde se tornou o arquiteto responsável pelo projeto do C# e foi peça chave na criação do ambiente Microsoft .NET, utilizado no Delphi 8. O Delphi teve o formato da IDE alterado pela primeira vez na versão 8, basicamente similar ao formato do Microsoft Visual Studio para .NET.
As principais diferenças entre o Delphi/Kylix e outras ferramentas de desenvolvimento são: a Linguagem Delphi, as paletas VCL e CLX, forte ênfase na conectividade com diversos bancos de dados e um grande número de componentes produzidos por terceiros, muitos deles disponíveis na internet e grande parte deles com o código fonte disponível.


Os defensores do Delphi sustentam que fornecer juntos a linguagem, a IDE e sua biblioteca de componentes (VCL/CLX) contribui para uma boa consistência interna e um pacote mais reconhecível. Alguns destacam como vantagens do Delphi: a existência de uma grande quantidade de componentes prontos em sua biblioteca, facilidade de uso e aprendizado e desenvolvimento rápido.


Atualmente a Borland em seu processo de reestruturação, está se focando em suas ferramentas ALM (Application Life-Cycle Management), devido as recentes aquisições de empresas. Deixando juntamente com um grupo de investidores a criação de uma empresa que cuide especialmente dos produtos IDEs (C#Builder, C++Builder, Delphi, JBuilder, Interbase).


No dia 05 de setembro de 2006 a Borland juntamente com a Developer Tools Group, grupo responsável pelo desensolvimento das ferramentas IDE, entrega ao público a linha Turbo, que é praticamente o desmembramento da suíte Borland Developer Studio (BDS 2006). Em duas versões, Explorer(download gratuito; direcionado a estudantes, inciantes em programação e hobbistas) e a Professional (pago; direcionado às softwares-houses e profissionais autônomos).


Já no dia 14 de novembro de 2006, a Borland não encontrando um potencial comprador que atendesse os quesitos que se comprometam com a evolução das ferramentas IDE, ela decidiu criar uma subsidiária colocando todos responsáveis pela "DevCo" nessa nova empresa chamada CodeGear. Que, especialmente cuidará das IDEs. 

IDE - Ambiente de Desenvolvimento Integrado

Um ambiente de desenvolvimento integrado (IDE) é uma aplicação de software que fornece recursos completos para os programadores de computador para desenvolvimento de software. Um IDE normalmente consiste em:
  • um editor de código fonte
  • construir automação de ferramentas
  • um depurador
Alguns IDEs conter compilado, intérprete, ou ambos, tais como Microsoft Visual Studio e Eclipse, outros não, como Sharp Develop e Lázaro. A fronteira entre um ambiente de desenvolvimento integrado e outras partes do ambiente mais amplo de desenvolvimento de software não está bem definido. Por vezes, um sistema de controle de versões e várias ferramentas são integrados para simplificar a construção de uma GUI. Muitos IDEs moderno também tem um navegador de classes, um inspetor de objetos, e uma hierarquia de classe de diagrama, para uso com desenvolvimento orientado a objeto (software).

Visão Geral
IDEs são projetados para maximizar a produtividade do programador, fornecendo componentes bem integrada com as mesmas interfaces de usuário . Isso deve significar que o programador tem a ver menos o modo de comutação em vez de utilizar programas de desenvolvimento distintos. No entanto, porque uma IDE é uma parte complicada de software por sua própria natureza, este aumento da produtividade só ocorre depois de um longo processo de aprendizagem.
Tipicamente, uma IDE é dedicado a uma específica linguagem de programação , permitindo que um conjunto de recursos que mais se aproxima dos paradigmas de programação da linguagem.No entanto, existem algumas IDEs em vários idiomas, tais como Eclipse , Komodo ActiveState , IntelliJ IDEA , JDeveloper da Oracle , versões recentes do NetBeans , Microsoft Visual Studio ,Genuitec MyEclipse , WinDev , e Xcode .
IDEs normalmente apresentar um único programa no qual todo o desenvolvimento é feito. Este programa tipicamente oferece muitos recursos para criação, modificação, compilar, implantar e depurar software. O objetivo é a configuração do abstrato necessário juntar os utilitários de linha de comando em uma unidade coesa, o que teoricamente reduz o tempo para aprender uma língua, e aumenta a produtividade do desenvolvedor. Pensa-se também que a integração de tarefas de desenvolvimento pode aumentar ainda mais a produtividade. Por exemplo, o código pode ser analisado enquanto está a ser escrito, fornecendo feedback instantâneo sobre erros de sintaxe. Enquanto IDEs mais modernos são gráficas, IDEs em uso antes do advento de sistemas de janelas (como o Microsoft Windows ou X Window System (X11)) eram baseados em texto, usando teclas de função ou teclas de atalho para executar várias tarefas ( Turbo Pascal é um exemplo comum ). Isto contrasta com desenvolvimento de software usando ferramentas não relacionadas, como vi , GCC ou fazer .


GNU Emacs , um editor extensível, que é comumente usado como um IDE em sistemas Unix-like sistemas
História
IDEs inicialmente se tornou possível quando o desenvolvimento através de um console ou terminal. Os primeiros sistemas não poderia suportar um, desde que os programas foram preparados utilizando fluxogramas, entrar com programas de cartões perfurados (ou fita de papel, etc) antes de submetê-los a um compilador. Dartmouth BASIC foi a primeira língua a ser criado com um IDE (e também foi o primeiro a ser concebido para ser utilizado enquanto está sentado na frente de um console ou terminal). A sua IDE (parte do Sistema Time Sharing Dartmouth ) foi baseada em comandos, e, portanto, não parece muito com o menu-driven, IDEs gráfica prevalece hoje. No entanto, integrados de edição, gerenciamento de arquivos, compilação, depuração e execução de uma maneira consistente com uma IDE moderno.


Keyboard Maestro [2]

Maestro que é um produto da SoftLab Munique e foi o ambiente do mundo primeiro desenvolvimento integrado [3] de 1975, para software. Maestro I foi instalado para 22.000 programadores em todo o mundo.Até 1989, 6.000 instalações existia na República Federal da Alemanha . Maestro que foi indiscutivelmente a líder mundial neste domínio durante os anos 1970 e 1980. Hoje uma das Maestro última vez que eu pode ser encontrado no Museu de Tecnologia da Informação em Arlington.
Um dos IDEs em primeiro lugar com um conceito plug-in foi Softbench . Em 1995 Computerwoche comentou que o uso de um IDE não foi bem recebida pelos desenvolvedores, pois seria cerca em sua criatividade.

Programação Visual
A programação visual é um cenário de uso em que um IDE é geralmente necessária. Visual IDEs permitem aos usuários criar novas aplicações movendo blocos de programação, construção, ou nós de código para criar fluxogramas ou diagramas de estrutura que são então compiladas ou interpretadas. Estes fluxogramas são muitas vezes baseado na Linguagem de Modelagem Unificada .
Esta interface foi popularizado com o Lego Mindstorms sistema, e está a ser activamente procurado por um número de empresas que desejam aproveitar o poder de navegadores personalizados como os encontrados em Mozilla . Ktechlab suporta Flowcode e é um IDE populares opensource e Simulador para o desenvolvimento de software para microcontroladores. A programação visual também é responsável pelo poder de programação distribuída (cf. LabVIEW e EICASLAB software). Um sistema de programação visual precoce, Max , foi modelado após analógico sintetizador de design e tem sido utilizado para desenvolver software em tempo real o desempenho da música desde os anos 1980. Outro exemplo foi Prograph , um fluxo de dados baseado no sistema originalmente desenvolvido para o Macintosh . O ambiente de programação gráfica "Uva" é usado para programar kits qfix robô .


Esta abordagem também é usado em software especializado, como Openlab , onde os usuários finais querem a flexibilidade de uma linguagem de programação completa, sem a curva de aprendizagem tradicional associado com um.

Uma fonte aberta sistema de programação visual é Mindscript, que se estende a funcionalidade para criptologia , banco de dados de interface,

O suporte de idiomas

Alguns IDEs suporte a vários idiomas, tais como Eclipse , IntelliJ IDEA , MyEclipse ou NetBeans , tudo baseado em Java , ou MonoDevelop , com base em C # .

O suporte para idiomas alternativos é frequentemente fornecida por encaixes , permitindo-lhes ser instalado no mesmo IDE, ao mesmo tempo. Por exemplo, Eclipse e NetBeans tem plugins paraC / C + + , Ada , GNAT (por exemplo AdaGIDE ), Perl , Python , o Ruby e PHP , entre outras línguas em uso.

Atitudes em plataformas de computação diferentes
Muitos Unix programadores afirmam que tradicionais de linha de comando POSIX ferramentas constituem um ambiente de desenvolvimento completo, [4] uma IDE, quem? ], embora um com um estilo diferente de interface e no ambiente Unix. Muitos programadores ainda usam makefiles e seus derivados. Além disso, muitos programadores Unix usam Emacs [5] [6] [7] ou Vim , que integram suporte para muitas das ferramentas padrão do Unix compilação. Dados Debugger exibição pretende ser uma gráfica avançada front-end para o texto-base muitos depurador ferramentas padrão.

Sobre os vários Microsoft Windows plataformas, ferramentas de linha de comando para o desenvolvimento são raramente usados. Assim, há muitas soluções comerciais e não-comercial, no entanto cada um tem um design diferente comumente criar incompatibilidades. A maioria dos fornecedores principais do compilador para o Windows ainda fornecer cópias gratuitas de seus linha de comando ferramentas, incluindo Microsoft ( Visual C + + , Platform SDK , . NET Framework SDK, nmake utilitário), Embarcadero Technologies ( bcc32 compilador, fazer utilitário).

Além disso, o software livre GNU ferramentas ( GNU Compiler Collection (GCC), GNU Debugger (GDB), GNU make ) estão disponíveis em várias plataformas, incluindo Windows [8] etc

IDEs sempre foram populares no Macintosh da Apple Mac OS , que remonta à Oficina do programador do Macintosh , Turbo Pascal , Pascal PENSAR e PENSAR C ambientes em meados da década de 1980. Atualmente os programadores do Mac OS X pode escolher entre IDEs limitada, incluindo IDEs nativa como Xcode , mais velho IDEs como CodeWarrior , IDEs mais recentes como MyEclipse , e ferramentas de código aberto, tais como Eclipse e NetBeans . ActiveState Komodo IDE é uma propriedade compatível com o Mac OS .
Recentemente, com o advento da computação em nuvem , IDEs começaram a linha de transição e executado dentro de navegadores da web, um exemplo disso é Cloud9 IDE.
Compiladores Gratuitos
Há vários compiladores Pascal gratuitos, como por exemplo:
  • Chrome é a próxima geração do Object Pascal para as plataformas .NET e Mono, desenvolvida pela RemObjects Software
  • Free Pascal é um poderoso compilador escrito em Pascal, distribuido sob a licença de uso GNU GPL. Pode ser utilizado em conjunto com código escrito em Turbo Pascal ou Delphi, e pode ser usados em várias plataformas e sistemas operacionais
  • GNU Pascal Compiler (GPC) é o compilador padrão da GNU Compiler Collection (GCC). O compilador foi escrito em C, mas a maior parte da biblioteca de funções da linguagem é escrita em Pascal. Ele segue os padrões ANSI/ISO e grande parte dos padrões Borland/Turbo Pascal. O suporte ao Delphi ainda é limitado.
  • Kylix é uma versão do Delphi para o sistema operacional Linux, sendo que seu compilador e sua interface de desenvolvimento são gratuitas para uso não comercial, mas sua biblioteca de componentes não. Espera-se que o código-fonte do compilador seja aberto em breve
  • P4 compiler , utilizado para o desenvolvimento de vários compiladores Pascal escritos em Pascal, incluindo o UCSD p-System
  • Pascalzim O Pascalzim é um compilador gratuito que foi desenvolvido na Universidade de Brasília e é utilizado em várias disciplinas de introdução a programação na UnB e outras universidades
  • Turbo Pascal era o principal compilador Pascal para PCs durante os anos 80 e início dos anos 90, devendo sua popularidade ao seu grande poder e pequeno tempo de compilação. Hoje em dia, suas versões mais antigas (até a versão 5.5) podem ser baixadas gratuitamente no site da Borland (exige registro)
  • Virtual Pascal foi criado por Vitaly Miryanov em 1995 como um compilador nativo para OS/2, compatível com a sitaxe do Pascal da Borland. Mais tarde foi comercialmente lançado pela fPrint, adicionando a ele suporte para Win32, tornando-se um freeware em 2000. Atualmente, ele pode ser compilado para as plataformas Win32, OS/2 e Linux, sendo compatível em grande parte com o Pascal da Borland e o Delphi
Uma extensa lista de compiladores pode ser encontrada na Pascaland. O site é escrito em francês, mas isso não faz muita diferença, já que é apenas uma lista de URLs para os compiladores.



Referencia: pt.wikpedia.org









































2 comentários:

  1. Este comentário foi removido pelo autor.

    ResponderExcluir
  2. Bom post, muito informativo. Muito obrigado!
    Apaguei o comentario sem querer.

    ResponderExcluir