sábado, 7 de agosto de 2010

As pessoas, e a mania da "facilidade"...


Hoje em dia, e desde sempre, as pessoas têm a mania de fazer tudo pela metade, desde que, esteja feito.
Muitas não se preocupam, com o: se está bem feito, se funciona na maioria dos casos estranhos, e se, quando se estraga, desde que seja internet e computador, se deixa continuar a funcionar ou não.

O que as pessoas comuns quer, é carregar num botão, e aparecer tudo feito!
O problema é que, de modo a que esse tal "botão" funcione, alguém tem de o programar.
Outra coisa, é em relação aos programadores e ao seu tipo de programação.
Há uns que programam até a coisa ficar +/- a funcionar, há outros que programam a coisa em condições.
Como é o caso de programas para gestão de "point-of-sale", postos de venda.
Em que todos os campos têm de ser verificados, antes de qualquer dado ser guardado.
Todos os erros têm de ser mostrados ao utilizador, através de um interface fácil e "apaziguador".
Assim como contornar possíveis erros dos utilizadores, como campos vazios e obrigatórios.
Ou datas inválidas.

Um dos casos que me mete "nojo" é o site de inscrição para as escolas.
Aceito e gosto bastante do site, e das funcionalidades.... simplesmente uma das funcionalidades importantes, escapou aos programadores do site.
Uma função que permite a inscrição nas universidades, para aquelas pessoas que só tem nota do 2º exame.
Se o meu código de activação, entregue no documento ENES, não é aceite por não estarmos na época correcta de inscrição para o pessoal com a nota do 2º exame, então também deviam permitir a inscrição das mesmas pessoas, mas colocar a inscrição em PAUSA!
Já que o próprio servidor reconhece o mês em que estamos, e reconhece o mês permitido do código... basta acrescentar mais 1 ou 2 campos na Base de Dados, e o assunto ficava resolvido.
Agora tenho de esperar 1 mês, só porque a merda dos professores de matemática não sabem fazer exames e só sabem é cortar nas perguntas?

Quando me dedico a qualquer tipo de projecto, desde que o mesmo seja disponibilizado ao público, tenho sempre o cuidado de o fazer da melhor maneira, para além de criar um interface fácil de perceber/utilizar.
Como o meu stôr de programação (Pascal/Delphi) me ensinou: "-- nós devemos programar para pessoas, como se elas fossem a coisa mais burra à face da terra!"
Já estagiei numa empresa de software ERP, e só o trabalho que tinha, para criar uma janela onde era permitido apenas a inserção de 2 valores, como por exemplo, dois nomes, demorava 2 dias de trabalho de programação.
Os testes tinham de ser exaustivos! Se um campo aparece-se em branco, tínhamos de mostrar uma mensagem de aviso, e focar logo de seguida o dito cujo. O campo não podia ter mais do que o número caracteres disponibilizado na base de dados. O código tinha de ser válido, e caso não fosse, tínhamos de mostrar outra mensagem de aviso. Para não falar, de que a própria base de dados estava encriptada.
Tinha de colocar em memória a base de dados daquela Y tabela. Verificar se o objecto existia, para não dar erro, verificar todos os botões de controlo: Adicionar, Apagar, Editar, Salvar, Imprimir relatório.
Verificar se os dados lidos estavam colocados nos campos certos, verificar se existiam mais espaços em brancos do propriamente letras nos nomes.

Para mim, grande parte das coisas, principalmente em informática, deveriam ser pensadas e testadas para todo o tipo de ocasião, problemas, e pessoas! É por isso que a Apple tem produtos tão simples, práticos, e com muito poucos erros. Pois os erros existem! E quando se trata de um programa com mais de 100 000 linhas de código, os problemas tornam-se grandes. Dependerá da complexidade do programa.

Dá trabalho, mas sempre temos uma coisa que funciona para quase qualquer tipo de situação.
Óbvio que preferimos uma coisa simples, a uma coisa complicada. (ver imagem)
Só que para que vocês usufruam de algo, muita pesquisa e desenvolvimento é feito para atingir a "perfeição".
As pessoas têm a mania da facilidade.
Querem tudo feito, e sem fazer nada.
Se for algo, que me facilite o trabalho e o tempo de espera, aí sim, também concordo.
Como acontece com a Microsoft. Qualquer pessoa que nunca tenha mexido num computador, bastará, com alguns dias de aprendizagem, mesmo sozinho, compreender a sua utilização. E isso acontece, porque o Sistema Operativo, faz quase tudo pela pessoa.
O SO diz que preciso de um Anti-virus, diz que preciso de desfragmentar, que preciso de libertar espaço e ficheiros antigos do disco, para conseguir mais espaço e performance, que preciso de aumentar a memória RAM, ou o disco, etc.
Não digo que a culpa é do programa, ou também dos programadores, a culpa é das pessoas que utilizam esses programas! Acabam por ficarem sentadas, sem nunca precisar de fazer nada.
Acabando sempre, por nunca perceber o esforço envolvido.
Ou não enviar qualquer feedback ao criador.

Se as coisas podem ser bem feitas à "primeira vez", então é fazer por isso!
Aposto que a NASA, nunca envia nada sem testar primeiro, em qualquer situação, o material que leva para o espaço ou até mesmo para a Lua. Testa o material com tempestades de areia, gelo, calor extremo. As janelas são construídas de forma a maximizar o campo de visão, e a diminuir o espaço de exposição da nave. Só temos de aprender, nós programadores, a desenvolver as coisas para qualquer tipo de situação.
Até para quando falha a luz, e no momento se está a adicionar um registo na BD!
Ou para quando falta uma dll importante, ou prevenir a leitura de um ficheiro inexistente.
Verificar o espaço do disco, antes de mover ou copiar qualquer ficheiro.
Verificar se determinado objecto existe, ou se uma variável importante se encontra vazia como é o caso das varáveis de texto.

É pena, é que 99% das pessoas que me "seguem", não percebem um chavo de programação. =/
Porque seria muito giro fazer um debate sobre este tipo de situações.
Mas também podíamos fazer um "debate", para as pessoas que não percebem tanto, sobre a maneira de como as coisas/ software/ programas são feitos, e apresentados, a sua facilidade e etc.

---------------------
Aqui fica um site com 10 piadas para programadores.
http://www.makinggoodsoftware.com/2009/09/01/programmers-top-10-sentences/

2 comentários:

  1. Welcome to Portugal! O país onde se quer tudo sem fazer nada que assim é que é bom. (:

    ResponderEliminar
  2. Só conheço java.
    Às vezes o problema não está em entender o problema, mas sim como traduzir isso na linguagem pedida. Foi uma das maiores dificuldades que tive ao longo do ano lectivo.

    ResponderEliminar