Textos de Bernard Chazelle:
Lei de Moore deixará de funcionar por volta de 2050, por limitações físicas. De certa forma, uma boa notícia. Aí seremos obrigados a olhar os algoritmos, a nos preocupar com eficiência, a (re-)descobrir que se pode fazer muito mais com o que temos de potência de computação. Isto ao invés de desperdiçar memória e ciclos de CPU. Conhecido meu, brilhante desenvolvedor de software, fez um ERP que roda em máquinas desktop comuns consumindo no máximo 1 a 2% de CPU...
Computação, segundo Chazelle, é o ponto de encontro de 3 grandes idéias: universalidade, dualidade, auto-referência. Mais os conceitos de tratabilidade e o revolucionário paradigma do algoritmo.
Vamos analisar. Em itálico.
Universalidade: num computador há dados e programa, ambos representados como números (0 e 1). Há o contrôle, que lê o programa e executa suas instruções cegamente. O contrôle não sabe o que faz. Executa instruções. Só.
A idéia de separar programa (software) de contrôle (hardware) foi do Turing.
Fundamental é também a idéia de que programa e dados são a mesma coisa. Levada adiante por Von Neumann em sua máquina, que é o atual computador. Na mesma memória vão programa e dados.
Dualidade: sequências de 0 e 1 podem ser interpretadas de duas maneiras. Como forma, dados, ou como conteúdo, programa.
Isso do ponto de vista do contrôle.
Auto-referência: o programa pode referir a si próprio. Analogia aqui com DNA.
Isto é recursividade.
Tratabilidade (tractability*, fácil de tratar, de manejar, de persuadir): verificar se um teorema é válido é mais fácil do que provar o teorema. Problema P=NP. De verdade não sabemos (2010).
Assim como não sabemos se um problema é "programável", mas em geral achamos que sim, e se sua "programação" será simples ou não. Na prática, em problemas do dia a dia, digamos, administrativos, achamos que sim.
Algoritmo: "programa com cara humana", diz muito bem Chazelle. E diz mais: "Um algoritmo é, em essência, uma obra de literatura". Finaliza: "As ciências quantitativas do século XXI (genomica, neurobiologia por exemplo) completarão o destronar da fórmula cclocando o algoritmo no núcleo (core, coração) do modus operandi. O pensamento algorítmico causará provavelmente a mudança de paradigma mais radical (disruptive) na ciência desde a mecância quântica".
Muito mais que a mudança da mecânica quântica. O algoritmo, a máquina universal, são uma revolução no mínimo tão grande quanto a Renascença, quanto a Revolução Industrial, quanto o surgimento da Ciência Moderna. Rivalizam com o surgimento da Matemática.
Idéias semelhantes, importância do algoritmo na ciência moderna, em versão mais light: All Science is Computer Science no New York Times
* tractable:
1. Capable of being easily led, taught, or managed; docile; manageable; governable.
2. (obsolete) Capable of being handled or touched; palpable; practicable; feasible.
3. (mathematics) Sufficiently operationalizable or useful to allow a mathematical calculation to proceed toward a solution.
4. (computer science) Of a decision problem, algorithmically solvable fast enough to be practically relevant, typically in polynomial time.
(Wiktionnary)
Interessantes considerações sobre re-uso e linguagens funcionais em Programming for a culture approaching singularity (Luke Palmer):
ResponderExcluirhttp://lukepalmer.wordpress.com/2010/07/22/programming-for-a-culture-approaching-singularity/
Com referência a Kurzweil, The Law of Accelerating Returns.
http://www.kurzweilai.net/the-law-of-accelerating-returns
Kurzweil fantasiou e generalizou demais, a partir de um modelo simplório do cérebro. Pesquisas mostraram que a quantidade de genes é diferente do que se pensava, e que não é tão diferente entre o homem e outros animais (http://www.agencia.fapesp.br/materia/12804/motor-da-evolucao.htm). Também mostraram que há tantas células gliais quanto neurônios e que elas não são puramente estruturais, devem ter uma função. Enfim, sabe-se muito pouco, não se tem um modelo seguro de funcionamento do cérebro.
A idéia de singularidade não é ruim, mas Kurzweil chega a conclusões grandiosas de forma fácil demais. O artigo de Chazelle é de certa forma uma resposta a Kurzweil. Parte da lei de Moore, mas com uma visão crítica da lei de Moore. Aponta uma singularidade, quando se esgotarem as possibilidade físicas do chip de silício. E dá a resposta, que está em outro lugar e outro plano: o algoritmo.
Luke Palmer, feitas suas considerações, volta a programação funcional. Uma boa direção para o problema do re-uso.
In The Algorithm: Idiom of Modern Science,
ResponderExcluir"Abstraction is the ability to choose the zoom factor"