Um iniciante querendo aprender Delphi
Sou novo na area, porém já domino muito bem Java e Spring Boot. Apareceu uma oportunidade de trabalho, porem a pessoa me pediu para que eu estuda-se um pouco Delphi antes de começar. Eu estou completamente perdido para aprender Delphi e queria saber se vocês tem alguma dica ou algum material para aprender sobre Delphi.
Cara, sou sênior em Delphi e minha opinião sincera é que aprender Delphi é perda de tempo.
A Embarcadeiro atual controladora do Delphi matou o próprio produto, quem usa em versões antigas não consegue migrar para mais novas por causa das licenças bizarramente caras.
Ainda tem os sistemas legados que ainda não foram migrados ou não são migráveis em que você utilizará o delphi 7, 2005 e etc.
A maioria das vagas que aparecem são para as versões antigas onde se tem projetos de migração para C#, JAVA etc.
Na empresa que trabalho ficou mais barato migrar todo o ERP para C# e angular do que atualizar a licença do Delphi.
Hoje o Delphi tem usos em aplicativos android/ios tipo o Xamarim(.NET MAUI), Ionic e outras framworks multi plataforma, mas é um mercado bem pequeno e fechado. ( Até hoje só conheci uma empresa no Brasil que usava dessa maneira)
Minha visão particular é que não se inicia novos projetos em delphi no Brasil, por isso to em processo de migrar minha carreira totalmente para o C#.
Mas se vc precisa aprender para algum projeto em especifico no udemy tem uns cursos usando os compiladores mais novos( que são bem diferentes dos antigos) da para você estudar usando a versão communit, agora as antigas vai ser um problema conseguir a licença.
Antigamente existam varios cursos e certificações mas como o delphi foi sendo abandonado foram fechando.
No youtube você também acha alguma coisa.
Tbm sou programador Delphi e concordo com todos e tudo que falaram. Delphi é muito caro, isto inviabiliza muito a continuação e novos projetos, infelizmente. Deveria ser bem mais barato e ter mais incentivo nas faculdades igual a Microsoft faz com o C#. Ao meu ver o que torna o Delphi atraente é a comunidade do projeto ACBr da qual também participo e digo que sem ela seria bem difícil emitir nota fiscal e fazer um monte de outras coisas. Creio que a maioria que está utilizando Delphi usa porque precisa manter os projetos antigos. Mas tudo isto não significa que Delphi morreu, pelo contrário, há mercado ainda. Aproveite esta oportunidade.
Concordo com o juliofpsm
, também trabalho com Delphi a algumas décadas.
Atualmente não vale aprender Delphi, pois o mercado está ficando cada vez mais restrito em legados e migrações para outras stacks. Quem começa criando algum produto novo usando Delphi como base, está gerando um problema para si mesmo.
A única coisa que eu vejo destaque no Delphi no Brasil hoje é o projeto ACBr, apesar de ser um grande projeto, nada há nada no mercado muito além disso.
Sigo os relatores: nao vale aprender delphi hoje em dia.
Ja fui dev delhpi a uns 20 anos passados (no seculo passado kkk) - e nao tem sentido, exceto para dar manutencao em codigo legado (e neste caso, vai ser uma encrenca dos diabos).
Mas enfim, na UDEMY tem cursos de Delphi (RAD) e nao sao caros, uns R$ 25 cada.
O delphi, em si, nao eh complicado - apenas eh diferente: tenha em mente que voce desenha o "formulario" (tela, dfm) e associa um codigo em object pascal que acessa campos deste formulario (na pratica, cada formulario eh uma classe e cada campo um objeto).
De um modo geral, eh isso - boa sorte !!!
Bem, vamos lá. Melhor material hoje em dia para aprender ou aperfeiçoar na linguagem Delphi na minha opinião é Academia do código, tem muita coisa no canal deles gratuita e também o "Clube dos programadores" onde é R$49 e uns quebrados por mês e é como se fosse um "netflix" escolha o módulo/conteudo e se divirta. Fora isso tem outros canais no youtube como exemplo: 99 coders Alexandre Magno Souza Imperium Delphi Bruto do Delphi Adriano Santos Vinicius Sanchez Code4Delphi Delphi na Veia DelphiGov Eder Mello SWH Sistemas etc etc
Tem grupos no telegram também (academia do codigo é um deles).
Ou seja material não falta.
Entrando na polemica se vale ou não apena aprender, eu discordo dos demais colegas, apareceu a oportunidade? Aproveite, estão dizendo que Delphi esta morrendo faz mais de anos e esta ai até hoje, tem linguagens/framework que nasceram e morreram nesse tempo, mas Delphi continua, e Delphi é pascal, Lazarus é o "delphi" gratuito e esta crescendo bem ultimamente. A linguagem esta morta? longe disso, todo ano tem atualizações tanto Delphi quanto o FPC/Lazarus. Esta mal otimizada? Longe disso, basta olhar o desafio do 1 bilhao de linhas: https://github.com/ObjectPascal-Community/1brc-ObjectPascal
Ah, a embarcadero esta dificultando com sua politica de preços etc etc. Eu concordo, não é barato, e a versão Community Edition serve só para estudo, se tivesse uma versão Community Edition mais abrangente com limites maiores seria uma porta de entrada muito mais interessante, mas ainda existe esse problema. Só não acredite que a linguagem esta morrendo, isso é balela.
Sou dev senior em Delphi. Toda a minha carreira foi construída em Delphi. Toda a minha base técnica se iniciou em Delphi. Delphi, é uma tecnologia e tanto, com vários recursos bons semelhantes em outras tecnologias.
Entretanto, desisti do Delphi há tempos e explicarei o por que:
- Valor da licença: a Embarcadeiro não facilitou o valor da licença para a continuidade da populariação do Delphi. Diria que desde 2005, várias tecnologias que atendiam as necessidades que só Delphi tinha, foram surgindo sendo a maioria Free e outras com custo muito menor que o Delphi. Hoje, uma licença para utilizar bons recursos do Delphi custa uns 25-30k R$, e dependendo do modelo, se for por ativação, esse valor contenplaria um total de 10 ativações. Passou disso, perdeu a licença. Sinceramente, hoje não vejo a necessidade de gerar custos para desenvolver software, onde S.O.=Linux, IDE=VSCode, emuladores=Docker, etc...
- Não tem integração em Cloud como outras tecnologias disponíveis: para utilizar app em Delphi em Cloud (AWS, GCP, Azure, etc...) é preciso ter uma VM Windows. Nenhuma Cloud (até onde sei) permite você rodar um código (executável) não gerenciado. Recursos como Lambda Function (AWS), Cloud Run Functions (GCP) só permitem rodar códigos gerenciáveis (PHP, Java, NodeJS, .NET Core, Python, Ruby) e não Delphi. Portanto, vários recursos interessantes em Cloud você não conseguria utilizando Delphi.
- Não rodar bem em Docker: sim, eu sei que dá para rodar uma aplicação Delphi em Docker Linux. Mas experimente crescer essa aplicação, utilizando mais recursos (não nativos em Delphi), que você começará a ter incompatibilidades para jogar isso em Docker. A utilização de Docker nos dias de hoje, considero fundamental para um aplicação em larga escala. Kubernetes, por exemplo, é uma ferramenta que permite você escalar sua aplicação de maneira bem robusta.
- Comunidade: eu sei que o Delphi ainda tem uma comunidade bem ativa, mas a minha percepção é que algumas pessoas que contribuiram muito para a comunidade Delphi acabaram desistindo (e não me pergunte os motivos), fazendo com que esse apoio fique cada vez menor. Não falo aqui de apoio para ligar um ClientDataset ao DataProvider, mas sim um apoio mais complexo (como por exemplo uso de TMutex, etc...). Quando precisava de apoio assim, só encontro ajuda em inglês e de posts bem antigos.
- Negligência da Embarcadero com bons produtores de conteúdo: existem uma bliblioteca (http://www.omnithreadlibrary.com/) que, ao meu ver, é um dos melhores códigos escritos em Delphi que já vi. Por exemplo, existem recursos para programação asíncrona, como Event Cycle (o mesmo utilizado em NodeJS). Foi desenvolvida por um cara chamado Primož Gabrijelčič, considero-o um excelente programador, ao analisar os códigos escritos por ele. Então, somente nos últimos anos que vi eventos de Delphi na europa convidando-o para palestrar sobre. Na minha opnião, essa lib deveria ser nativa no Delphi e fomentada seu uso. Creio que muita gente não tem ideia do poder que esta lib tem para criar um app escalável em Delphi. Não vejo nenhum movimento da Embarcadero com essa iniciativa. Vi uma vez, um cara brasileiro que codificou uma Rede Neural em Delphi, um trabalho fantástico, mas que teve pouca procura no canal dele no Youtube. No Github do projeto (https://github.com/marvinbraga/Marvin.IA) o último commit foi a 5 anos atras. Resultado: ele passou a direcionar o conteúdo do canal para Python. Eu, sinceramente, não vejo movimentos da Embarcadero abraçar estas pessoas e promover seus trabalhos, fomentando o uso na comunidade.
- Salários em Delphi baixos se comparado ao mercado: raramente (repito, raramente e não uma totalidade), eu vejo uma vaga que pague em Delphi o mesmo salário que um sênior Java, .NET, Go ou Python.
- Projetos legados: a maioria (repito, a maioria e não uma totalidade) de projetos atuais em Delphi são sistemas legados. Raramente você verá um projeto grande, hoje, nascendo em Delphi.
Eu poderia listar mais motivos aqui que me fez tomar a decisão de não utilizar mais o Delphi. E resumindo, não é pelo pode que a tecnologia tem, mas pelos motivos que citei acima.
Bom, esta é apenas a minha singela opinião.
Se você vai aprender Delphi ja com uma vaga em vista procura saber qual é a versão que a vaga pede. Do Delphi 7 para os posteriores houve um salto grande e ainda existem muitas empresas que usam o D7. O ecossistema do Delphi é muito limitado e é difícil encontrar bibliotecas prontas e gratuitas para resolver alguma coisa. Então provavelmente vai precisar criar muita coisa manualmente. O gerenciamento de memória dos objetos é feito manualmente ( você cria, você destrói).Existem algumas exceções nisso por exemplo componentes visuais. Não é uma linguagem complexa e se ja conhece outra vai conseguir mapear os conceitos com facilidade. Tenta se inteirar sobre a VCL (Visual Component Library), eventos e propriedades. Já procura estudar sobre DUnit e XUnit para implementar testes unitários. Comunicação com banco de dados e serviços web. Sugiro tentar transcrever programas implementandos em linguagens que você conheça para Delphi. Procura a bíblia do Delphi (do Marcu Cantu) da versão que você vai trabalhar. Procura saber qual banco de dados e quais bibliotecas a empresa usa. Baixa e tenta criar algo com isso.
Enfim sucesso na sua jornada.
🤣 Galera bora pra descer no Delphi e todos estão certos, tem uma galera Sênior ai em Delphi eu vou dá meu 1 centavo como um Juinim em Delphi, Juinim porque trabalhei com Delphi a uns 4 anos atrás durante 2 anos.
E trabalhei com Delphi desktop, bastante! E delphi com firemonkey para android (roda em outras plataformas, mas usei só pra android)
Isso dito, quero dizer a construção da linguagem é ruim, o apoio da comunidade é péssima os únicos que senti um certo companherismo seria a comunidade do Projeto Acbr, eles são um dos poucos que carrega o Delphi nas costas eles aqui no Brasil e Firebird + Ibexpert.
Firebird é um banco do qual eu gosto bastante, depois dá uma olhada. Seria uma espécie de sqlite com servidor de banco, mas realmente muito bom principalmente a v5.
IBexpert assim como o Delphi, parou no tempo!
Delphi é um pato e dos piores tipos, eu acredito que tem linguagens ou ferramentas que se propões a fazer muitas coisas, porém limitadas e deixando claro a limitação e te dando uma alternativa manual.
Com Delphi, você tem muitas coisa que funciona muito ruim, pra você sair do 0 a 40% eu juro a você que é muuuito mais rápido do que com qualquer outra coisa, mas sair do 40% pra 100% é um parto!
Conclusão
Se é pra ter a facilidade do Delphi os Drag And Drop, prefira qualquer outra ferramenta web lowcode, tem mais futuro q você conseguirá entregar um produto multi-plataforma sem fazer gambiarra!
Delphi é um lowcode velho e ruim!
Desculpa a todos, mas o delphi já queimou meus neurônios uma época estou só estravazando com a oportunidade.