Linux / PHP / Java / Designer

As melhores dicas estão aqui.

o que é Delphi?

| 6 Comentários

Mas afinal! O que é Delphi?

Ao contrário do que se fala, o Delphi NÃO é uma linguagem de programação, mas sim uma ferramenta de desenvolvimento da ultima geração do Object Pascal. Na verdade, o Delphi nada mais é do que uma evolução natural do "Borland Turbo Pascal for Windows" que marcou época na sua época.

As origens do DELPHI (Ferramenta)

Em 1990 o sucesso marcante do Turbo Pascal (tanto para Dos como para Windows). que era a ferramenta de desenvolvimento e carro chefe da Borland, começava a dar sinais de que já não estava mais com esta bola toda. As causas? O Turbo Pascal for Windows não era uma ferramenta RAD e sim apenas um IDE de escrita de linguagem limitadíssimo e com alguns recursos extras, que se comparados aos IDE's atuais, seria visto como um mero bloco de notas incrementado, de tão pouco o que ele oferecia ao desenvolvedor. Há, e antes que eu me esqueça, tudo era codificado na mão. não existia VCL e elaboração de Forms era no estilo do Visual C ou do Borland C++ For Windows, através de arquivos .rc. Além do mais, não chegou a existir a versão 32 bits do Turbo pascal for windows. Ele só compilava projetos para o Windows 3.11 ou para MS-Dos.

Além do mais, muitos dos programadores do TP for Windows, preferiam mesmo continuar trabalhando no ambiente Dos para desenvolver aplicativos para Windows (Estranho não?), e pra complicar mais ainda a Micro$oft, do nosso eterno colega Bill, lançava o Visual Basic for Windows (Antes existia o Visual Basic p/Dos) uma verdadeira ferramenta RAD com um IDE super incrementado e que permitia que um desenvolvedor criasse um projeto na metade do tempo previsto, se ele usasse o TP, e no conceito do "Arrastar-e-soltar". Além do mais, o Turbo Pascal era focado mais no segmento Científico/Acadêmico do que comercial ao passo que o VB foi concebido justamente para o segmento comercial. Pra sorte da Borland, o VB era limitado em recursos e interpretado e a maioria dos desenvolvedores tem um grande preconceito de "linguagens interpretadas". Outra deficiência que o VB tinha, e que a Borland explorou para tentar derrubá-lo, era o fato do proprio VB não explorar por completo a API do Windows (Nesta o Bill pagou um mico daqueles. Como pode uma ferramenta Micro$oft não interagir 100% com outra ferramenta Micro$oft???)

Bom, como toda ação provoca uma reação, começou-se nos bastidores da borland, uma revolução/ release/desenvolvimento no Turbo Pascal de forma que ele se transformasse em uma nova ferramenta aos olhos dos leigos, mas que fosse um upgrade aos olhos dos analistas/desenvolvedores. Algo que fosse a "Bala na agulha" e que pudesse afrontar, pau-a-pau, o VB for Windows. Nesta época, o Delphi estava sendo fecundado.

Em 1993, começou o desenvolvimento desta nova ferramenta baseada na linguagem Object Pascal e, portanto, orientada a objetos. A ferramenta, no entando, seguiria ainda algumas trilhas instituídas pelo VB for Windows. Mas havia muita coisa a ser feita já que o Turbo pascal estava anos luz distante de seu concorrente, e, pelo que foi analisado pela equipe de desenvolvimento da Borland, muito pouca coisa dele poderia ser aproveitada em termos de IDE já que a linguagem e o compilador atendiam perfeitamente à nova proposta de upgrade. Além do mais, eles tinham que agir rápido porque se o VB for Windows emplacasse e caisse no gosto dos desenvolvedores, o Turbo Pascal que ainda ia levando, iria pro saco de vez e seu sucessor não iria sequer decolar!

O nome escolhido, Delphi, era, originalmente, o nome do Projeto deste upgrade, e tinha um significado oculto, ligado ao fato de solução estar sendo desenvolvida para integração com servidores Oracle. Quando se quer falar com o "Oráculo" (Oracle em português) para onde se vai? Delphi (referência à localização do famoso oráculo da Grécia Antiga)! o nome oficial previsto deveria ser APPBuilder, mas todos concordavam que este nome não era nada inspirador. A Sorte foi que a Novell lançou, pouco tempo antes, o Visual AppBuilder, o que forçou a Borland repensar o nome da nova ferramenta.

Outra razão pela troca de seu nome, foi devido a fatores mercadológicos pois o nome "Turbo" já não era muito compatível com as modernas regras de marketing usadas pelas empresas atuais e além disto, não queriam que o nome Pascal criasse algum tipo de resistência por parte de gerentes de sistemas corporativos que, na maioria das vezes, são pessoas que não tem conhecimentos técnicos abrangentes sobre projeto e desenvolvimento de sistemas, nem tampouco conhecem as diversas ferramentas existentes e tendem sempre a adotarem ferramentas "Micro$oft" por achar que são as "melhores" que existem no mercado. Além do mais, o pascal não era uma linguagem comercial e sim uma linguagem de meio acadêmico sendo muito usada por universidades e escolas técnicas, para os alunos aprenderem técnicas e conceitos de lógica de programação. Mas ela era uma linguagem de programação extremamente poderosa, abrangente e quase que ilimitada, o que permitia o programador fazer qualquer tipo de aplicativo comercial ou científico.

Em busca deste novo nome, propôs uma mesclagem do nome da ferramenta anterior: Borland Turbo Pascal AppBuilder que não agradou também, a solução então foi manter o nome do projeto (Situação semelhante à do Kylix) e, em meados de 1995, foi lançado no mercado a nova aposta da Borland para peitar o Visual Basic for Windows e ver no que que daria: DELPHI!

A sorte estava lançada....

Atualmente, na sua versão 7, o Delphi dispõe de recursos para integração com diversos bancos de dados relacionais (Paradox, XBase, ACCESS), DBMS (Oracle, Sybase, Interbase, Informix, SQL Server, MYSQL) de forma ágil e extremamente fácil, recursos para desenvolvimento de aplicativos para internet, suporte a tecnologias CORBA, ActiveX, OLE, XML e agora as mais recentes: SOAP e .NET. Seu raio de ação vai desde um simples aplicativo comercial até softwares científicos ou que façam uso de pesadas rotinas em assembler que podem ser implementadas em seu proprio código fonte. O Produto deu tão certo que lhe valeu uma versão para o ambiente Linux, que ainda que apesar de ainda estar engatinhando, demonstra evolução e aos poucos ganha o seu espaço no mercado.

PS: Não confunda "Turbo Pascal" com "Object Pascal". O Object Pascal é A LINGUAGEM DE PROGRAMAÇÃO em Pascal ORIENTADA A OBJETOS, ao passo que o turbo Pascal É UMA FERRAMENTA DE DESENVOLVIMENTO que usa o Object Pascal da mesma forma que o Delphi é. Portanto se lhe perguntarem o que o Turbo Pascal tem haver com o Delphi, você vai dizer que ambos são duas ferramentas de desenvolvimento baseadas no pascal.

Mas o DELPHI é uma linguagem ou não?

Se alguem lhe perguntar em que linguagem você programa, não diga "DELPHI" voce só deve dizer DELPHI, quando lhe perguntarem em qual ambiente de desenvolvimento voce trabalha ou com qual ferramenta voce desenvolve. Quando você está usando o DELPHI, a linguagem gerada por ele é o Object Pascal. Tanto isso é verdade que é possivel compilar o programa e seu codigo fonte sem a presença do DELPHI. Faça o teste :

dbcc32 [nome-do-dpr] lib [nome-das-libs]

Se voce for um ótimo programador Pascal (Tanto o Object como o comum), talvez nem precise do DELPHI para escrever seus programas. O pessoal do FreePascal (outro compilador Pascal) já faz isso a bastante tempo. Mas convenhamos, o DELPHI quebra um galhão, com packages, componentes, API, Dll's e outros bagulhos embarcados no seu IDE que é "OPEN", isto é, permite a inclusão de novos recursos e funções, tais como o pacote GExperts para incrementar o IDE. A linha de comando para se compilar um programa escrito em Pascal na mão certamente não seria das tarefas mais agradáveis e nem produtivas.


Screenshot do IDE do DelphiDELPHI X outros RAD's

É muito comum nas listas de discussão de Delphi, os programadores iniciantes ou em Delphi ou em programação mesmo, perguntarem "Qual é o melhor" ou "Quais são as diferenças". entre o DELPHI (Borland) x VB (Micro$oft).

Quando comparamos os IDE's não vemos muitas diferenças entre ambos. São excelentes. As diferenças ficam por conta de como cada um processa os objetos. Mas quando comparamos as linguagens, digo, Object Pascal x Visual Basic, então as diferenças são muitas. A comparação do Object Pascal x Visual Basic não é justa, pois ambos são diferentes num principio básico: O Object Pascal é uma linguagem totalmente OOP. O VB ainda é orientado a eventos. Alguns programadores VB podem argumentar com certa razão que iniciantes em DELPHI não usam OOP, mas a verdade é que eles usam, mesmo sem saberem disso! O VB.NET diz ser uma linguagem de programação Orientada a Objetos, mas devido às inúmeras diferenças entre seus antecessores, o que obriga o desenvolvedor a reescrever seus projetos praticamente do zero novamente, está provocando uma grande resistência pelos Amantes do VB e ainda especula-se que ele praticamente deixou de ser "VB" na forma em que conhecemos.

Por exemplo, quando um form em branco é criado, o DELPHI acrescenta as linhas "Form1 : TForm1", o que já é uma caracteristica de herança em OOP no ObjectPascal. Outra coisa que torna a comparação impossivel é que o Visual Basic baseia suas soluções em componentes e API, quando você possui um problema, se não tiver um componente adequado ou uma função API que resolva-o, o desenvolvimento fica emperrado. No Object Pascal e também outras linguagens OOP, elas permitem ao programador intermediario desenvolver suas próprias soluções sem depender de terceiros. Com o Object Pascal, pode-se criar as mais diversas aplicações : emuladores, device-drivers, comunicação com outros dispositivos, etc...

Apesar de tudo isto, podemos citar algumas diferenças entre os dois que pesem favoraveis ao Delphi:

- Compilador nativo de código-fonte enquanto que o Visual Basic usa um compilador de P-Code. Isto significa que quando executamos um programa feito em VB, o código vai ser interpretado na sua execução, tornando-o muito mais lento que um executável escrito em instruções natiavs x86.

- O Visual Basic não é uma linguagem 100% Orientada por Objectos (OOP). Não pode criar classes de objetos com o VB. Está limitado a usar as classes que fazem parte do próprio programa. O Pascal não tem essa limitação. O VB.Net está prometendo este recurso.

- Com o Visual Basic é muito difícil trabalhar com ponteiros. Quando é necessário usar funções API que necessitem de ponteiros, o VB não está preparado para executar essa tarefa.

- O VB não suporta algumas das características mais avançadas do Win32, como por exempo o Multi-Thread.

- O Visual Basic necessita de acopolar ao executável, as DLLs Runtime que são o interpretador VB, afim de ser distribuído. O Delphi, por outro lado (e caso não seja necessário uma conectividade entre bases de dados ) cria um só arquivo executável e pronto.

- A cada nova versão do Delphi, a portabilidade dos projetos escritos em versões anteriores são 100% tranquilas e sem problemas. A única ressalva ficou por conta do Delphi 6 que sofreu profundas alterações na VCL para tornar portável a migração de projetos do Windows para o Linux. A portabilidade dos VB's anteriores ao novo .NET já está causando o maior revolta na comunidade programadora em VB devido a tantas incompatibilidades que existem obrigando o programador a praticamente reescrever o projeto todo do zero. Além do que NÃO EXISTE VB PARA LINUX.

Outras razões para voce escolher o Delphi:

- É a melhor Ferramenta RAD para se começar a Desenvolver um software. O Pascal é muito fácil de aprender, quando comparado com outras linguagens estruturadas. De fato, muitas escolas e Faculdades, usam-no com linguagem de iniciação à programação.

- Permite-lhe escrever , virtualmente, qualquer tipo de aplicação para Windows. O Pascal não conhece limites, no que diz respeito á programação para Windows.

- Existe muita assistência On-line. Se duida, visite a nossa página de LINKS. Existem, também, muitos componentes gratuitos ou de custo reduzido, disponíveis na Internet e uma infinidade de listas de discussão.

- O Pascal é uma linguagem ótima para aprendizagem em OOP. O Delphi torna mais fácil ainda esta compreensão, com a sua sintaxe simples para implementação de classes (o C++ em comparação é muito complicado).

- O Delphi possui características que realmente promovem a reusabilidade do código-fonte (o Object repository onde podem ser gravados os forms mais utilizados, para futura reutilização). A partir da versão 6.0 ele traz um gerador de diagramas que permite substituir uma ferramenta case para alguns casos.

Outros Pontos positivos do Delphi:

- Oriundo do Object Pascal que é uma Ferramenta de desenvolvimento extremamente poderosa, abrangente e totalmente orientada a objetos.
- Compilador rápido que gera instruções binárias nativas x86 (Código de máquina puro), dispensando a necessidade de se usar RunTime's e tendo a grande vantagem de ser impossível de ser descompilado.
- Acesso a bases de dados Client/Server ou não. Entre elas: Oracle, Informix, Interbase, Access, Paradox, DBase e muitas outras inclusive via ODBC e ou ADO.
- Possibilidade de se desenvolver objetos do 0 (zero) ou usar como base algum já disponível (herança).
- Esta característica economiza muito tempo na hora do desenvolvimento de objetos, e minimiza a ocorrência de erros.
- Criação de objetos no padrão do Visual Basic OCX, COM, DCOM, Active X e Corba.
- Desenvolvimento de aplicações para Internet.
- Depurador capaz de analizar códigos de terceiros.
- Ambiente de desenvolvimento com compilador extremamente rápido, com tecnologia que possibilita que após a primeira compilação só seja compilado o código modificado.

Alguns significados citados neste artigo:

IDE:

IDE é a sigla de "Integrated Development Environment", literalmente "Ambiente Integrado de Desenvolvimento". O desenvolvimento de software usa várias ferramentas. Compiladores, editores de texto, ferramentas de apoio a remoção de erros, e assim por diante. O editor de texto permite que você digite e altere programase documentos que explicam seu funcionamento. O compilador é responsável por traduzir os programas em linguágem de máquina, O software de apoio a remoção de erro (debugger) permite que acompanhemos passo a passo se necessário a execução do programa, inspecionando a memória, a sequência de chamada de funções etc O mercado ainda oferece inúmeras outras ferramentas de apoio ao desenvolvimento, como Sistemas de Gerenciadores de Bancos de Dados, Instaladores, Ferramentas de automação de testes etc.

Um IDE é um ambiente que INTEGRA várias ferramentas de desenvolvimento dentro de um único sistema. Esta integração permite que nos movamos rapidamente entre elas, aumentando a produtividade.

Um IDE típico, que possua editor, compilador e debug nos permite passar do debug para o editor de textos assim que um erro é encontrado para que seja corrigido. Depois disto o compilador pode ser invocado para gerar a nova versão do programa para que o debug possa continuar. São exemplos de IDE's conhecidas para C++, o Visual C++ e o C++ Builder. Para Java dois exemplos conhecidos são o J++ e o JBuilder. E temos também o VB que é um IDE indisutivelmente muito interativo. Alguns são bastante simples e facílimos de usar como é o do Proprio Delphi/C++ Builder, o do VB ou o do Satellite Forms para programação para Palm. Alguns já são mais pesados e complicados de usar como é do Visual C++.

GUI:

Outra sigla. Significa "Graphic User Interface", ou "Interface Gráfica com o Usuário". Segundo o dicionário Aurélio, "Interface com o usuário" é, "conjunto de elementos de hardware e software em um sistema computacional destinados a possibilitar a interação com o usuário".

Interface gráfica é o "tipo de interface com o usuário (q. v.), em que a interação está baseada no amplo emprego de imagens, e não restrita apenas a textos ou caracteres, e que faz uso de um conjunto de ferramentas que inclui janelas, ícones, botões, e um meio de apontamento e seleção, como o mouse."

API:

Mais uma sigla. "Application Program Interface", que eu prefiro traduzir como "Interface para Progamas". Enquanto a interface com o usuário permite que uma pessoa faça uso das funcionalidades de um sistema, uma API permite que um programador escreva programas que fazem uso das funções destes sistemas. Assim, enquanto nós usamos o Windows através de teclado, mouse e vídeo gráfico, um programa usa o Windows através de uma API.

É frequente dar à expressão API um sentido mais restrito e especifico do que este, considerando API's apenas as interfaces formadas por funções, reservando outros nomes para interfaces que façam uso de texnologias mais complexas, como "Frameworks" e Componentes.

Neste sentido, não se chama a MFC, por exemplo, de API.

O FUTURO DO DELPHI:

Se o delphi vai ou não acabar, é questão de tempo, "nada dura pra sempre", ex: Jesus, o império romano, o império americano (que logo logo vai acabar também). Acreditamos que este dia ainda está muito longe de chegar por alguns motivos óbvios:

1 - O Delphi é uma ferramenta de desenvolvimento baseada no Object Pascal que é uma linguagem que atravéssa décadas sem que caia na obsolescência.

2 - O Delphi é uma ferramenta de desenvolvimento, que a cada versão, procura incorporar pra sí todas as tecnologias recentemente lançadas. Quer dizer, é uma ferramenta que está acompanhando a evolução da TI.

3 - A abundância de apostilas, tutoriais, listas de discussão, suporte e consultoria, é um diferencial em relação a outras ferramentas que carecem disto.

4 - Até o presente momento, o Delphi é a única ferramenta que conseguiu alcançar o ponto de equilíbrio entre a produtividade e a interatividade em relação a complexidade. Ou seja, é uma ferramenta fácil de aprender e manusear mesmo que seja para desenvolvimento de complexos softwares ou sistemas Multicamadas, sendo que o desenvolvedor consegue, em prazos perfeitamente aceitaveis pela demanda do mercado, a desenvolver tais produtos com o mínimo de erros possíveis. Há muitas ferramentas que se dizem promissoras e "Tendências do futuro", mas que carecem disto. Taí o Java que não me deixa mentir.

CONCLUSÃO: O Delphi é uma ferramenta que pode gerar tanto aplicações acadêmicas como aplicações industriais, aplicações comerciais ou até mesmo aplicações científicas. Usa recursos de ultima geração e tem caracteristicas fundamentais no mundo produtivo como é o de hoje: A flexíbilidade, reusabilidade, alta performance, compilador rápido que gera instruções nativas x86 e integração total com a API do sistema operacional. Enfim a imagem que se tem do Delphi é semelhante a de um Polvo com seus tentáculos onde cada tentáculo está atuando em um segmento diferente do outro. O Delphi tá em todas! Da mesma forma que voce acha Delphi ali na video locadora da esquina, você acha Delphi no Pentagono, na NASA ou até mesmo no paquistão (Eu conversava de vez em quando com um cara de lá que conheci em uma lista americana de Delphi a dois anos atrás). Já viu quantos sites russos de Delphi existem? Os fabricantes da famosa RX, por exemplo, São de onde?

E por favor, Nunca mais falem que o Delphi "é uma linguagem de programação" porque não é! O Delphi é uma Ferramenta RAD de desenvolvimento baseada no Object Pascal. A linguagem de programação que você vai usar na verdade é o OBJECT PASCAL.

6 Comments

  1. eu preciso do seu nome , para usar como citação em meu trabalho de tcc..
    Por favor

  2. Olá esse conteúdo é da Wikipedia, não há nomes como responsáveis pois como sabemos a Wikipedia é montado por todos, então possui várias alterações em seus dados.

  3. Muito bom – O pessoal que está iniciando com certeza achou muito interessante!

  4. Muito bacana este artigo. Ganhei um livrã ode Delphi 8 e queria saber um pouco mais do que se trata.

  5. Maravilhoso trabalho…embora seja um curto resumo do assunto “Delphi”…muito bem explanado…coerente…ético…condizente com o mercado e esclarecedor…PARABÉNS!

Deixe uma resposta

Campos requeridos estão marcados *.