# Delphi (software)

Embarcadero Delphi, anteriormente conhecido como CodeGear Delphi, Inprise Delphi e Borland Delphi, também conhecido como Delphi, é um compilador, uma IDE e uma linguagem de programação, produzido anteriormente pela Borland Software Corporation e atualmente pela Embarcadero. O Delphi, originalmente direcionado para a plataforma Windows, chegou a ser usado para desenvolvimento de aplicações nativas para Linux através do Kylix (o Kylix é um IDE para as linguagens C++ e Object Pascal), e para o framework Microsoft .NET em suas versões mais recentes. O desenvolvimento do Kylix foi descontinuado.
O Delphi é muito utilizado no desenvolvimento de aplicações desktop, aplicações multicamadas e cliente/servidor, compatível com os bancos de dados mais conhecidos do mercado. O Delphi pode ser utilizado para diversos tipos de desenvolvimento de projeto, abrangendo desde Serviços a Aplicações Web e CTI. 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. O nome deve-se ao fato de que os desenvolvedores do compilador procuravam uma ferramenta capaz de aceder ao banco de dados Oracle - originando a frase: "a única maneira de aceder ao oráculo é usando Delphi".

## Desenvolvimento

O desenvolvimento se iniciou em 1993 pela Borland com o objetivo de criar um ambiente visual para aplicações na plataforma Windows utilizando Object Pascal, um dos arquitetos do projeto considerado pai do Delphi foi Anders Hejsberg que também desenvolveu a linguagem C#.
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) foi uma evolução da linguagem Turbo Pascal.
O Delphi foi um dos pioneiros em lançamentos de recursos para desenvolvimento de software que conhecemos hoje como por exemplo: suporte para conexão em banco de dados e paradigma orientado a objetos. A segunda versão, lançada um ano depois, já produzia aplicativos para a plataforma Windows 32 bits (também existe a versão para C++ - o C++ Builder). Em 2001, uma versão para plataforma Linux, conhecida como Kylix (uma espécie de Delphi para o Linux), foi disponibilizada.
Em 2002, foi lançada uma nova versão compatível com Linux (através do Kylix e a paleta de componentes CLX ), 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.
Anders Hejlsberg foi arquiteto do projeto Delphi 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 programação visual, programação orientada a eventos, as paletas VCL e CLX(Delphi até a versão 7), 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. 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.
No dia 5 de setembro de 2006 a Borland, juntamente com a Developer Tools Group (grupo responsável pelo desenvolvimento 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, iniciantes 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, decidiu criar uma subsidiária colocando todos responsáveis pela "DevCo" nessa nova empresa chamada CodeGear, que, especialmente cuidaria das IDEs.
A Borland vendeu sua divisão responsável pelos IDEs, a Codegear para a Embarcadero, que passou a produzir as versões mais recentes do Delphi.
Em 2007, a CodeGear desenvolveu uma IDE Delphi para desenvolvimento PHP. O Delphi PHP era um Framework do tipo VCL que permite a metodologia RAD do ASP.NET WEB, posteriormente viria a ser conhecido com 'RadPHP' após a aquisição do Delphi pela Embarcadero.
Em 2011, a Embarcadero, lançou a versão do Delphi XE2, esta que, gera aplicativos nativos para MacOSx e para iOS, utilizando a nova tecnologia Firemonkey.
Em 2012, a Embarcadero lançou a versão do Delphi XE3.
No Brasil, o lançamento da nova versão, deu-se dia 30 de Novembro, em São Paulo, no Delphi Conference. Em Abril de 2013, a Embarcadero lançou a versão do Delphi XE4.
Em 11 de Setembro de 2013, a Embarcadero lançou a versão do Delphi XE5. Nesta versão foi lançado o desenvolvimento Delphi para Android.
Em 15 de Abril de 2014, a Embarcadero lançou a versão do Delphi XE6. Com isso o RAD passa a compilar para Windows 32/64 bit, OS X, iOS e Android, tanto em Object Pascal quanto em C++. Desta maneira você pode escolher a linguagem que mais lhe agrada.
Em 2 de Setembro de 2014 A Embarcadero lançou a release de número 7 da série XE do Delphi e C++ Builder, com foco em multi-dispositivos, aplicações conectadas e computação paralela.
Em Abril de 2015 a Embarcadero lançou a versão 22.0 do Delphi intitulada Delphi XE8. Entre as novidades desenvolvimento IoT, suporte a EMS, dois novos compiladores para iOS, Multi Device Preview, Melhorias no Firemonkey, GetIt Package Manager e muito mais.
Em Agosto de 2015 a Embarcadero lançou a versão 23.0 do Delphi, intitulada Delphi 10 Seattle. Este nome se deve ao fato desta versão ser focada em desenvolvimento para windows 10, suportando WinRT API, componentes novos para Windows 10, melhorias na IDE, ferramentas de produtividade, Melhoria no Firemonkey, suporte a MongoDB e muito mais.
Em Setembro de 2015, o primeiro livro de Delphi para Mobile em português é oficialmente lançado, pela editora Brasport, do autor William Duarte, MVP Embarcadero.
Atualmente o Delphi encontra-se na versão Delphi 11.1 Alexandria.

## Limitações

A cada versão lançada do Delphi, a empresa tenta manter a retrocompatibilidade, para que seus utilizadores consigam reutilizar códigos desenvolvidos em versões anteriores, porém as vezes os novos recursos tornam novas versões menos compatíveis. Exemplo: as bibliotecas padrão VCL/RTL se tornaram cada vez mais restritivas.

#### Problemas

Algumas versões do Delphi receberam inúmeras reclamações por instabilidade. Exemplo: A versão Delphi XE7, recebeu criticas por lentidão e problemas de alocação de memória.

## Exemplos
### Somar dois inteirosProgram Soma; var num1 : Integer; num2 : Integer; res : Integer; begin res := num1 + num2; end. Programa Olá Mundo

ou

### Trabalhando com classes

As classes do Delphi, por convenção, sempre são iniciadas pelo prefixo "T". Os objetos no Delphi, são instâncias de classe, ou seja: são variáveis que contém um ponteiro para o elemento da classe. Desse modo, as classes devem ser criadas (instanciadas), quando for necessária a sua utilização e destruídas quando não forem mais necessárias. Uma classe no Delphi tem a seguinte estrutura:

## Alternativa OpenSource

Atualmente há um projeto chamado Lazarus que possui uma interface muito semelhante ao Delphi e a característica de ser multi-plataforma, funciona em Linux, Windows, Mac OS X.