ADVPL
Origem: Wikipédia, a enciclopédia livre.
| Esta página precisa ser reciclada de acordo com o livro de estilo Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior. |
O AdvPL (acrônimo para Advanced Protheus Language) é a linguagem de programação nativa do Sistema de Gestão da Microsiga. Este sistema de gestão, inicialmente criado em dBase, acompanhou a evolução desta linguagem, as versões do Clipper e a utilização da biblioteca gráfica Fivewin. Planejando sua independência de plataforma, a Microsiga criou seu próprio ambiente de trabalho, intitulando a tecnologia de Protheus, uma plataforma cliente/servidor escrita em ANSI C++, possuindo uma IDE proprietária que compila o código AdvPL. A linguagem incorpora o padrão xBase do Clipper 5.3, bibliotecas externas como Fivewin, NanFor, entre outras, e funções internas criadas pela própria empresa.
O Servidor Protheus gera um arquivo único no momento da compilação, chamado de RPO (Repositório Protheus de Objetos). Este RPO é lido e executado dinamicamente. A linguagem possui uma série de funções próprias que auxiliam no desenvolvimento.
Atualmente, a tecnologia Protheus está na sua versão "10 1.2", sendo o "10" referente à tecnologia da Build (executáveis) e o "1.2" referente às regras de negócio (Financeiro, Faturamento, etc.) - Release 1.2, programadas em AdvPL, trabalhando na parte servidor em plataformas Unix e Windows e, na parte cliente, em plataformas Windows e Linux.
É uma linguagem derivada, de linhagem antiga (originou-se da CA-Clipper, que derivou-se da Clipper Summer, que derivou-se da dBase III for MS-DOS, que por sua vez, é uma migração da dBase II CP/M). As raízes da linguagem, portanto, datam de há mais de duas décadas.
Trata-se portanto de uma pseudo-linguagem de programação (uma linguagem derivada de outra linguagem), e ainda que tenham sido feitos esforços descomunais no sentido de seu aprimoramento e com a inclusão de diversas bibliotecas e interfaces gráficas, é arcaica, em termos comparativos, a quaisquer das linguagens de desenvolvimento mais atuais como a Java, o C#, o Visual Basic, o PHP e outras.
Sua sintaxe é primitiva, no sentido de orientação a objetos. Para realizar uma entrada de dados com validação, por exemplo, requer sequências lineares de instruções, similares á:
SetCursor(1)
@ 09,19 Get cTipo Picture "@!" Valid Pertence("CL\VD\PD",cTipo)
Onde o trecho Pertence("CL\VD\PD",cTipo) é na verdade uma função criada na implementação Microsiga da Clipper original.
Dado o fato de que as implementações Microsiga incluíram centenas de funções, cada qual com suas características e finalidades específicas, estritamente voltadas à resolução da lógica de negócio dos sistemas criados pela empresa, mesmo o mais experiente dos desenvolvedores que venha de qualquer outro país não terá condições de lidar com os sistemas sem um treinamento especializado.
Outro ponto a se ressaltar é que, ainda que utilize bibliotecas OpenSource e a linguagem de base (dBase) seja de domínio público, com reservas pela Borland e agora pela Microsoft, os custos em treinamento e manutenção são superiores em todos os sentidos, e nem poderia ser diferente, uma vez que o conhecimento sobre as variantes das lógicas de negócio são específicas e requerem bom tempo de aprendizado.[carece de fontes]
Os nichos de trabalho de uma linguagem com essas características não é, nem poderia ser, o uso em computadores domésticos. Com as perspectivas de evolução dos sistemas operacionais e o surgimento da DotNet Framework, não há um espaço de sobrevida garantido muito amplo, senão em direção à Web, mediante o uso de servidores Linux e Web service.
| Este artigo é um esboço sobre Programação. Você pode ajudar a Wikipédia expandindo-o. |

