Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

TLPP é um avanço da linguagem AdvPL. Elas não se excluem; pelo contrário, se complementam.

Um dos principais objetivos em TLPP é oferecer novos recursos de programação conhecidos em diversas linguagens modernas.
A grande maioria dos recursos que já vinham sendo 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.
Isso reflete o forte compromisso que temos com o legado, de modo a permitir uma migração gradual e de baixo impacto para quem pretende, futuramente, portar de AdvPL para TLPP.
Contudo, não há dúvidas de que o avanço da tecnologia e o consumo dos novos recursos da plataforma passam a ser endereçados via TLPPRecursos 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 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 criaçã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
tipagemchecagem de tipos: 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