ADVPL, Voce conhece?
UM POUCO SOBRE MIM
Oi povo, tudo certo? Meu nome é Sérgio, meu sonho sempre foi trabalhar com programação, eu trabalhei durante muito tempo com infraestrutura, tive uma oportunidade de trabalhar como suporte ao ERP Protheus da TOTVS na empresa a qual estou atualmente.
A mesma possui um setor de desenvolvimento, a qual os desenvolvedores utilizam a linguagem ADVPL (Advanced Protheus Language) para fornecer personalizações ao ERP.
Depois de um ano no suporte ralando muito e estudando demais, finalmente entrei pro setor de desenvolvimento.
MINHA QUESTÃO
ADVPL é uma linguagem muito engessada (meu ver) estou usando essa oportunidade para adquirir experiência e desenvolver minha habilidade em lógica, acham que estou fazendo certo ou devo investir nessa profissão/linguagem?
Se você tiver uma experiência com ADVPL, compartilha ai em baixo 😊
Bom dia Sérgio, tudo bem? Espero que sim! Meu nome é Everson, sou desenvolvedor ADVPL há quase 12 anos numa franquia da TOTVS aqui no RS. Sobre o ADVPL, não vou entrar em termos técnicos mas sim sobre o que eu penso dela, é uma linguagem específica para um produto muito específico que atende milhares de empresas, ou seja, você terá limitações quando for pensar em algo fora produto da TOTVS. Mas isso NÃO impede de voce criar projetos/produtos para o Protheus, e quem sabe evoluir pra algo rentável pra você. Eu fiz minha vida pessoal e profissional com essa tecnologia que tem prós e contras, e com o tempo no suporte você entenderá esses cenários. Sobre aprender lógica, NÃO acho que seja uma boa se você está iniciando na programação. Já que pra fazer um simples hello world precisará de um "setup" inicial muito trabalhoso. Reforço, o ADVPL é espcífico para um ERP, e isso poder tornar frustrante a sua experiencia. A linguagem não é engessada, ela evolui cada ano que passa corrigindo e melhorando o que for necessário... PARA O PRODUTO E PARA A TOTVS. Tanto que foi lançado a pouco tempo uma "versão" ou um superset da linguagem visando boas praticas de mercado e algo mais "backend", mas ainda assim dependerá da arquitetura TOTVS.
Concluindo, paga-se muito bem para quem domina a linguagem e o produto. Sei que é uma decisão difícil, mas hoje em dia voce tem a internet para facilitar a busca por informações. Você vai encontrar muita coisa por aí sobre ADVPL, e eu mesmo posso compartilhar com você. Mas! Tenha em mente que é uma tecnologia proprietária e isso poderá te limitar, e ao mesmo tempo poderá pagar muito bem, já que a TOTVS tem uma grande fatia do mercado BR.
Saudações e vida longa!
Tenho amigos que ainda fazem uma boa grana com ADVPL e sei que tem muita demanda de customização. Se eu não estiver enganado o ADVPL é baseado na linguagem Clipper, que é realmente uma linguagem antiga sem uma série de recursos que as linguagens novas tem, mas eu honestamente não acho isso tão relevante; se essa linguagem tá aí até hoje ela tem seu poder, certo? Você diz que dedicou muita energia pra entrar nesse time, então se eu estivesse no seu lugar eu ficaria aí mais um tempo pra fazer valer o tempo investido, depois disso você estará mais experiente e a curva de aprendizado para outra linguagem não deverá ser tão grande. Enfim, essa é minha perspectiva, mas a carreira é sua :)
Isso só você pode responder. Depende dos seus objetivos, de como está se desenvolvendo com isso, de como se desenvolveria em outra coisa.
É um caminho e ele tem uma demanda razoável. Não enorme, mas também não tem muita oferta.
Em tese você deve saber de como está esse mercado melhor do que eu que estou fora del há bastante tempo. Se você tiver acesso ao código fonte ainda encontrará meu nome em algumas funções (a cultura, que eu abominava, era de mudar o nome do autor original mesmo que o novo auto tenha mudado uma vírgula, mas ainda tem várias coisas minhas).
AdvPL é uma linguagem chamada xBase, ou seja é derivada da linguagem de programação que era usada com o dBase II e depois suas evoluções e mais tarde outras implementações fora do dbAse como o Clipper e ainda o atual Harbour. Clipper era a linguagem original do que os sistemas da Microsiga (atual Totvs) foram desenvolvidos. Para não perder o investimento quando ele foi descontinuado eles criaram uma implementação própria chamada AdvPL.
O Harbour é um projeto da comunidade para manter os sistemas do Clipper e é uma implementação bem melhor que AdvPL que começou ser desenvolvida, ainda não com a intenção que é usada hoje, quando eu ainda estava lá. Eu não gosto de várias decisões que foram tomadas, em geral para funcionar e não funcionar bem.
Eu acho que o ambiente todo do Protheus é mais problemático que a linguagem, mas fiquei curioso por achar a linguagem engessada. Eu nunca tive problemas com a família xBase, embora admita que existam alguns erros especificamente em AdvPL, ao mesmo tempo isso não cria fortes limitações, inclusive para oque ela pretende ser. Pode ser que você tenha uma visão diferente por ainda não conhecê-la bem e a documentação é deficiente, ou pode saber de algo que eu não sei, por isso queria saber mais sobre essa opinião. Certamente ela não segue modinhas.
Eu acho ela melhor para aprender programar do que muita coisa que as pessoas gostam.
Eu não costumo recomendar o uso da família toda porque o mercado é pequeno, e se a pessoa não souber administrar isso pode ter alguma dificuldade no mercado que eu não quero ser responsável, mas é diferente de quem já está nela. E se não fosse por isso eu recomendaria sim, mais o Harbour, que é uma ferramenta bem interessante, e seria mais se tivesse uma comunidade mais forte. É uma pena que as pessoas não a conhecem.
Algumas pessoas cobram fortunas com ela.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Sérgio, primeiramente parabéns por ter entrado pro time de desenvolvimento. Espero que esteja gostando.
Eu acredito que essa linguagem não é demandada no mercado, mas com certeza, qualquer linguagem de programação vai te ajudar a aprender lógica. Já que está com essa oportunidade em mãos, aproveite-a, mas não aposte suas fichas nisso. Enquanto avança na lógica, invista em outras linguagens, frameworks, libs... O primeiro passo você já deu. No seu lugar, como segundo passo, eu me pergunaria: Onde eu queto chegar e o que eu preciso aprender para chegar lá? Depois disso, faça suas pesquisas! Desejo sucesso!