Páginas

Showing posts with label computer. Show all posts
Showing posts with label computer. Show all posts

Friday, January 6, 2012

Some Computer Science Terminology

[Este post é em inglês. Se não entender, use um tradutor. Os links para a Wikipedia podem ser consultados em suas versões em português, portanto você ainda pode tirar algo proveito daqui.]

I wrote this as an email to someone special, but then I thought it could be shared here.
It is simply a few links and comments for topics we were talking about one night... you might get interested as well -- and feel free to join the conversation.

--

Hello dear reader!

Words in bold are terms that are interesting to be familiarized with, IMHO.

Context
(Additional term linked above: State http://en.wikipedia.org/wiki/State_(computer_science))


Environment
Note that in Scheme an environment is a first-class object, which means it can be assigned to a variable, it can be passed as argument, it can be used just like a number or string, etc etc.
Note also how Common Lisp and Scheme (and most other programming languages that I am familiar with and that I can think about now) differ in number of environments. CL is said to be a Lisp-2, while Scheme is Lisp-1. It means that Scheme has only one lexical environment containing all functions and variables, while CL has two distinct environments, one only for functions and another, independent one, for variables.
You can also think of the terms scope and namespace, which can appear to play a similar role in several languages.


Turing Machine
Have in mind how little you need to have a computing machine (and think of what does it mean to "compute," by the way). Have in mind that the Turing Machine is not practical as a real computer, but is of fundamental theoretical importance.

(John) von Neumann

Sunday, August 17, 2008

A invenção do computador

Esse foi o tema do texto escrito por Pierre Lévy que li nesse fim de semana.
A história é razoavelmente longa, mas certamente poderia ser uma coletânea de livros se assim desejado.

O computador nasceu no período de guerra, e, como as bombas nucleares, serviu para o mal, para aterrorizar e destruir. Todavia, o conhecimento neste momento adquirido é o que garante o bem-estar, o retardo indefinido do próximo conflito mundial, e que multiplica nossos poderes e inteligência.

O desenvolvimento de máquinas que automatizam e aceleram cálculos precede a Segunda Guerra Mundial, logo esta não pode ser dada como tese única para o surgimento dos computadores. Estes não prosperaram nem no Japão nem na Alemanha, pois foram destruídos pela guerra. Foi ela que financiou projetos nos EUA, e por isso, antes de construir equipamentos de seus interesses, cientistas tiveram que produzir encomendas do governo orientadas a aplicações militares.

Apesar de a pesquisa militar ter contribuído para o desenvolvimento das primeiras calculadoras eletrônicas, a bomba atômica de urânio foi construída sem o auxílio de qualquer computador. Essa época favorável a invenções permitiu que teorias e objetos técnicos fossem repensados e então ganhassem novos fins não-militares.

A criação dos computadores não é creditada a ninguém em especial, mas sim a alguns homens que contribuíram para tal. Destaca-se Charles Babbage, Alan Turing e John von Neumann, todos eles matemáticos. Babbage construiu máquinas de calcular, inclusive introduzindo funções de memória, objetivando construir tabelas náuticas, astronômicas e matemáticas exatas, pois as que existiam na época eram tomadas de erros.

Turing foi mais um teórico, e não deu contribuições diretas para os computadores digitais, nem para a construção de autômatos concretos. Já von Neumann redigiu o primeiro documento onde se descrevem a disposição interna e os princípios de funcionamento dos computadores modernos.

A história dos computadores também pode ser descrita pela natureza dos materiais empregados em cada época. Primeiro as máquinas mecânicas, depois eletromecânicas, eletrônicas e, por fim, os computadores. A evolução na eletrônica se deu com o tubo de vácuo, originando o transistor e os circuitos impressos. Isso sem contar o desenvolvimento das áreas de linguagem de programação, software, dispositivos de comunicação e implicações sociais.

A invenção técnica do que é a informática deveu-se a uma sucessão de fatos desordenados e reutilizações, contrastando com as idéias de algoritmo ou de mecanismo predeterminado a que está associada.

A história da informática é uma espécie de meta-rede irregular na qual cada nó define e interpreta à sua maneira, em função dos seus fins, a topologia da mesma. Cada um reinterpreta o passado e projeta um futuro segundo suas vontades. Assim, nenhum precursor ou fundador tem pertinência relevante.

Comentários pessoais:

Pierre Lévy é um Tunisiano de 52 anos, residente no Canadá. Ele é conhecido por seus estudos sobre inteligência coletiva e sociedades baseadas no conhecimento. Lévy é um nome importante na “cibercultura”.

Notei que a invenção do computador não pode ser analisada a partir de uma visão simplista. Ela se deve a uma complexa mistura de fatos, estudos e invenções, englobando o aspecto social, técnico, científico e militar.

Lévy mostra como a guerra influenciou a tecnologia, e vice-versa, e isso me deixa num estado de dúvida. Será que para construirmos, evoluirmos, precisamos de tanto terror, tanta morte, tanta destruição? Não poderiam razões mais benéficas provocar inovações em grande escala? Parece que o homem precisa sofrer para, então, usar sua inteligência para o bem.

Há uma tabela comparativa que mostra o quanto a velocidade de processamento evoluiu com o surgimentos de novas máquinas. Enquanto um homem levaria mais de dois dias para calcular a trajetória de uma bala, um computador mecânico levaria apenas duas horas. Não obstante, o ENIAC levaria apenas três segundos, um valor impensável com a tecnologia do início do século XX.

Quanto um nome para destacar como o criador do computador, concordo com o autor no argumento de que não é possível identificar alguém que tenha idealizado e construído a máquina que usamos hoje, com propósitos bem definidos e sem utilizar-se de outros equipamentos eletrônicos previamente construídos. O computador claramente não é uma máquina que foi construída “from scratch”.