Categorias

25 anos de Delphi: produtividade e performance

Quem está na senda do desenvolvimento desde o século passado já viu passar várias tendências, soluções, dilemas, disputas históricas entre empresas e outros eventos. Houve uma época não muito distante em que era necessário escolher entre desempenho e produtividade. Era um momento de decisão: você poderia ter um resultado elegante e eficiente ou poderia entregar um projeto rapidamente. Pensando bem, nem mudou tanto assim nos dias de hoje.

Porém, nessa era distante de trevas e escolhas, um produto ousou conciliar o melhor de dois mundos: você podia ter a facilidade de uso e a agilidade de um Visual Basic com a segurança, a estabilidade e a performance de algo desenvolvido em C++. Em 14 de fevereiro de 1995, vinte e cinco anos atrás, a Borland lançava a primeira versão do Delphi.

O produto era resultado do esforço coordenado por e Anders Hejlsberg, um engenheiro de software dinamarquês que já havia dado ao mundo o Turbo Pascal, um compilador e IDE que se tornou um paradigma para a linguagem e catapultou a pequena Borland para o estrelato uma década antes. Porém, o gênio e a influência de Hejlsberg não parariam por aí.

Anders Hejlsberg, em entrevista para o lançamento do Delphi, em 1995.

Para entender o impacto do Delphi, é necessário relembrar o cenário do desenvolvimento naquele ano de 1995. O Windows dominante era o 3.11 e o Windows 95 ainda estava em fase Beta. O mercado de aplicações comerciais estava vivendo seu ápice, com praticamente todas as empresas querendo montar seus próprios programas e sistemas. Para os desenvolvedores, a alta demanda também se refletia na lista de ferramentas disponíveis.

Se você queria desenvolver uma aplicação em 1995, você podia optar pela elegância do C++ (e utilizar Microsoft Visual C++ 1.52 para aplicações de 16-bit ou Visual C++ 2.0 para 32-bit) ou adotar o Pascal da Borland, vetusto veterano das instituições acadêmicas. Entretanto, depois de 12 anos de reinado, a Borland sabia que o mercado precisava de soluções mais ágeis.

A Microsoft também estava de olho na praticidade e já havia saído na frente com o Visual Basic (VB para os íntimos) 3.0, com suporte integrado para bancos de dados ODBC e JET. Além disso, o VB oferecia uma interface visual para montagem de formulários que simplificava o desenvolvimento e contornava os errinhos comuns de quem programava direto em C/C++. Para quem não tinha tempo nem conhecimento profundo para tantas sintaxes, o VB quebrava um galho e serviu de porta de entrada para muita gente naqueles anos.

Entretanto, por mais popular que o VB estava se tornando, ele trazia desvantagens que incomodavam. Primeiro que era uma linguagem interpretada, que dependia de instalação para as aplicações rodarem. Segundo que suas aplicações eram evidentemente mais lentas em comparação com o que havia sido criado em C ou C++. Além disso, VB não oferecia suporte a orientação a objetos, fora outras excentricidades que viraram motivo de piadas internas por uma década.

Então, chegaram Anders Hejlsberg, seu time e o Delphi. Esse último trazia a soma da eficiência do Object Pascal com a praticidade de um construtor visual de formulários, mas mantendo heranças e fácil de codificar. Além disso, produzia aplicações que podiam ser executadas diretamente e rodavam mais rápido do que qualquer coisa feita em VB. A compilação era surpreendentemente veloz e o IDE estava livre de bugs e problemas desconcertantes mesmo em sua versão 1.0. Achou pouco? O Delphi trazia também suporte nativo para componentes terceirizados, preconizando um ecossistema de desenvolvimento e tinha acesso à API do Windows, um recurso que nem o próprio VB desfrutava em sua totalidade.

O impacto da revelação parou a Software Development ’95 e o estande da Borland se tornou o epicentro de um tumulto. Quem desenvolvia, quem trabalhava no dia a dia na linha de frente da programação viu ali um produto como não havia antes.

Essa resposta positiva da comunidade chegou no momento mais crítico da empresa. A Borland havia entrado em uma extenuante disputa judicial contra a Lotus em 1990 e havia vendido seus antigos sucessos Quattro Pro e Paradox para a Novell, depois que a Microsoft havia aniquilado o mercado de planilhas e banco de dados para usuários domésticos. O próprio fundador da Borland, Philippe Kahn, havia deixado a empresa um mês antes.

Felizmente, Kahn defendeu até seu último minuto o desenvolvimento do Delphi, por acreditar que havia ali a salvação da companhia. Kahn batizou o projeto secretamente de VBK (Visual Basic Killer), embora seus desenvolvedores preferissem Visual Basic “Kompetitor”.

Como narra M. Zack Urlocker, um dos envolvidos na criação do Delphi, um dos diferenciais do produto em relação à concorrência é que ele havia sido desenvolvido do zero pensando nos desenvolvedores. Para todos os fins, o Delphi foi feito… em Delphi. Seus criadores o usaram todos os dias. “Nós o criamos incrível porque Delphi era a ferramenta que nós queríamos usar. Foi de explodir cabeças quando Anders carregou o código-fonte do projeto do Delphi no Delphi e ele se compilou”, relembra Urlocker.

O sucesso do Delphi se refletiu nos cofres da Borland. Ajustando pela inflação, ele rendeu o equivalente a 120 milhões de dólares em seu primeiro ano, uma soma marcante para um produto novo em sua primeira versão.

Uma série de sábias decisões de bastidores ajudou nesse lançamento. Uma das decisões foi lançar inicialmente apenas em versão 16-bit, focando esforços e acreditando que o Windows 95 e sua revolução 32-bit iriam atrasar. Não deu outra: a Microsoft demorou a mudar o paradigma. Entretanto, a Borland seguiu desenvolvendo em paralelo o compilador 32-bit e já tinha ele pronta no ano seguinte, bem a tempo de pegar o começo da ascensão do novo sistema operacional da concorrência.

Outro investimento bem pensado da equipe foi colocar em vista a arquitetura Cliente/Servidor. Nesse caso, o mérito repousa em Urlocker, que aceitou o desafio e convenceu o resto da equipe a buscar esse caminho. Em seu lançamento, o Delphi trazia suporte para as duas realidades: Cliente/Servidor e Desktop. No segundo ano de existência, o faturamento da versão Cliente/Servidor ultrapassou o Delphi para Desktop.

Apesar do carinho, atenção e planejamento colocados na criação do Delphi, Urlocker se surpreende até hoje com seu legado:

Quando construímos o Delphi, nunca pensamos que duraria tanto tempo ou teria tanto impacto quanto teve. Ficamos gratos pelo suporte e feedback de nossos clientes e desenvolvedores terceiros.(…) Imaginei que, se o Delphi durasse para a versão 3.0, isso significava que fizemos um bom trabalho. Mas vinte e cinco anos? Quem poderia ter adivinhado?

Com a palavra, Anders Hejlsberg

Não é de hoje que a Microsoft sabe reconhecer uma derrota ou o cheiro do talento. O Delphi foi lançado em 1995 e em 1996 a empresa já estava arrancando Anders Hejlsberg do teto da Borland e contratando o veterano engenheiro pelo seu peso em ouro. Na Microsoft, ele ainda seria o principal pilar da criação do C# e o pai do TypeScript mas a Borland perdia ali um de seus principais expoentes.

Em 1995, entretanto, Hejlsberg era o próprio garoto-propaganda do Delphi e deu diversas entrevistas para ajudar a espalhar o evangelho de uma das melhores ferramentas de desenvolvimento que a década de 90 produziu. Destacamos abaixo alguns trechos de uma entrevista histórica para a .EXE Magazine:

A ideia principal era projetar uma ferramenta que combina ambiente de desenvolvimento visual, suporte a banco de dados cliente / servidor e um compilador de código nativo. Antes de Delphi, você sempre tinha que fazer uma escolha. Eu defendo o desempenho de um compilador de código nativo ou a facilidade de uso de um ambiente de desenvolvimento visual? Eu escolho uma linguagem poderosa orientada a objetos ou uma ferramenta proprietária 4GL cliente / servidor? O que os programadores realmente querem é tudo isso acima, em um único pacote. É isso que nos propusemos a fazer com o Delphi.

(…) Outro aspecto importante do Delphi é sua versatilidade. Outras ferramentas tendem a se concentrar no desenvolvimento de aplicativos do Windows ou no cliente / servidor, e uma opção sempre substitui a outra. O Delphi é igualmente adepto de ambos, como é evidente nos tipos de aplicativos que nossos clientes estão construindo. Eles abrangem desde utilitários Windows modestos e jogos multimídia, passando por aplicativos de banco de dados de desktop e chegando até soluções cliente / servidor para vários usuários em toda a empresa.

(…) Como gostamos de dizer, “isso não é mais o Turbo Pascal do seu pai”. Garantimos que o código do Object Pascal que você precisa escrever seja tão fácil quanto o BASIC, mas sem limitações.

Nós nos esforçamos ao máximo para garantir que, quando você esteja interagindo com componentes, o código que você escreve seja o mais simples possível – mas não simplório. Muitos revisores comentaram que pensavam estar codificando no Basic quando começaram a usar o Delphi. É fácil assim. Quando eles querem fazer algo mais interessante e começar a usar a riqueza da linguagem, geralmente começam a se lembrar do quanto gostam de Pascal.

Anders Hejlsberg está em um Easter Egg do Delphi 1.0! Apertando o botão ALT, digite “and” para ver o simpático desenvolvedor feliz da vida.

(…) A Borland tem mais de dez anos de experiência na construção dos compiladores mais rápidos do mundo e utilizamos esse conhecimento nas compilações Delphi – isso compila a cerca de 350.000 linhas por minuto em um Pentium de 90 Mhz.

(…) Delphi é uma ferramenta Windows RAD (Rapid Application Development) de uso geral. O ponto é que o Delphi NÃO é uma ferramenta de nicho. Desde o início, projetamos o Delphi para poder levá-lo do protótipo à produção, seja para focar em um ambiente cliente / servidor ou apenas para escrever um aplicativo do Windows. Ouvi nossos concorrentes dizerem que você pode usar a ferramenta deles para prototipagem rápida e, em seguida, portar seu aplicativo para C ++ para produção. Mas você sabe, o rápido desenvolvimento de aplicativos não é realmente rápido, a menos que você possa ir do protótipo à produção, todos usando a mesma ferramenta!

(…) Você pode imaginar o VB ou o PowerBuilder escritos em si mesmos? Ao construir o Delphi em Delphi, realmente sentimos em nosso próprio corpo o que era certo sobre o produto e o que precisava ser consertado. Às vezes, ouço usuários frustrados comentarem ‘os programadores que escreveram essa **** devem ser forçados a usá-la!’. Bem, nós fizemos e estamos realmente orgulhosos do resultado.

Delphi hoje

Até o inesquecível Delphi 7, lançado em 2002, a Borland manteve a bola em campo, mesmo sem o apoio de Hejlsberg no comando do projeto. Nesse momento, a Microsoft estava com sua plataforma .NET a pleno vapor e uma versão do Delphi 8 para .NET chegou a ser iniciada, mas seu desenvolvimento não foi adiante. Seus desenvolvedores optaram por manter o foco em C# e a “guerra” acabou sendo perdida de vez.

A Borland acabaria fechando as portas em definitivo em 2009, mas isso não seria o fim do Delphi. O bom nome da plataforma seria carregado agora pela Embarcadero. Sob sua direção, o Delphi acompanhou a evolução das necessidades do mercado de desenvolvimento.

Em seu núcleo ainda reside o framework original Visual Component Library, compatível apenas com o ambiente Windows, mas a ele foi acrescentado o FireMonkey, de propriedade da Embarcadero, que também funciona no Windows, mas estende os horizontes para macOS, iOS, Android e  Linux 64-bit. Para quem começou lá em 1995, o jeitão ainda é o mesmo, mas interface e recursos foram modernizados no Delphi.

Com o atual Delphi, é possível criar aplicativos para diversas plataformas, incluindo Internet das Coisas, Windows 10, integração com 20 tipos diferentes de bancos de dados e serviços de nuvem. E tudo isso como era vinte e cinco anos atrás: conciliando produtividade e performance.