Lars Hvam vive em Copenhaga, na Dinamarca, e adora a linguagem de programação ABAP. Depois de termos criado o track de ABAP no Exercism, encontrámo-nos com o Lars e tivemos uma conversa descontraída sobre como acabou no setor tecnológico.
Jonathan: Olá e sejam todos bem-vindos. Chamo-me Jonathan. Sou o anfitrião do Podcast do Exercism, e hoje tenho comigo o Lars. Onde é que estás atualmente, Lars?
Lars: Estou em Copenhaga, na Dinamarca.
Jonathan: Boa. Fixe. Então, um pouco a norte do equador. Eu estou muito a sul do equador neste momento. É muito bom ter-te no programa de hoje. Fico muito contente por podermos ter esta conversa. E vou começar já, diretamente, no programa desta semana. Então, Lars, fala-nos um pouco sobre ti. Como é que entraste na área da tecnologia? Como é que acabaste onde estás agora?
Lars: Sim, vamos ver... onde é que estou agora, como já dissemos, em Copenhaga. Mas trabalho sobretudo em consultoria na área de código personalizado ABAP da SAP, e como é que acabei aí? Sim, como habitualmente, é uma longa história. Mas é tecnologia. Por isso, vamos falar de tecnologia. Quando era jovem, isso foi há muito tempo. Eu e o meu gémeo idêntico. Eu tenho o meu...
Jonathan: Tens um gémeo idêntico, então como é que eu sei que não é o teu outro gémeo que está a falar hoje?
Lars: ...a fazer coisas da Microsoft.
Jonathan: Está bem. Assustador.
Lars: ...coisas. Por isso, basta perguntares-lhe qualquer coisa sobre SAP. Depois ele não me pode perguntar nada sobre Microsoft. Depois eu não consigo responder.
Jonathan: Sim.
Lars: Mas quando éramos jovens, começámos. A jogar no Commodore 64, e lembro-me de fazer alguma programação muito básica na linguagem de programação BASIC no Commodore, num ecrã de televisão a preto e branco, muito pequeno. Passava horas a fazer isso, a arranjar um computador novo, a fazer QBasic no 386 e no 486. Atualizar para oito megabytes de memória, era o que havia na altura. Sim, era QBasic, e fazer programação em Pascal. Com o tempo, passei para o Windows. E fiz muito Visual Basic. Sim, gosto de Visual Basic. Isso foi lá nos anos... nos anos noventa, alguma coisa assim, e acabei por começar a usar algum Linux. E sim. Para quem se lembra dos bons velhos tempos do Linux, havia a página themes.org, onde era possível descarregar temas para diferentes gestores de janelas. Uma coisa muito Linux. E acho que foi a primeira vez que me envolvi mesmo com a comunidade e aquele espaço, a passar tempo a construir esse site em PHP. Sim,
Jonathan: Está bem. Uau.
Lars: ...deixou-me algumas marcas. Visual Basic, fazer programação durante um doutoramento. Sim.
Jonathan: Está bem. Boa. Boa. Sim, essa é boa.
Lars: E acabei por ir para a universidade, fazer um mestrado em informática e fazer não sei quê de programação e, ao calhas, arranjar um pequeno trabalho, sim. Precisava de dinheiro para pagar a renda. E fazer outra programação. Isso acompanhou-me nos últimos cerca de 15 anos de desenvolvimento de código personalizado ABAP em SAP. E sim. Então, próxima pergunta. Porquê? Porque é que ficou? Porque o ABAP não é uma linguagem de programação muito moderna. É muito parecido com COBOL, mas também é uma linguagem de programação muito interessante, porque é muito vasta, tem imensas instruções diferentes e imensas coisas diferentes que podem correr mal.
Jonathan: Está bem. Então há muita resolução de problemas e muito debugging. É essa a natureza da coisa?
Lars: Sim. Normalmente digo que faço este tipo de trabalho porque gosto muito de debugging e há imenso código antigo para depurar, certo? Ainda na semana passada estava a corrigir um programa antigo que tinha 20 anos. Eu estava tipo, ok, fixe, fixe. E há sempre... quando olhas para um programa antigo, mesmo que faça isto há muitos anos, há sempre coisas novas a aprender, funcionalidades antigas que foram usadas e que ainda correm todos os dias, certo?
Jonathan: Está bem. Então entraste há 15 anos. Na mesma empresa, ou começaste simplesmente a aprender ABAP com SAP e mudaste de empresa?
Lars: Neste momento... agora tenho a minha própria empresa, a fazer coisas divertidas, e defino o que... E também tenho feito muita consultoria para várias empresas de consultoria e também trabalhei como estagiário. Por isso agora trabalho como freelancer e arranjo algum trabalho freelance para poder voltar a pagar a renda. Isso é importante.
Jonathan: Sim. Parece um tema recorrente na tua vida, que é pagar. Pagar a renda,
Lars: sim.
Jonathan: encontrar formas de pagar.
Lars: E, ainda assim, passar demasiado tempo em projetos de código aberto, sair do rumo para algo desafiante.
Jonathan: Sim. Então tens uma equipa de pessoas com quem trabalhas como parte do teu negócio, ou estás bastante sozinho nesse sentido? Como é que é o dia a dia, ou a semana, com o teu trabalho?
Lars: Então, estou sozinho e tenho a minha própria empresa. Quando falamos de colaboração, colaboro com o cliente, certo? E depois, no espaço do código aberto, também tenho muitos bons amigos na comunidade de código aberto que ajudam com algumas coisas de vez em quando. E eu ajudo-os com algumas coisas de vez em quando, por isso é uma situação em que todos ganham.
Jonathan: Sim. Então, na verdade, és totalmente responsável, penso eu, por construir o percurso de ABAP no Exercism, se não me engano, ou tens um elevado nível de envolvimento. Na construção dele. Fala-nos um pouco sobre isso.
Lars: Sim. O percurso de ABAP foi feito por vários membros da comunidade. E são sobretudo membros da comunidade dos projetos de código aberto da comunidade ABAP. E, claro, somos um pouco especiais, por isso temos de construir o nosso próprio executor de testes de raiz, mas isso é uma história diferente para outro dia.
Jonathan: Sim. Sim. Sim.
Lars: Isso é connosco. Por isso, temos várias pessoas a contribuir para o Exercism. Contudo, o percurso de ABAP é um pouco especial, certo? Porque é uma linguagem de programação que é, na verdade, bastante difícil de pôr a funcionar, porque não podes simplesmente descarregar um runtime de JavaScript como o Node ou um runtime de Python. Não consegues mesmo fazer isso muito facilmente em ABAP. A forma mais recente de o fazer era um contentor com 60, que tinha 16 gigabytes, tanto quanto me lembro.
Jonathan: 16
Lars: Precisas de pelo menos 32 gigabytes de memória para correr isto. E não há muita gente que tenha essa infraestrutura facilmente disponível. E também correr este tipo de infraestrutura seria impossível com... ex, não sei. Infraestrutura por trás do ecossistema, mas os percursos são todos um monte de pequenos contentores Docker que arrancam, correm o código, verificam o exercício e depois voltam a desligar-se.
Jonathan: Sim.
Lars: E arrancar um contentor Docker deste tamanho pode facilmente levar 10 minutos.
Jonathan: Não. Não. Claro.
Lars: Por isso precisávamos de uma abordagem diferente e, felizmente, eu tinha estado a trabalhar nas minhas coisas de análise estática. Comecei há alguns anos e tem árvores de sintaxe abstrata. Por isso, pegamos neste código e transformamo-lo em código JavaScript e depois corremos no Node e damos o feedback. Por isso dizemos que a linguagem oficial que suportamos não é ABAP, e também o ABAP é um pouco especial, como já mencionei algumas vezes, porque não há uma descrição oficial realmente boa da linguagem ABAP enquanto tal. Não é como outras linguagens que foram concebidas. Penso que o ABAP evoluiu sobretudo para o que é desde os anos setenta, ou desde quando quer que tenha começado. Por isso, inventamos à medida que avançamos.
Jonathan: Então, que desafios é que isso cria, no dia a dia, para ti? Calculo que porque tens de ser capaz de olhar para um problema com olhos frescos todos os dias e tentar entrar na cabeça da pessoa que o desenvolveu, porque tens muito pouca... é correto dizer que tens muito pouca documentação a que recorrer, por isso...
Lars: Há muita documentação, mas não é... está apenas em texto e nem sempre está 100% correta.
Jonathan: Está bem.
Lars: A forma correta é experimentar o código e ver o que ele faz realmente, certo? Claro que há muitas coisas na linguagem que estão corretas. Mas também, quando as pessoas trabalham e constroem coisas num sistema SAP, tipicamente somos vários programadores num só sistema, e este único sistema tem mais de 200 milhões de linhas de código e mais de 80 000 tabelas de base de dados,
Jonathan: Meu Deus.
Lars: o que é bom. Gosto de uma delas. E especialmente se construíres tudo muito junto, obténs uma análise estática muito interessante que consegue ligar as coisas, ao passo que se fizeres uma arquitetura de microserviços, está tudo fracamente acoplado. Há prós e contras em ambas.
Jonathan: Então preferes a configuração monolítica, seria um comentário justo, ou é um pouco... o que preferires,
Lars: Sim. Prefiro o monólito, mas sim. Está bem. Então, com o teu BASIC P... preferes gerir redes. Sim. Fixe. Isso é...
Jonathan: Código legado. Sim. Tudo coisas que já existem há muito tempo, esse tipo de coisas.
Lars: Sim. Gosto de coisas antigas. É bastante divertido, certo? Costumo dizer que, quando... Quando for velho, quero ir para o PL/I ou o APL, programar em algumas dessas linguagens. Não sei... provavelmente também posso fazer isso em M, certo? Em algum...
Jonathan: Provavelmente. Temos tudo debaixo do capô neste momento. Vamos só ver o que temos. ABL... Disseste APL ou ABL?
Lars: APL... Oh, não há nenhum percurso de APL.
Jonathan: Oh, talvez haja uma oportunidade.
Lars: PL/I? Não há PL/I. Está bem. Está bem. São dois percursos que alguém na comunidade
Jonathan: Oh, estás a inscrever-te agora, Isso é
Lars: Não. Então, como é que é o dia a dia e, por exemplo, o percurso de ABAP? O percurso de ABAP é uma aproximação daquilo que é correto, e tentamos sempre aproximá-lo um passo mais de estar 100%. Por isso, temos pessoas com soluções corretas que simplesmente não funcionam no Exercism
Jonathan: Está bem.
Lars: por causa desta estranha cadeia de ferramentas que montei. Mas passo a passo, dia a dia, começa a funcionar. E é só continuar a adicionar cada vez mais testes unitários ao backend e ao executor de testes e a tudo. E depois, esperemos que um dia fique 100% perfeito, mas
Jonathan: Quem sabe. Quem sabe o que virá a partir daí. Então, com quantos clientes costumas trabalhar durante a semana? É um, dois ou três, ou pode ser até 10?
Lars: Só um ou dois.
Jonathan: Está bem. E isso tem sido uma coisa contínua há algum tempo.
Lars: Sim. Sim. Tenho feito consultoria há muitos anos.
Jonathan: E está sobretudo centrado em Copenhaga, ou durante a pandemia tiveste oportunidade de trabalhar remotamente mais longe? Qual é a tua... viajas muito ou,
Lars: Viajei muito nos meus tempos mais jovens, mas agora fico tipicamente em casa a fazer trabalho remoto.
Jonathan: Está bem.
Lars: É
Jonathan: Sim. Manténs a tua máquina de café quente.
Lars: Sim.
Jonathan: Manténs as coisas a andar. Então, agora disseste que cresceste a programar desde muito jovem e que te interessaste por isso desde bastante jovem. Em algum momento a programação fez sentido para ti? Houve um momento em que foi tipo "clicou" para ti, ou foi algo que simplesmente compreendeste naturalmente desde muito jovem? Como é que o descreverias?
Lars: Oh, não sei. Acho que sempre compreendi fazer programação, certo?
Jonathan: Sim.
Lars: mas tipicamente, nos meus tempos mais jovens, sempre foi programação procedural. Lembro-me de, algures na universidade, haver esta introdução à programação funcional e à programação lógica. E são dois paradigmas completamente diferentes para fazer programação. E há um Prolog, tanto quanto sei. Sim, há um percurso de Prolog. Por isso, para quem nunca experimentou programação lógica, recomendo tentar fazer alguma programação em Prolog, e o Standard ML também deve estar lá para perceber o que realmente pensavas, nova programação procedural, mas também há muitas outras coisas que podes fazer. Sim, aprendo coisas novas todos os dias, por isso não "clicou".
Jonathan: Ainda estás a lutar com tudo? Não, é só interessante porque grande parte da minha experiência tem sido... que tenho de me imergir em algo como uma linguagem. E de repente os conceitos, que são estranhos, e depois, da noite para o dia, algo muda. E é quase um "Ah, isto faz todo o sentido". E algumas das outras pessoas com quem falei no podcast disseram: sim, tiveram uma experiência semelhante. E eu fiquei tipo, como é que fizeste isso? E elas, tipo, oh, uma rapariga disse: "Oh, eu simplesmente imagino um programa como uma história e tenho as funções como personagens" e todo esse tipo de coisas. Por isso foi muito interessante. Mas como é que decidiste que o ABAP era aquilo em que te ias focar? Foi só um "oh, isto paga a renda", ou foi "gosto mesmo disto, prefiro-o ao JavaScript" ou não sei quê?
Lars: Entrar na programação começa sempre por acaso, certo? Fazer um estilo BASIC de Raymond, fazer ABAP e começar por acaso, e destacou-se como uma linguagem de programação muito desafiante, porque é muito grande em instruções diferentes, ao contrário de Java e JavaScript, que na verdade não têm assim tantas instruções. Têm uma biblioteca grande. Se compararmos isso em ABAP, temos muitas coisas de biblioteca como parte da própria linguagem, ao passo que em JavaScript usas o mesmo tipo de construção da linguagem para chamar as bibliotecas.
Jonathan: Está bem.
Lars: Sim.
Jonathan: Está bem. Então foi quase como se tivesses descoberto o ABAP quase ao acaso, e então... olhando em frente agora, nos próximos 10, 10 anos, não sei se queres pensar tão longe, mas. Como é que serão os próximos cinco a 10 anos para ti em termos de programação e de negócio? Tens alguma noção de "oh, é aqui que gostaria de estar, é isto que gostaria de estar a fazer"
Lars: Ah, nunca se sabe realmente, certo? Por isso continuo as coisas enquanto achar que são divertidas, certo? Se já não forem divertidas, largo-as e faço outra coisa.
Jonathan: Está bem, então esse é
Lars: o plano, certo? Tem de ser divertido para funcionar no dia a dia, na minha opinião. Provavelmente ainda haverá ABAP no menu daqui a 10 anos, penso eu. E isso resume-se um pouco a isto: sou bastante exigente no que toca a linguagens de programação e tecnologia. Por isso faço ABAP e faço JavaScript/TypeScript, e depois tento não entrar em mais nenhuma linguagem.
Jonathan: Sim. Está bem. Mas se eu dissesse: "Ok, Lars, tens de largar o ABAP e o JavaScript agora e tens de pegar noutra linguagem de programação." Tens alguma ideia de qual gostarias? Sim, faço isso.
Lars: Sim, então já falámos do APL,
Jonathan: Está bem. Sim.
Lars: Uma linguagem muito fixe, muito... provavelmente mais velha do que eu, não sei, perto de. O APL e o PL/I, penso que ambas são mais velhas que o ABAP.
Jonathan: Está bem. Uau. Então porque é que são essas, por curiosidade? O que é que te intriga nelas?
Lars: Então, o APL não experimentei realmente, mas há alguns simuladores na internet que podes experimentar. É um monte de letras gregas, onde tudo é multiplicação de matrizes. Não é... só parece muito estranho e, sim, esquisito. Mas também é isso que o torna divertido, certo? Tem de haver algum tipo de desafio. E o PL/I é só... algo diferente. Não sei bem.
Jonathan: Algo misterioso e um pouco
Lars: Sim. Não propriamente. Gosto de ir para as coisas antigas e clássicas e não para todas as coisas novas e na moda. Por isso provavelmente poderia dizer Rust, não... provavelmente vou entrar no Rust algum dia, mas isso não é bem porque preciso, não é porque quero.
Jonathan: Sim. E notas que o número de pessoas a usar ABAP está a diminuir ou a aumentar, ou tem havido um ressurgimento do interesse pela linguagem ultimamente? Qual é a tua perspetiva sobre isso?
Lars: Sim, é bastante difícil, e como o ABAP são estes grandes sistemas que correm internamente em grandes colaborações multinacionais, é bastante difícil obter números públicos reais e corretos sobre quais são realmente os números. Mas o rumor é que a idade dos programadores que sabem isto de cor está a aumentar e a aproximar-se cada vez mais de sair do mercado.
Jonathan: Está bem.
Lars: Como o COBOL, certo? É uma linguagem antiga, e os jovens não a acham assim tão divertida, certo? Por isso são pessoas velhas como eu, mas também é por isso que criámos o percurso de ABAP, certo? Queremos trazer mais jovens para a linguagem e o sistema do Exercism é uma boa plataforma para experimentar muitas coisas diferentes. Salta para dentro e é muito fácil começar. Sincroniza, clica, faz login. Começa a fazer código. Feito.
Jonathan: Sim. E notaste... tens visto muita gente a fazer o percurso? O percurso de ABAP?
Lars: Sim. Temos perto de 5 000 estudantes agora.
Jonathan: Uau, isso é incrível. Sim.
Lars: Sim, por isso em setembro houve um... um desafio de código comunitário em setembro, organizado pelos developer advocates da SAP. Para tentar trazer pessoas para a plataforma, experimentar alguns exercícios com o que chamamos tabelas internas. Noutras linguagens, estas são tipicamente arrays, mas nós chamamos-lhes tabelas internas, e tabelas internas aninhadas, que tipicamente se chamam arrays de duas dimensões, noutras linguagens de programação.
Jonathan: Sim.
Lars: Por isso tivemos muitos novos estudantes com isso. E também recebemos muito feedback e bugs e issues no GitHub. E isso é também uma coisa a que não estamos nada habituados no mundo ABAP. Colaborar entre várias organizações. Partilhar algum código no GitHub não é algo muito típico na comunidade.
Jonathan: É só porque as pessoas... tem sido muito isolado, no sentido de esta empresa fazer a sua coisa e depois outra empresa faz a sua. E por isso os programadores não falam muito uns com os outros. Estão no seu contexto específico e a partilha e a colaboração são um pouco menores, ou porque é que é assim?
Lars: Também se deve à natureza de um sistema SAP, porque é um sistema padrão. Consegue fazer tudo por ti, por isso tipicamente, quando ajudo clientes, é porque o cliente precisa de algo especial.
Jonathan: Sim.
Lars: E é algo especial de acordo com aquilo que torna o negócio deles único. Por isso é provavelmente algo que outros clientes não podem usar e que também não usariam, porque esse cliente é único de uma forma diferente de outro cliente. Mas está a evoluir uma comunidade de código aberto que partilha código, mas é tipicamente ao nível de utilitários. Utilitários, coisas como registo e tratamento de erros ou algo assim. Mas vai lá chegar. Leva é mais de cinco anos no mundo SAP para qualquer coisa.
Jonathan: Sim. Só para tudo começar a ganhar essa tração. Então, isso era uma das coisas que perguntamos a todos os que vêm ao programa, e eu... deves ter visto o documento que te enviei, mas nós... costumamos perguntar às pessoas qual é a única opinião ou perspetiva que defenderias e em que não cederias no mundo da tecnologia? Ou tipicamente, qual é a única barricada por que morrerias no mundo da tecnologia, para garantir que aquela coisa se mantém para sempre e sempre, e pode ser tão. Pateta como "eu escrevo sempre a minha lógica depois do meu CSS", se estiveres no frontend. Ou pode ser realmente trivial ou pode ser algo como "nunca vou usar o GitHub", por exemplo. Podia, mas só tens de ser capaz de argumentar ou defender, apresentar o teu ponto. Pensado. Mas qual é essa única coisa, essa única opinião que tu
Lars: Uma. Uma. Uma opinião
Jonathan: Está bem. Posso dar-te duas. Posso dar-te duas. Sim. Três. Está bem. Três. Podes ter três opiniões, porque sei que as pessoas da técnica não têm opinião nenhuma, tipicamente.
Lars: Sim. Acho que se as pessoas me descrevessem, às vezes tenho opiniões muito fortes e, sim. Por isso, uma das minhas principais opiniões é dizer "não, isto não vai ser possível. Faz outra coisa que se encaixe melhor na solução e na tecnologia." Por isso, dizer não a usar ferramentas como o Jenkins. Diz não ao Jenkins, é uma das ferramentas que gosto de mencionar que ninguém devia usar, certo?
Jonathan: Porquê? Porquê? Porque é que é assim? Qual é a razão para isso?
Lars: É muito mais fácil teres os teus pipelines junto ao código. Por isso, se... eu considero-o simplesmente obsoleto.
Jonathan: Está bem. Então é um nível de abstração que não precisa de ser acrescentado, se souberes o que estás a fazer.
Lars: Sim. E há outras ferramentas que fazem as coisas melhor. Outra ferramenta que gosto de dispensar é o Eclipse. No mundo Java, se recuarmos uns cinco, 10 anos, o Eclipse tem sido tipicamente usado para compilar código Java. Do meu ponto de vista, está-se no ponto em que o Eclipse já nem sequer é usado para compilar código Java. É tipicamente algumas grandes aplicações empresariais e coisas usadas no Eclipse e a construir o Eclipse, para o que ele não foi realmente pensado no início. Não há muitas outras formas de o fazer e há muitas outras ferramentas para escolher. Por isso o Eclipse está eclipsado.
Jonathan: Está bem. Sim, gosto disso. E vou dar-te mais uma opinião. Qual é a outra, a terceira opinião,
Lars: Espaços em branco, ou será que são espaços em branco. Um dos meus projetos paralelos é análise estática para ABAP. E na verdade em ABAP é... temos muitas instruções diferentes, muitas formas diferentes de fazer indentação, maiúsculas e minúsculas em ABAP, e notação húngara, tudo. Sim. Ter... ter espaços duplos algures num texto é algo que me irrita mesmo.
Jonathan: É só porque desalinha tudo e é... é um pesadelo
Lars: Simplesmente tira-te do sério e da leitura, como ler um texto ou um pedaço de código. Oh, há dois espaços aqui entre... pronto, apanha-me desprevenido.
Jonathan: Ok, ok. Então, deixem-me... então Jenkins, vê os teus pipelines. Mantém-nos junto ao código. Eclipse. Não é necessário. E espaços duplos. Essas são três opiniões que te dei, que variam em gravidade, ao que parece. Não, isso é muito fixe. Não, isso é ótimo. E sim, acho que conseguiste lutar, manter a tua posição com elegância nessas.
Lars: E também, quando se fala de integração contínua, não transformes a integração contínua em espera contínua.
Jonathan: Ok, então fazes push de código e ele fica ali à espera de ser revisto durante uma... É isso que tu
Lars: O programador recebe o feedback depressa, em vez de ficar à espera de uma hora, duas horas, por qualquer feedback.
Jonathan: Está bem. Então é porque, sistematicamente, é uma rede de segurança? É por isso que está lá? É só para pausar para que as coisas possam ser revistas, ou porque é que
Lars: Apenas má arquitetura.
Jonathan: Sim. Está bem. Está bem. Interessante. Está bem. Então, pergunta final para hoje. Espero que te tenhas divertido até agora, mas queria perguntar-te isto. Que recomendações tens para a comunidade do Exercism para esta semana? Se pudesses recomendar uma coisa para a comunidade, qual seria? Pode ser qualquer coisa. Come sushi. Vai saltar para um rio, o que for
Lars: Claro, experimenta o percurso. Isso é provavelmente
Jonathan: Dou-te essa de graça. Essa é de graça, ok.
Lars: Mas, claro, como já referi algumas vezes, lembra-te de te divertires. Tem de ser divertido. Por isso, às vezes, mesmo que haja ideias estranhas, se for divertido, experimenta. Vê o que acontece. É isso que costumo dizer também na criação de projetos de código aberto. Salta para dentro, vê se é divertido ou não. Experimenta. Se não funcionar, tudo bem. Depois salta para a próxima festa, ou projeto de código aberto, ou linguagem.
Jonathan: Sim.
Lars: Porque há tantas coisas para fazer no mundo da tecnologia e fora do mundo da tecnologia, que não vale mesmo a pena se estiveres aborrecido o tempo todo.
Jonathan: Sim, não, claro. Não, isso faz uma boa recomendação. Então, se alguém aí fora quer divertir-se no mundo da tecnologia... Por último, muito obrigado pelo teu tempo hoje. Agradeço mesmo. Fica por aqui enquanto eu, quando parar a gravação, falamos um pouco no fim. Mas só queria dizer um enorme obrigado. E quem estiver aí interessado, vai ver o percurso de ABAP. Faz alguns exercícios. Vê como te dás com ele. E se quiseres aprender algo que existe há algum tempo e está a voltar a crescer em importância e influência, pode-se dizer, porque sustenta muitas plataformas multinacionais centrais. Pessoas que reconhecerias, empresas que reconhecerias. Se quiseres aprender a via por dentro, então o ABAP vale definitivamente a pena ver. Lars, vamos colocar todos os links do programa que tenhas na descrição abaixo quando lá chegarmos. Mas, entretanto, muito obrigado e falo contigo dentro de momentos. Mas sim, obrigado outra vez. Agradeço.
Ouve, aprende e deixa-te inspirar pelos membros da nossa comunidade.