Pequena entrevista com Antonio Geraldo da Rocha Vidal

Antônio Geraldo da Rocha Vidal é autor de uma das obras mais cultuadas sobre Clipper – tecnologia dominante para desenvolvimento de software no final da década de 1980 e início da década de 1990 – escritas no Brasil. Ele é uma das maiores referências para desenvolvimento de software para toda uma geração de profissionais.

Neste post, compartilhamos uma entrevista onde ele, gentilmente, compartilha suas impressões sobre o que mudou desde a época do Clipper, práticas de engenharia, indicações e tendências. Agradecemos a ele pelo tempo dedicado a responder nossas perguntas.

Questão 1 – O senhor influenciou uma geração de programadores no Brasil com seus livros sobre Clipper. Quais foram, em sua visão, as mudanças mais relevantes na prática de desenvolvimento de software desde aquela época?

Vidal – Quando escrevi os livros sobre Clipper não tinha ideia de que poderia influenciar tantas pessoas como você afirma, mas se for verdade, fico muito feliz. Naquela época eu estava fascinado com a tecnologia, pois havia percebido que os microcomputadores e o Clipper eram ótimas ferramentas para solucionar quase qualquer problema de sistemas de informação. Compartilhar essa visão foi a principal motivação para escrever os livros. Esta visão permanece até hoje, mas as ferramentas certamente evoluíram muito e a ampliaram ainda mais.

Na época do Clipper, início da microinformática e bem antes da Internet, havia poucas ferramentas e poucas possibilidades para conhecer as que existiam. Atualmente ocorre o oposto, há inúmeras ferramentas, ilimitadas possibilidades de conhecê-las e novas surgem todos os dias. Esta talvez seja a primeira grande mudança, mas traz um problema: saber quais são as “melhores”. Tenho respondido esta pergunta para alguns colegas com a seguinte frase: “Não desenvolvemos software, mas sistemas de informação, para atender as necessidades de pessoas (usuários). As melhores ferramentas (ou tecnologias) são aquelas que nos dão maior capacidade para atendê-las com rapidez, qualidade, segurança e constante inovação”.

A segunda grande mudança envolve os recursos que as tecnologias passaram a oferecer para o desenvolvimento de soluções de software. Naquela época tínhamos que “nos virar” com o que tínhamos. Exemplificando, uma vez tive que desenvolver um programa em assembly (código de máquina) para integrá-lo com uma aplicação que precisava realizar cálculos financeiros com exponenciação. Atualmente tenho utilizado algoritmos prontos de aprendizagem de máquina para desenvolver soluções de análise de dados, que alguns chamam de “inteligência artificial”. Naquela época, aprender e utilizar assembly levou pouco tempo, mas atualmente, aprender e utilizar machine learning não leva.

A terceira grande mudança (vou ficar apenas com três antes que desistam de ler a resposta) está relacionada à “resistência dos usuários”. Naquela época o desenvolvedor tinha que convencê-los de que valia a pena investir e depois utilizar o aplicativo ou sistema desenvolvido. Atualmente os usuários demandam e esperam, com razão, que os aplicativos sejam “inteligentes”, os sirvam de forma “adaptativa” gerando uma compensadora “experiência de uso”. Hoje, inversamente, temos a “resistência dos desenvolvedores”, pois tem muita dificuldade em atender a enorme demanda e expectativas dos usuários.

Houve muita mudança, mas para melhor. Há cada vez mais ferramentas ou tecnologias, mais recursos disponíveis e mais demandas e expectativas de usuários a serem atendidas. Essas mudanças me mantêm até hoje desenvolvendo software com muita satisfação.

Questão 2 – Em uma das passagens de seu livro sobre Clipper Summer 87 o senhor dizia que código ruim não se remenda, se reescreve. Mantém essa opinião até hoje?

Vidal – Mantenho essa opinião, mas não só em relação ao código, pois manter e consertar coisas ruins em geral não vale a pena, é sempre preferível manter e fazer coisas boas. Porém a longa experiência me mostrou que nem sempre é possível manter essa opinião. Procuro equacionar este dilema considerando que há dois tipos de código: o “vagabundo” e o “trabalhador”. O código “vagabundo” é aquele necessário, mas de pouca importância para a aplicação. Portanto, se estiver funcionando ou for fácil remendá-lo, deixe ele como está, pois não vai fazer muita diferença; se ele puder ser gerado automaticamente melhor ainda. 

Já o código “trabalhador” é aquele que trabalha para você, ou seja, é aquele que realmente faz o serviço que a aplicação precisa fazer e que o valoriza como desenvolvedor, pois é ele que atende as necessidades dos usuários, pode ser reutilizado e evoluir. Portanto, hoje eu diria, se for código trabalhador, não remende, reescreva e aprimore para evoluir. Se for código vagabundo e for possível remendá-lo ou gerá-lo automaticamente, não perca tempo com ele, invista no código trabalhador.

Mas alguém ainda poderá perguntar, como saber qual é o código vagabundo e qual é o trabalhador. Conhecendo bem objetivos da sua aplicação e as necessidades dos seus usuários você poderá identificá-los com facilidade.

Questao 3 – Naquela época o senhor elogiava a praticidade de recursos do Clipper, como a função (não lembro o nome) que permitia edição de dados em uma espécie de Grid? Como percebe a evolução dos frameworks e facilidades para programação hoje em dia?

Vidal – Confesso que eu tive que recorrer ao meu livro para relembrar do nome da função DBEDIT() a que você se referiu. Naquela época eu já era fã dessa função pelos recursos que apresentava para atender os usuários com pouco esforço de programação. Hoje não desenvolvo nada sem a utilização de frameworks e bibliotecas especializadas. Elas são essenciais e são feitas para facilitar a programação e aumentar a nossa capacidade de atendimento ao usuário. Percebo essa evolução como sendo o resultado do esforço de milhares de desenvolvedores de software e cientistas da informação que incorporam o seu conhecimento nos recursos que a programação de hoje em dia nos oferece. Portanto, não “reinvente a roda”, mas descubra e aproveite ao máximo todos esses recursos. Porém, isso não é tão fácil.

Na época do Clipper 5.0, para apresentar, exemplificar e aplicar as facilidades de programação que ele trazia, tive que escrever um livro com 4 volumes. Hoje, se fosse possível, teria que escrever uma enciclopédia com dezenas de volumes. Mas isso é passado, hoje todo esse conhecimento está acessível na Web. Quando tenho uma dúvida ou necessidade de algum recurso para resolver um problema de programação logo penso, “não sou o único a ter este problema, muitos outros desenvolvedores já devem ter tido problema semelhante e encontrado e compartilhado soluções para resolvê-lo”. Procuro então na Web e logo acho diversas dicas, tecnologias, recursos e boas soluções. Modesta e timidamente, às vezes até consigo compartilhar as minhas.

Questão 4 – Que recomendação o senhor daria para programadores hoje em dia. Algo que todos deveriam saber, mas que, por alguma razão, não sabem?

Agora você me colocou numa situação difícil, mas em vez de responder diretamente, contarei uma história:

Uma vez um aluno meu do curso de Administração de Empresas me disse que adorava programação e pediu que eu recomendasse um curso para ele fazer para se tornar um bom desenvolvedor de software. Eu pensei um pouco e depois respondi que talvez a maior parte do software aplicativo seja desenvolvida para apoiar a gestão de negócios das empresas. Sendo assim, ele já estava fazendo o curso certo. Entretanto complementei a resposta dizendo que o mais importante para ter sucesso não era propriamente saber como programar, mas sim, o que programar.

Em primeiro lugar é necessário entender o que os usuários (ou clientes) precisam. Sabendo isso ele deveria procurar estar sempre aprendendo tecnologias que o permitissem atendê-los com rapidez, qualidade, eficácia e segurança.

Questão 5 – Que conceito ou tecnologia, ignorou nos últimos anos e entende que não deveria ter ignorado?

Vidal -Tecnologia móvel, pois ainda não desenvolvi nenhum aplicativo para smartphones ou dispositivos móveis, apesar de serem os mais largamente utilizados. Minha estratégia foi aguardar que as tecnologias para desenvolvimento de aplicativos móveis evoluíssem e amadurecessem para, então, começar a desenvolver aplicativos para esta plataforma. Entretanto, hoje entendo que estou terrivelmente atrasado, não deveria ter esperado tanto tempo. Não sei se conseguirei recuperar este atraso, pois ao longo dos anos, depois de tanto esforço para utilizar tantas tecnologias, talvez esteja sem fôlego para conseguir utilizar mais essa. Tenho preferido investir nas tecnologias relacionadas a Analytics e machine learning, mas me arrependo de, até agora, ter “ignorado” as tecnologias móveis.

Questão 6 – O que está em sua lista de estudos agora?

Vidal – Há alguns anos estou me dedicando a análise de dados, ou Analytics, como tem sido mais conhecida esta área. Estou estudando, aplicando e ensinando algoritmos estatísticos e de aprendizagem de máquina, utilizando as linguagens e bibliotecas R e Python, mas há muitas outras. Estas tecnologias estão bem mais próximas da minha experiência do que as tecnologias móveis. Desenvolvedores com habilidade e competência em programação orientada a objetos e bancos de dados tendem a se sentir bem confortáveis com estas tecnologias, porém precisarão estudar bastante estatística e matemática.

Questão 7 – As melhores respostas geralmente estão associadas a perguntas que não foram feitas. O que acha importante compartilhar e que não foi questionado aqui?

Vidal – Pelo meu passado em Clipper, as perguntas anteriores naturalmente focaram a programação para o desenvolvimento de aplicativos. Mas acho importante compartilhar a importância da arquitetura e projeto de soluções. Não desejo sugerir ou discutir quais seriam as melhores abordagens, metodologias, técnicas ou ferramentas. Apenas gostaria de ressaltar que boas soluções em tecnologia, independentemente de sua abrangência ou porte, dependem do entendimento do problema, de uma boa concepção arquitetônica para resolvê-lo, de um criterioso projeto para implementar a solução e da seleção das ferramentas adequadas para cada caso. [tweet]Nessa nossa fascinante área da tecnologia da informação o improviso geralmente não funciona bem.[/tweet]

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Nelson Seixas de Souza
Nelson Seixas de Souza
2 anos atrás

Esses livros fixeram parte da minha vida no começo profissional minha primeira linguagem quem aprendi e trabalhei foi o Clipper.
Faço menção honrrosa ao mestre Antonio Vidal pela essas duas obras que foram um marco no início dos anos 90.

Alexandre Santos
Alexandre Santos
2 anos atrás

Tomei a liberdade de divulgar o link do artigo no Fórum Clipper On Line:
http://www.pctoledo.com.br/forum/viewtopic.php?f=5&t=26462

Last edited 2 anos atrás by Alexandre Santos

AUTOR

Elemar Júnior
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas e profissionais a gerar mais resultados através da tecnologia.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquivo

Pós-pandemia, trabalho remoto e a retenção dos profissionais de TI

CTO Consulting e Especialista em Execução em TI
2
0
Queremos saber a sua opinião, deixe seu comentáriox
Oferta de pré-venda!

Mentoria em
Arquitetura de Software

Práticas, padrões & técnicas para Arquitetura de Software, de maneira efetiva, com base em cenários reais para profissionais envolvidos no projeto e implantação de software.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

Pequena entrevista com Antonio Geraldo da Rocha Vidal

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Pequena entrevista com Antonio Geraldo da Rocha Vidal

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?