AdvPL é uma linguagem de negócios extremamente poderosa, reconhecida e premiada.
Através dela, muitas soluções e produtos foram desenvolvidos principalmente para o ERP Protheus.
TLPP é uma moderna linguagem de inovação projetada a partir de AdvPL.
Através de TLPP, aplicações e produtos contemporâneos serão e já estão sendo desenvolvidos.
Recursos tradicionais oferecidos em AdvPL estão igualmente propagados em TLPP.
Recursos mais novos, oferecidos em outras linguagens, também estão sendo concretizados em TLPP.
Produtos atuais confeccionados em AdvPL não requerem migração forçada para TLPP.
Aplicações ou fontes novos, estes sim, são orientados a serem feitos em TLPP.
AdvPL e TLPP não se excluem; pelo contrário, se complementam e conversam naturalmente entre si.
A fim de elucidar alguns recursos importantes de TLPP e AdvPL, vale a pena observar o seguinte quadro.
Muitos dos recursos estão em ambas linguagens, embora muitos novos só estejam disponíveis em TLPP.
O aprofundamento de cada recurso pode ser guiado na coluna "saiba mais".
recursos | TLPP | AdvPL | saiba mais |
---|---|---|---|
escopo de variáveis: local, private, public e static | escopo de variáveis | ||
escopo de funções: function, static function, main function, user function | escopo de funções | ||
estruturas de controle: if, else, while, for e case | fluxo de controle | ||
blocos de código | codeblock | ||
macro-execução | macro execução | ||
acesso a base de dados | acesso a base de dados | ||
execução de jobs e processamento em threads | controle de processamento | ||
error block | error block | ||
identificadores com nomes longos | |||
namespace | namespace | ||
annotation e reflection | annotation e reflection | ||
tipagem: variáveis, funções e parâmetros | tipagem | ||
try-catch | try-catch | ||
parâmetros nomeados | parâmetros nomeados | ||
json inline | json | ||
classes: propriedades públicas, privadas e protegidas | modificadores de acesso | ||
classes: métodos de objetos e métodos estáticos da classe | método estático | ||
classes: sobrecarga de operadores | sobrecarga de operadores | ||
classes: interfaces abstratas | interface abstrata | ||
StaticCall | static call |