terça-feira, 18 de março de 2008

Apostila e Exercícios: Porque a Informática existe?

Porque a informática existe? (Parte 1)

Muitas pessoas me pedem que conte, em artigos, um pouco da história da informática. Adianto que não sou historiador, porém posso abordar assuntos interessantes e indicar fontes valiosas de pesquisa. Escreverei, pois, artigos referentes ao tema. Como critério de seleção, pretendo citar apenas as personalidades e os respectivos assuntos que são pouco citados nos cursos técnicos de informática, sem preocupação com a cronologia.

Informo que estes artigos serão intercalados com outros, de outros assuntos. Desta forma, os artigos deste tema serão sempre "Por que a informática existe? (PARTE x)". Ao final de cada artigo sugiro que o leitor reflita, visando responder à pergunta título.
Lá vai.

Quem foi o pai da informática? Quando ela começou? De onde ela veio? Quem é ela?
Estas perguntas parecem àquelas perguntas da filosofia, não é mesmo? Será que a informática tem alguma ligação com a filosofia?

Em última análise, todas as ciências derivam da filosofia (a mãe de todas as ciências) :
"FILOSOFIA (amor ao conhecimento ou à sabedoria) - O estudo das características mais gerais e abstratas do mundo, e das categorias com que pensamos; mente, matéria, razão, demonstração, verdade, etc. Em Filosofia são os próprios conceitos através dos quais compreendemos o mundo que se tornam tópico de investigação. A filosofia de uma disciplina não procura resolver os problemas desta disciplina, mas antes estudar os conceitos que estruturam o pensamento em tais disciplinas, e tornar claros os seus fundamentos e pressupostos." - BLACKBURN, 1997

Se formos voltando no tempo, alguns expoentes da informática podem ser citados, : Bill Gates, que transformou a informática em algo simples de usar; Linus Torvalds, que "inventou" o software livre; Chris Gane, que transformou o desenvolvimento de sistemas em algo estruturado e metodologicamente descritível (embora alguns defendam que foi Tom de Marco); Wirth; Yourdon; C. J. Date; Rumbaugh; Palmer; etc...

Mas, o que todos estes autores têm em comum é o pensamento cartesiano. A forma de pensar que Descartes descreveu em sua obra, principalmente em Discurso do método, no século XVII (veja DESCARTES, 1996). A partir de Descartes, o pensamento racional tomou força, estabelecendo-se como uma linha de desenvolvimento.

Porém, os expoentes citados talvez não existissem, se não fosse o aparecimento de um inovador, um cientista excepcional chamado Alan Turing (1912 - 1954). Por uma destas peças que a vida nos prega, Turing, brilhante e contestador, após contribuir para que a informática se estabelecesse como ciência, morreu prematuramente, envenenado (especula-se suicídio), após ingerir uma maçã com cianureto de potássio. Neste caso as semelhanças com Socrates, creio eu, não são mera coincidência (recomendo que assistam ao filme "Enigma").

De Turing ficou, entre outras coisas : a "Máquina de Turing" e o "Teste de Turing". Os quais recomendo para uma leitura mais detalhada.

Estamos apenas no começo....
Escreva para mim – portella@rafrom.com.br
Ricardo Portella.
Bibliografia:
BLACKBURN, Simon. Dicionário Oxford de filosofia. Rio de Janeiro : Jorge Zahar editor, 1997
DESCARTES, René - Discurso do método. São Paulo : Martins Fontes, 1996

Porque a informática existe? (Parte 2)

Mas a informática começou como informática?

E a cibernética?

A palavra "cibernética" foi usada por Ampère com referência a ciência política. Mais tarde Norbert Wiener [1] a utilizaria para descrever o processo de receber e utilizar informações, o ajuste às contingências do meio ambiente e sua pluralidade de informações das mais diversas formas e origens. Neste livro Wiener discorre sobre : Progresso e entropia; Padrões do comportamento comunicativo; Lei e comunicação; e reserva um capítulo espetacular para "algumas máquinas de comunicação do futuro". É importante mencionar que o livro foi escrito em 1950.

Foi a cibernética a origem da Tecnologia da informação? Deixo a pergunta para os que se aventurarem à descoberta...

E as máquinas, os computadores, quem começou tudo? Teria sido John Napier? ou Blaise Pascal? ou teria sido Gottfried Wilhelm Leibniz? Você já ouviu falar em algum destes nomes?

Blaise Pascal, talvez. A linguagem PASCAL creio que todos conhecem. Na minha opinião a homenagem está bem feita.

A história das linguagens começou pela necessidade que temos de dar ordens, claro. De que adianta ter uma máquina, se você não pode fazer com que ela execute as funções para as quais ela foi projetada?

É assim com o liqüidificador, com a TV (e o seu acessório indispensável - o controle remoto) e com o computador. A diferença é que o computador trata de informação, é uma projeção da nossa própria inteligência (já foi chamado até de cérebro eletrônico). Talvez seja por isso que ficamos tão irritados com as mensagens não solicitadas, pois tratamos estas mensagens como pessoais, na "nossa" máquina, no "meu" micro, meu pedaço, meu apêndice, meu órgão sexual...

E pensar que tudo começou com uma máquina para somar números.

E a máquina de somar números também teve um pai : Charles Babbage.

Como todo pai, Babagge precisava de recursos para tocar seus projetos. Após tentar de tudo, conseguiu apoio da sociedade real, que o ajudou financeiramente em suas pesquisas. Mas Babagge queria mais e inventou o cartão perfurado (alguém já viu um?), inventou a memória e inventou a impressora.

Neste momento o modelo ENTRADA-PROCESSAMENTO-SAÍDA, que persiste até nossos dias, estava pronto.

Mas as idéias eram só idéias, até que ele conheceu Ada Augusta (Lady Lovelace), a mãe dos computadores, que o ajudou a implementá-las.

Ada tornou-se a primeira programadora, inventou a sub-rotina e o "GOTO" (salto incondicional) !!! E, tempos depois, virou linguagem de programação.

Em 1975, em um dos maiores clássicos da informática, Terrence W. Pratt, descreve em seu livro [2] as sete linguagens mais importantes da época : FORTRAN; ALGOL 60; COBOL; PL/I; LISP 1.5, SNOBOL 4 e APL. Ada não estava lá.

Escreva para mim – portella@rafrom.com.br
Ricardo Portella.
Bibliografia:
WIENER, Norbert. Cibernética e sociedade - o suo humano de seres humanos. São Paulo : CULTRIX, 1978
PRATT, Terrence W. Programing Languages - design and implementation. NJ : PRENTICE-HALL, 1975


Porque a Informática Existe (Parte 3)

Ada não estava lá, mas as linguagens se proliferaram e hoje são incontáveis...

Quem são os profissionais de informática?

O grande calo da computação é o software, se as máquinas não precisassem de software, a vida dos profissionais de informática seria uma beleza. Mas também seria uma beleza, e bem mais simples, a vida dos que precisam destes profissionais de informática.

Se existe uma lei na informática ela é: Quanto mais potente o computador, mais complexo é o software, pois a nossa capacidade criativa para encontrar novas aplicações e novas facilidades para as aplicações existentes é inesgotável...

Vamos voltar um pouco no tempo, ao tempo do mainframe. Naquela época, existiam os analistas, os programadores, os codificadores e os usuários. Os usuários queriam, os analistas entendiam, os programadores traduziam e os codificadores escreviam, em uma rota que saía do mundo real e chegava na máquina. As linguagens eram duras, o código era escrito manualmente e as interfaces eram paupérrimas. A rota era longa e cheia de problemas de comunicação, pois era uma transferência de “entendimento” atrás da outra, partindo de um profissional que dominava um ofício e chegando em outro que sequer sabia o que estava fazendo. O texto original era “entendido”, transformado em diagramas, que eram traduzidos em uma linguagem de programação, este código final ainda era, mais uma vez, traduzido (como ainda continua sendo) para um sub-conjunto que se utiliza apenas de zeros e uns para representar tudo o que se precisa, sendo esta última fase feita por um programa que também foi escrito da mesma forma, o compilador. É confuso e tem tudo para dar errado, concordam?

Nesta época, os analistas de sistemas eram considerados como “os que falam com o computador” ou “os que dominam a tecnologia mais difícil do mundo”. Os computadores eram caríssimos, enormes, precisavam de ambiente especial. O conhecimento que os analistas de sistemas tinham sobre os processos de modelagem e sobre o computador os tornavam metafísicos. Os analistas de sistemas procuravam entender o que o usuário queria e se entendiam errado, ou tinham alguma discordância, era mais fácil mudar a realidade do que convencer o analista de que o seu processo de entendimento estava errado e que as coisas não eram bem como ele tinha entendido. (isto soa familiar?).

Pode-se observar que a ênfase estava no conhecimento das técnicas de modelagem e análise dos sistemas existentes e na capacidade de síntese do analista em gerar um sistema novo (automatizado no computador). Lembro aqui a definição do termo análise e da definição do termo síntese que são, respectivamente “separação de um todo em seus elementos ou partes componentes” e “método processo ou operação que consiste em reunir elementos diferentes, concretos ou abstratos e fundi-los num todo coerente”. Neste momento me pergunto se o nome “Analista de sistemas” é o mais indicado para o profissional que constrói sistemas para computador. O que o leitor acha disto?

Nesta época, as estimativas para o tempo e o custo do desenvolvimento dos sistemas, eram imprecisas. Isto precisava mudar...

Escreva para mim – portella@rafrom.com.br
Ricardo Portella.
Bibliografia
DeMarco, Tom - Análise estruturada e especificação de sistemas, CAMPUS, 1989.
Stair, Ralph M. - Princípios de sistemas de informação: uma abordagem gerencial (2a. Ed.), LTC, 1998.
Yourdon, E., Constantine, L. - Projeto estruturado de sistemas, Campus, 1992.
Maffeo, Bruno - Engenharia de Software e Especificação de Sistemas, Campus, 1997.


1. Agora é a sua vez, pesquise na biblioteca, na internet, livros ou jornais, e escreva um artigo de no mínimo 15 linhas sobre a história da informática. Lembre-se de que é uma pesquisa e não uma cola, profissionais de informática devem ser dinâmicos e pesquisadores, e não copiadores.