Early on I learned Turbo Pascal, which was a huge step up from the Basic and Batch File programming I cut my teeth on. When Delphi came along I thought it was brilliant and fell in love immediately. I had no interest in learning other programming languages or tools. Delphi did it all, and that was great. I found myself plenty of work and enough to keep my interest.
Eu estava curioso sobre outras linguagens de programação, do ponto de vista acadêmico. Tive uma aula noturna em Assembly. Eu tinha um pouco de C & C ++. Procurei um pouco de Ruby (antes da moda), Java, JavaScript, etc. Eventualmente, me vi passando alguns anos depurando impressoras a laser, que rodavam uma combinação de C / C ++ / COM em uma plataforma Linux.
De lá, voltei para a programação Delphi em tempo integral, mas a nova empresa para a qual trabalhava aderiu ao mito “não há desenvolvedores Delphi suficientes” e decidiu mudar para C# e WinForms. Imediatamente pudemos contratar alguns novos desenvolvedores C#, mas à medida que os conhecíamos, descobrimos que eles tinham mais experiência em Delphi do que C#, mas eles aceitaram o mito "não há trabalhos Delphi" e se renomearam como desenvolvedores de C# . (Isso é o que chamamos de argumento circular ou profecia autorrealizável.) No final, o projeto demorou 4 vezes mais do que deveria, apesar de ter mais desenvolvedores e “ferramentas de desenvolvedor mais modernas”. Eles realmente deveriam ter ficado com o Delphi.
Mudei para um novo trabalho fazendo desenvolvimento Delphi em tempo integral, e então essa empresa comprou o C# e o Silverlight são o futuro. Como eu tinha experiência em C#, comecei a trabalhar no novo front-end do Silverlight. O back end e o aplicativo de desktop permaneceram em Delphi (com um pouco de C ++). Todos nós sabemos o que aconteceu com o Silverlight (se você se lembra dele...)
A partir daí, acabei realmente diversificando. Trabalhei muito mais com C#, Xamarin, Java, JavaScript, Objective-C e Oxygene (conhecido como Delphi Prism na época). Ainda havia algum Delphi misturado também. Ministrei algumas aulas e workshops sobre desenvolvimento Android com Java. Aprendi a valorizar alguns dos benefícios, pontos fortes e qualidades de cada um. Achei coisas de que gostei em todos eles (nem tanto em Objective-C).
It was at this point I could see that most developer skills work across languages, tools, and platform. There is value in knowing and using multiple languages. The basic tenants of each language influence the way you do things in other languages, in a positive way, helping you to look at problems in a different way. There are some projects, platforms, and problems that are best suited to certain programming languages and tools. For example, if you are working with the web, you need to know at least some JavaScript, HTML & CSS (the latter two not being programming languages, but I digress), even if you are using some sort of abstraction layer.
Ao longo de tudo isso, ainda me peguei escolhendo a Delphi para projetos pessoais. Ocasionalmente, eu tentava projetos pessoais em outras ferramentas e linguagens como uma forma de conhecê-los melhor, mas ainda achei o Delphi uma solução melhor para a maioria dos projetos de uso geral. Uma das características que definem o Delphi e porque sempre volto a ele é que ele torna as tarefas comuns muito, muito fáceis, enquanto mantém o resto simples e possível.
Outras ferramentas com foco na produtividade tornam um pequeno subconjunto de tarefas tão fácil quanto o Delphi, mas também tornam qualquer coisa além dessas tarefas, ou daquele cenário “ideal”, difícil ou impossível. Enquanto outras ferramentas de uso geral não fazem nada para otimizar cenários comuns, o que torna as tarefas simples mais complicadas do que precisam ser.
Agora, com o desenvolvimento multi-plataforma, o Delphi é mais importante do que nunca. A abordagem que Delphi e FireMonkey fornecem torna rápido e fácil fazer as tarefas mais comuns, enquanto também mantém todas as APIs e recursos da plataforma ao seu alcance.
Delphi really invented the 3rd party component market as far as I am concerned. From the beginning, it shipped with all the source code for the VCL and also included a robust OpenTools API and component model making easy for others to extend the IDE, and build reusable components and libraries. All the technology partners are a huge part of why I choose Delphi.
Delphi also has a huge commitment to the code we as developers develop. I attend a lot of general software developer groups, and it is common to hear developers complaining about how they just finished porting their code to support a new version of their tools, only to have it all break again because a new release of their non-Delphi programming language or framework just came out. Often times they just throw it all out and rewrite to support a new version. Sure, Delphi it isn’t perfect, and sometimes there are incompatibilities or breaking changes from version to version, but by comparison, Delphi is so much better at this than any other language or platform out there that I have seen.
“Comecei escolhendo a Delphi porque era o que eu conhecia. Agora eu escolho o Delphi porque ele faz o trabalho melhor do que as alternativas. O fato de ser mais rápido para o desenvolvimento é bom, mas apenas parte da equação. Eu costumava ter um chapéu que dizia “O Delphi faz de tudo, principalmente o Windows” e isso é mais verdadeiro do que nunca hoje.
Então, por que você escolheu o Delphi? Compartilhe suas razões nos comentários ou no seu blog #WhyIChooseDelphi