Árvore de páginas

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    (mais)    (mais)escopo de variáveis
escopo de funções: function, static function, main function, user function    (mais)    (mais)escopo de funções
estruturas de controle: if, else, while, for e case    (mais)    (mais)fluxo de controle
blocos de código    (mais)    (mais)codeblock
macro-execução    (mais)    (mais)macro execução
acesso a base de dados    (mais)    (mais)acesso a base de dados
execução de jobs e processamento em threads    (mais)    (mais)controle de processamento
error block    (mais)    (mais)error block
identificadores com nomes longos    (mais)    (menos)

nomes longos

namespace    (mais)    (menos)namespace
annotation e reflection    (mais)    (menos)annotation e reflection
tipagem: variáveis, funções e parâmetros    (mais)    (menos)tipagem
try-catch    (mais)    (menos)try-catch
parâmetros nomeados    (mais)    (menos)parâmetros nomeados
json inline    (mais)    (menos)json
classes: propriedades públicas, privadas e protegidas    (mais)    (menos)modificadores de acesso
classes: métodos de objetos e métodos estáticos da classe    (mais)    (menos)método estático
classes: sobrecarga de operadores    (mais)    (menos)sobrecarga de operadores
classes: interfaces abstratas    (mais)    (menos)interface abstrata
StaticCall    (menos)    (mais)static call
  • Sem rótulos