“Falar” com computadores
Do correspondente de “Despertai!” no Japão
“NOVO SISTEMA DE COMPUTADOR CONVERSANTE”, dizia o anúncio na revista. Ri comigo mesmo ao imaginar uma pessoa conversando com uma máquina. Significava isso que o computador podia realmente manter uma conversação? De qualquer modo, que se poderia lucrar de se comunicar com uma máquina? As respostas que obtive dum amigo envolvido no campo de computadores foram muito interessantes.
Antes de mais nada, fiquei sabendo que a comunicação a que se refere o anúncio não é a do tipo vocal. Usualmente significa computação interativa (dar instruções ao computador e receber respostas imediatas) por meio de um vídeo ou de uma impressora em linha (diretamente ligada ao computador). Assim como a linguagem humana é para fins de comunicação, a “linguagem” do computador possibilita comunicação com o computador visando a solução de problemas. Essa comunicação com o computador diz a ele o que fazer e dá respostas mostrando o que tem sido feito.
O meio para dar instruções ao computador é chamado de “linguagem” de computador, ou de programação. Para “falar” com um computador, você terá de aprender uma das muitas linguagens de programação.
Linguagens de Programação
Segundo meu amigo, o conjunto de instruções fornecidas a um computador para realizar alguma atividade específica é chamado de programa. Uma moderna linguagem de programação é um conjunto de caracteres e palavras que, no ideal, é similar ou bem próximo à linguagem humana, que pode contudo dar instruções ou transmitir dados ao computador.
Embora a história das linguagens de programação ainda seja curta, tendo cerca de 30 anos, já existem mais de 1.000 linguagens de programação e mais vêm sendo desenvolvidas diariamente. Isso se deve aos muitos empregos que se faz do computador e o progresso na tecnologia de computadores.
Os nomes dados a essas linguagens, quer para descrever suas características, tais como FORTRAN (“FORmula TRANslation”), BASIC (Código de Instruções Simbólicas de Caráter Geral para Principiantes), COBOL (Linguagem Orientada para Aplicações Comerciais), quer para simplesmente identificá-las, tais como PL/1 (Programação de Linguagem 1) e APL (Uma Programação de Linguagem). Algumas, como a FORTRAN, são projetadas para usar termos matemáticos e são mais adequadas para cálculos científicos, ao passo que COBOL usa o inglês comercial e é uma linguagem orientada para aplicações comerciais. A PL/1, que é a linguagem principal usada na sede da Torre de Vigia em Nova Iorque e na sua congênere no Japão para seu sistema editorial, é uma linguagem geral adaptável à maioria dos campos.
Assim como há regras que governam a gramática e a pontuação das linguagens humanas, cada programação de linguagem tem seu próprio conjunto particular de regras, ou sintaxe. Para que o programa seja entendido pela máquina, é necessário aderir às mesmas.
Como sabe qualquer pessoa que já aprendeu uma língua estrangeira, eliminar apenas uma parte necessária da linguagem, ou pronunciar mal uma palavra, pode ser desastroso. É também assim quanto à programação de linguagens. Para que eu entendesse esse ponto, foi-me recomendado lembrar o lançamento da nave espacial Mariner I, alguns anos atrás. Um programa FORTRAN para o lançamento do foguete continha um erro de programação, a omissão de um hífen. Em resultado, o foguete de multimilhões de dólares deixou de orbitar! Que custoso prejuízo por causa de um único erro!
Outro ponto que me foi enfatizado diz respeito ao que um computador pode e ao que não pode fazer. O computador não tem criatividade — não pode produzir algo novo a menos que tenha os componentes necessários alimentados nele. Assim, se um programa disser ao computador APANHE ARQUIVO 1, ADICIONE-o ao ARQUIVO 2 e daí IMPRIMA-o, mas se a entrada do arquivo 1 nunca tiver sido feita no computador, a tarefa não poderá realizar-se e uma resposta como “ARQUIVO NÃO NA BIB” provavelmente apareceria para informá-lo de que o arquivo não está na BIBlioteca.
A entrada dessas respostas também é feita com antecedência. Assim, tanto as perguntas como os meios para responder, toda a informação dada e recebida na comunicação com computadores, são planejados pelo homem. Faz lembrar-me o texto de uma peça, com todas as entradas, as saídas, os diálogos, as deixas para falar e os atores escritos nele. O que quer que o computador faça, precisa ser pré-programado.
A essa altura fiquei sabendo de outra peculiaridade da linguagem do computador. Não importa quão eficiente você se torne, sempre precisará de um tradutor para que o computador lhe entenda. Não é falha do homem, mas deve-se às limitações da máquina. Ela somente entende informação na forma de 1 e 0, de modo que você precisa de um programa de tradução para pôr as instruções do programador nessa forma. Assim, existem realmente duas cópias do programa envolvido — aquela que o programador grava, chamado de programa fonte, e uma cópia traduzida, que a máquina pode executar. O computador então realiza suas operações usando informações que entende. Pode então responder ao usuário através de um vídeo ou de uma impressora por traduzir sua resposta em caracteres que a pessoa pode ler.
O programador interessa-se especialmente pela programação da linguagem fonte. É aquela na qual homens gravam programas e precisam conhecê-la bem para produzirem um bom programa. As linguagens da máquina são instaladas no computador e preparadas pela empresa que os produz.
Quem Pode Aprender
Um fator importante quanto a se você aprenderá ou não uma linguagem de programação e se tornará eficiente no seu manejo, é seu interesse. Os que aprendem melhor são os que têm interesse em computação e seus campos relacionados.
Outro requisito amiúde apregoado envolve a idade. Quanto mais jovem você é, tanto melhor, é o parecer usual. Isso se dá porque quanto mais envelhecemos tanto mais arraigados se tornam os nossos padrões de raciocínio e tanto mais difícil para se adaptarem.
Pensava-se no passado ser essencial que os que desejassem entrar no campo da programação tivessem bons conhecimentos de matemática, mas esse não é o caso hoje, a menos que seja para programar material tipo matemático. De fato, uma pesquisa alguns anos atrás mostrou que um dos mais eficientes programadores da IBM do Japão era formado em Ciências Humanas. Contudo, o tipo de mente que rapidamente põe coisas em ordem lógica com alto grau de exatidão é necessário à boa programação.
Como Aprender
Há muitos recursos hoje para se aprender as diferentes linguagens de programação. Assim, a pessoa pode, sozinha, fazer muito para aprender. Por um lado, as próprias linguagens se tornam cada vez mais parecidas à linguagem falada, destarte mais fáceis de usar e aprender. Também, muitas empresas de computação têm publicações, que podem ser encomendadas, e que ensinam as técnicas e linguagens de programação básicas. Algumas escolas oferecem cursos de programação e em algumas bibliotecas há um número sem fim de livros sobre o assunto.
Há, porém, algumas desvantagens em aprender exclusivamente por conta própria. Como na linguagem falada, sempre existe a possibilidade de pegar maus hábitos, difíceis de se corrigir mais tarde. Também, ter um bom exemplo de quem aprender é uma grande ajuda para desenvolver habilidade. Outro ponto que deve ser considerado é que as empresas de computadores constantemente atualizam e acrescentam novas técnicas. Assim, apenas aprender uma linguagem de programação não garantirá que poderá ser usada como é.
Vale a Pena?
Vale a pena o tempo empregado em aprender cabalmente uma dada tarefa e daí programar uma máquina para executá-la? Os fatos respondem que Sim. Planejar e digitar um programa toma tempo, é verdade. Mas, uma vez que o programa começa a operar, o computador pode funcionar mais rapidamente que os homens, alguns computadores sendo capazes de realizar mais de 200 milhões de operações básicas por segundo! Também, uma tarefa executada no computador é mais exata do que se tivesse sido feita por muitos homens diferentes. Todo o tempo poupado de se realizar operações repetitivas livra os homens para realizar tarefas mais significativas. Por essas razões muitas empresas computadorizaram seu serviço, abrindo assim oportunidades de emprego para programadores de computador.
Interessa-lhe “falar” com computadores? Aprender suas linguagens pode representar um interessante desafio.
[Foto na página 25]
100 centígrados são quantos em Fahrenheit?
1101 0100
Isso significa 212° Fahrenheit