[Tradução] – WENDY CHUN, “SOFTWARE: A PERSISTÊNCIA DO CONHECIMENTO VISUAL” (2005)

tradução

Voltar – Sumáriovoltar


SOFTWARE: A PERSISTÊNCIA DO CONHECIMENTO VISUAL

WENDY HUI KYONG CHUN

Originalmente publicado em:  Grey Room 18, Winter 2005, pp. 26–51

Tradução: Ednei de Genaro

* *

image001

Fig.1 – Flip-flop de um master-slave clocked RS

            “Quando dados aparentemente insignificantes são analisados em relação a bilhões de elementos de dados, o invisível se torna visível” – Seisint[1]

       Em Êxtase da Comunicação, Jean Baudrillard argumenta que “não mais fazemos parte do drama da alienação, mas do êxtase da comunicação. E este êxtase é obsceno” porque “na bruta e inexorável luz da informação” tudo é “imediatamente transparente, visível, exposto”[1]. Embora extrema, a junção da informação (e tão logo da computação) com a transparência é largamente disseminada nos públicos em geral e acadêmicos, diante do medo da e pela propaganda por trás dos bancos de dados nacionais examinando a “sociedade de vigilância”. Tal junção está em evidente desacordo com as atuais operações de computação: para os computadores se tornarem máquinas transparentes, o fato deles computarem – gerar textos e imagens, mais do que mera representação ou reprodução do que existe em outro lugar – precisa ser esquecido. Mesmo quando estavam conectados aos tubos de vidro, os computadores não permitiam ver o que estava do outro lado, mas sim usar os tubos para mandar e receber pulsos de luz necessários para re-criar o referente (se algum existir). A atual proeminência da transparência em design de produtos e em discursos políticos e acadêmicos é um gesto compensatório. Levando em conta que nossas máquinas crescentemente leem e escrevem sem nós, que se tornam mais e mais ilegíveis, concluímos que não haverá mais garantia de conhecê-las (se um dia houve). A nós, os ditos usuários, cria-se a maior oferta para ver, para ler; ao computador – o dispositivo mais não-visual e não-transparente – a paradoxal promoção de mais “cultura visual” e “transparência.

      O software – ou, precisamente, a curiosa separação entre software e hardware – suscita um gesto compensatório. Ele perpetua certas noções de ver enquanto conhecer, de ler e legibilidade, que deveriam ter desaparecidas com o declínio da indexicalidade. Ele o faz imitando a ideologia e a crítica da ideologia, confundindo executável com execução, programa com processo, ordem com ação[2]. O software, embora programando linguagens que resultam de um sistema de gêneros de comando e de controle, disciplina seus programadores e usuários, criando um sistema invisível de visibilidade. O conhecimento do software é ao mesmo tempo ofuscante e revelador. Assim, tal como adverte Lev Manovich em The Language of New Media, os novos estudos de mídia precisam abarcar o software, não meramente adaptar a linguagem do software, mas examinar criticamente as limitações da “transcodificação” e do novo status do software como senso comum[3].

Materializando o imaterial

       Software é, ou deveria ser, um conceito francamente difícil. Atualmente o senso comum da ciência da computação sobre a definição de software expressa que é “um conjunto de instruções que acondiciona um computador a fazer tarefas específicas”. Enquanto um conjunto de instruções, seu status material é instável; de fato, quanto mais você disseca um software, mais ele se esvanece. O historiador Paul Ceruzzi compara isso a uma cebola, “com muitas camadas distintas de software em um núcleo de hardware”[4]. Esta estrutura acebolada, no entanto, é em si mesma um efeito de programação: um código usando outro programa de software; software e hardware (como genes e DNA) não podem ser fisicamente separados. O cientista da computação Manfred Broy descreve software enquanto “quase intangível, geralmente invisível, complexo, vasto e difícil de compreender”. Uma vez que software é “complexo, propenso a erros, e difícil para visualizar”, Broy argumenta que muitos dos “pioneiros” procuraram fazer “software mais fácil de visualizar e compreender, para representar os fenômenos encontrados no desenvolvimento de software a partir de modelos que explicitem as tarefas frequentemente implícitas e intangíveis de engenharia de software”[5]. Friedrich Kittler mais forçosamente argumentou que “software não existe”, uma vez que tudo se reduz a diferenças de tensão de significantes[6].

       Na década de 1940 software não existia, literalmente[7]. “Programação” envolvia uma tarefa humana de realizar conexões, configurar válvulas, e atribuir valores (“programação direta”), bem como a humana e maquínica tarefa de coordenar as variadas partes do computador. Em 1946 o programa mestre do ENIAC (o primeiro programa eletrônico geral de computador digital a ser projetado, construído e usado com sucesso) controlou uma sequência de ações a fim de solucionar um problema numérico[8]. Inicialmente, o ENIAC era reconectado a cada novo problema, de modo que, essencialmente, um novo ENIAC era criado toda vez que isto acontecia. Sua conversão em um programa de computador de armazenamento, em 1947 (em parte devendo a uma sugestão de John von Neumann) significou que os programas poderiam ser codificados via configurações de válvulas, nas quais corresponderiam a sessenta instruções armazenadas, mais do que cabos plugados. Esta mudança, compreendida como forma de abrir a programação para os cientistas em geral, diminuiu drasticamente o tempo necessário para a programação, enquanto aumentou o tempo para a computação. Hoje tais configurações intercambiáveis seriam chamadas de softwares, porque, com as linguagens simbólicas de programação, as configurações físicas (que, por exemplo, permitiram que um valor X fosse movido do local da memória Y para o acumulador) tornaram-se traduzíveis para uma gama de números lidos na memória do computador. Atualmente, os auxiliares “operadores” que manejavam os cabos e conexões do ENIAC (Kathleen McNulty, Frances Bilas, Betty Jean Jennings, Elizabeth Snyder, Ruth Lichterman, and Marlyn Wescoff) são vistos como os primeiros programadores.

       Linguagens simbólicas de programação e, pois, de softwares, como Ceruzzi e Wolfgang Hagen têm argumentado, não foram previstas. A emergência de linguagem simbólica de programação dependeu da percepção de que o computador poderia armazenar instruções numéricas tão facilmente quanto de dados, e que o próprio computador poderia ser usado para a tradução entre notações simbólicas e numéricas. Os programadores do EDSAC, um pioneiro (1949) computador de Cambridge, Inglaterra, foram os primeiros a usar o computador para a tradução entre um código mais humano de leitura (por exemplo, “A100” para “adicione o conteúdo do local 100 para o registrador”) e o que desde então é chamado de linguagem de máquina (mais do que código lógico). O armazenamento foi a chave para a emergência das linguagens de programação; contudo, como o estudo de John von Neumann revelou, o armazenamento não é suficiente: von Neumann, nome que caracteriza todos os modernos programas de armazenagem, também criou, com Herman Goldstine, uma notação semelhante para o EDSAC, admitindo que os funcionários teriam realizado a tradução[9]. Maior agenciamento de linguagem não vem a ser linguagem de programação de alto nível; um computador não é automaticamente uma máquina de mídia. De acordo com Hagen, “por décadas, a arqueo-estrutura da máquina de von Neumann não revelou que tal máquina seria mais do que uma nova calculadora, mais do que uma poderosa máquina para o trabalho mental, nomeadamente um novo meio de comunicação”. A mudança da calculadora para o meio de comunicação, Hagen assevera, deu origem em si mesmo a um “imperativo de comunicação” que:

cresceu na Guerra Fria, fora do econômico, fora da organização de trabalho, talvez fora da sedução numérica primitiva que as máquinas exercem, fora dos jogos numéricos, fora dos jogos com dígitos, dos espaços reservados, dos mecanismos, e de todo quid pro quo quase-linguístico da estrutura interior de todas estas origens[10].

image002

Fig.2 – Capitan Grace M. Hopper, 1976. U.S. Navy Photo (número NH 96945), Naval Historical Center, Washington, D.C.

image003

Fig. 3 – “Bug”, o primeiro computador, 1945. U.S. Navy Photo (número NH 96566-KN), Naval Historical Center, Washington, D.C.

Programação automática

           Programação automática, o que chamamos hoje programação, emergiu do desejo de reutilizar o código e granjear o computador em sua própria operação – isto é, de transformar instruções singulares em uma linguagem na qual o computador pode escrever. Tal como Mildred Koss, um antiga programadora UNIVAC, explica:

Escrever código maquínicos envolveu rígidos tediosos passos, desmembrando processos em instruções discretas, atribuindo específicos locais de memória para todos os comandos, e gerenciando os I/O buffers. Depois de seguir esses passos de implementação de rotinas matemáticas, de biblioteca de sub-rotinas, e classificação de programas, nossa tarefa foi procurar o mais amplo processo de programação. Nós precisávamos entender como poderíamos reutilizar o código testado e fazer a máquina ajudar na programação. Enquanto programávamos, examinamos o processo e tentamos pensar em modos para abstrair essas etapas, incorporando-as na linguagem de alto nível. Isto nos levou a desenvolver interpretadores, agenciadores, compiladores, e geradores – programas planejados para operar ou produzir outros programas, isto é, programação automática[11].

         Programação automática é uma abstração que permite a produção de código legível por humanos ativado por computador – chave para a comodificação e a materialização de software, e da emergência de linguagem de programação de alto nível. A automação da programação – em particular, as linguagens de programação – faz com que o problema da programação seja orientado numericamente. Linguagens de programação de alto nível, a despeito do agenciamento de linguagem, deflagram uma instrução, permitindo esquecer a máquina; permitem enfocar mais em um programa que em uma máquina. “Programação direta” permite uma configuração única de cabos; as pioneiras máquinas de linguagem podiam ser iteráveis, mas somente em uma mesma máquina – assumindo, é claro, que não haja erro ou defeito na engenharia. De modo a insurgir como linguagem ou texto, o software e as “linguagens” nos quais se baseiam devem se tornar iteráveis. Com as linguagens de programação, o produto programado não é mais uma máquina em execução, mas sim essa coisa chamada software – algo teoricamente (senão, praticamente) iterável, repetível, reutilizável, não importando quem escreveu ou a qual máquina isso foi destinado. As linguagens de programação denotam a ausência do programador e da máquina em sua chamada escrita[12]. As linguagens de programação permitiram a separação entre instrução e máquina, entre imperativo e ação.

            A partir da sabedoria adquirida, as referidas primeiras tentativas de automatizar a programação foram ineficientes e combatidas por programadores “reais”. John Backus, desenvolvedor do FORTRAN, afirma que os primeiros programadores de linguagem de máquina estavam envolvidos em uma “magia negra”; eles tinham um “orgulho chauvinista de suas fronteiras exploratórias e um correspondente conservadorismo; muitos programadores da década de 1950 começaram a se considerar membros de um sacerdócio que guardava habilidades e mistérios muito complexos para os meros mortais”[13]. Koss argumenta ainda que, “sem essas linguagens e processos de níveis superiores […], que democratizaram a solução de problemas com o computador, acredito que a programação teria permanecido nas mãos de um número relativamente pequeno de criadores de software de orientação técnica, usando código de máquina, sendo então essencialmente os altos sacerdotes da computação”[14].

           A resistência à programação automática também parece ter sido engendrada pelos clientes corporativos e acadêmicos, pelos quais a programadores eram ordens de magnitude mais baratas que os computadores. Jean Sammett, programadora precursora, em sua influente obra Programming Languages: History and Fundamentals, relata que:

clientes levantaram muitas objeções, a principal delas foi que provavelmente o compilador não poderia produzir um código de objeto tão bom quanto seus melhores programadores. Uma significativa campanha de vendas para impulsionar as vantagens de tais sistemas estava em andamento naquele momento, com a ponta de lança sendo realizada para as linguagens numéricas científicas (ou seja, FORTRAN) da IBM e para as linguagens de processamento de dados para negócios na linguagem “de tipo inglês” da Remington Rand (e da Dra. Grace Hopper, especialmente)[15].

         Tal campanha de vendas não apenas incrementou as linguagens de alto nível (desvalorizando os processos humanos de produção), mas também alavancou novos hardwares: para rodar estes programas, precisavam de máquinas mais poderosas. A insistência do governo em padronização, de forma mais evidente no desenvolvimento e disseminação do COBOL, também influenciou fortemente a aceitação de linguagens de alto nível, nas quais eram de novo teoricamente, senão sempre praticamente, máquinas independentes e iteráveis. O ciclo de atualização do hardware era normalmente a cargo do acúmulo do tempo da programação.

            A “campanha de vendas” levou ao que muitos expressaram como a democratização da programação. Na visão de Sammet, essa era uma revolução parcial,

uma vez que instalações de computadores eram executadas, não somente se tornou, mas também ficou bastante prático ter engenheiros, cientistas e outras pessoas realmente programando seus próprios problemas sem o intermédio de um programador profissional. De tal modo, a discussão entre a oficina aberta e fechada tornou-se muito forte, muitas vezes centrando-se no uso do FORTRAN como figura chave para os dois lados. Tal fato não deve ser interpretado como uma afirmação de que todas as pessoas com problemas numéricos-científicos a serem resolvidos dispuseram-se prontamente a aprender FORTRAN. Isso realmente não é verdade. Mas um número significativo de pessoas dispuseram-se, e tal fato causou um grande impacto em toda a indústria de computadores. Um dos efeitos colaterais subsidiários do FORTRAN foi a introdução do FORTRAN Monitor System [IB60], tornando a instalação do computador muito mais eficiente, e exigindo menos intervenção do operador para a execução do grande número de programas FORTRAN (assim como da linguagem de máquina)[16].

              A “abertura” da computação, por meio da qual produziu uma ressonância diferente ao termo open em “open source”, teria denotado tanto alento à disseminação da computação àqueles com problemas numéricos-científicos a resolverem como um declínio das operações humanas frente aos sistemas operacionais. Contudo, cientistas sempre estiveram envolvidos em computação, ainda que a computação nem sempre fosse considerada carreira cientificamente digna e, como referido anteriormente, a introdução maior de discos [dials] que fios [wires] foi vista como promoção de cientistas comuns. A história da computação é cheia de momentos de “libertação dos computadores”[17].

         Tal narrativa de “abertura” da computação através de linguagens de alto nível pressupõe que os programadores naturalmente gostavam de tarefas numéricas tediosas e repetitivas, desenvolvendo soluções singulares para seus clientes. O “domínio” da computação pode ser facilmente percebido como “sofrimento”. Harry Reed, um dos primeiros programadores do ENIAC, argumenta:

Toda a ideia de computação com o ENIAC era uma espécie de camisa-de-força. Programar para o computador, o que quer isso significasse, era uma experiência redentora – sofria-se para tanto. E foi somente na década de 1970 que finalmente conseguimos convencer as pessoas de que eles não precisariam de programadores continuamente escrevendo pequenos programas para eles. Na verdade, eu tive que pegar meu Departamento e sentar todos que não tinham ainda feito um curso de FORTRAN, porque, meu Deus, eles escreveriam seus próprios programas agora. Não íamos pedir aos especialistas em computação que escrevessem programas pequenos e simples dos quais deveríamos estar escrevendo[18].

image004

Fig. 4 – Duas mulheres conectando um novo programa no lado direito do ENIAC, final da década de 1940. U.S. Army Photo, Army Research Laboratory Technical Library, Aberdeen Proving Ground, Aberdeen, Maryland.

            A narrativa da democratização da programação revela a tensão no centro dos sistemas de programação e controle: eles são sistemas de controle ou servomecanismos (nome inicialmente dado por Nobert Wiener)? Programação é uma atividade clerical ou um ato de comando? Dado que a máquina lida com “programação adequada” [programming proper] – a sequência de eventos durante a execução – a programação da programação vem a ser algo? O que é subsumido na mudança linguística do “operador” para o “programador”? A noção de “sacerdócio” dos programadores esquece tal tensão, fazendo com que a programação seja sempre objeto de tutela zelosa, esquecendo os fundamentos clericais da programação. Na década de 1950, a programação não parece ser divertida e equilibrada em termos de gênero humano, em parte porque isso era uma invenção muito recente e também porque não era lucrativa enquanto projeto e venda de hardware[19]. As “garotas do ENIAC” foram primeiramente contratadas como subprofissionais, e algumas precisavam adquirir mais qualificações para se firmar em suas posições. Logo que as muitas mulheres programadoras se retiravam para ter filhos ou casavam, os homens assumiam seus crescentemente lucrativos postos de trabalho. As bases auxiliares e indiscutivelmente femininas da programação – tanto em termos de pessoal quanto de estrutura de comando – foram enterradas quando a programação passou a se tornar, ao mesmo tempo, um campo acadêmico e de engenharia. Tal supressão foi chave para a profissionalização da programação – um domínio compensatório edificado sob a ocultação da máquina. A democratização não substituiu os programadores profissionais, mas reforçou suas posições enquanto profissionais, diminuindo paradoxalmente seu poder real sobre as suas máquinas e generalizando o conceito de engenharia da informação.

Sim, Senhor

         A presunção de que os programadores usufruem facilmente tarefas tediosas aponta para a história humana e do gênero da programação e computação. Durante a Segunda Guerra Mundial quase todos os profissionais computadores eram mulheres jovens com alguma formação em matemática. As mulheres não estavam apenas disponíveis para o trabalho como também eram consideradas melhores e mais conscientes computadoras, provavelmente porque eram melhores em tarefas repetitivas e administrativas. As programadoras eram antigas computadoras sendo mais adequadas para preparar suas sucessoras: pensavam como os computadores.

image005

Fig. 5 – Programadores do ENIAC, final da década de 1940. U.S. Military Photo, Redstone Arsenal Archives, Huntsville, Alabama.

            Alguém pode afirmar que a programação tornou-se a programação e o software tornou-se o software quando os comandos mudaram de comando de “garota” para comando de máquina. A imagem acima (fig. 5) revela o sonho de uma “programação adequada” – um homem sentado à mesa dando comandos para uma mulher “operadora”[20]. As linguagens de software são baseadas em uma série de imperativos derivados da estrutura de comando e controle da Segunda Guerra Mundial. A automação do comando e controle, que Paul Edwards identificou como uma perversão das tradições militares, de “liderança pessoal, de comando descentralizado no campo de batalha e de autoridade baseada na experiência”, provavelmente começou como computação mecânica durante a Segunda Guerra Mundial. Isso é intimamente exemplificado pelo relacionamento entre os Wrens, os membros voluntários do Women’s Royal Naval Service e seus oficiais comandantes em Bletchley Park. Os Wrens, também chamados de escravos por Turing (um termo agora incorporado nos sistemas de computadores), eram funcionários responsáveis ​​pela operação mecânica das máquinas de análise criptográficas (o Bombe e o Colossus), embora pelo menos um dos funcionários, Joan Clarke, tenha se tornado um analista. Reveladoramente, I. J. Good, um analista, descreve o Colossus como permitindo somente no final da década de 1970 uma sinergia de máquinas duplicadas por máquinas modernas: “o analista sentava-se à máquina de escrever e atribuía instruções para um Wren fazer alterações nos programas. Algumas outras instruções eram reduzidas às árvores de decisão e entregues aos operadores de máquinas (Wrens)”[21]. Esta sinergia homem-máquina, ou processo de interação em tempo real (mais do que em lotes), tornou indistinguíveis os Wrens e as máquinas, enquanto que, simultaneamente, contava com a habilidade dos Wrens em responder ordens matemáticas.

         A história do encontro inicial entre Grace Murray Hopper (uma das primeiras e mais importantes programadoras) e Howard Aiken apoia a narrativa acima. Hopper, doutora em matemática de Yale e anteriormente professora de matemática de Vassar, foi contratada pela Marinha Americana para programar o Mark I, um computador digital eletromecânico que fazia um som parecido com o de uma sala cheia de agulhas de tricô. De acordo com Hopper, Aiken mostrou para ela:

um objeto largo com três listras… Acenou com a mão e disse: “Isto é uma máquina computacional”. Eu disse, “Sim, Senhor”. O que mais eu poderia dizer? Ele disse que gostaria que eu fizesse os cálculos dos coeficientes das séries de tangentes, para quinta-feira. De novo, o que eu poderia dizer: “Sim, Senhor”. Eu não sabia absolutamente o que estava acontecendo, mas foi assim meu encontro com o Howard Hathway Aiken[22].

            A computação dependia do “sim, senhor” nas respostas às sentenças declarativas curtas e imperativas, que eram a essência dos comandos. Ao contrário do que dizia Neal Stephenson, no começo era o comando em vez da linha de comando. A linha de comando é uma mera simulação de sistema operacional (OS). Os comandos admitiriam o resvalar entre programação e ação, algo que faz o software ser um sistema de comunicação tão persuasivo, mas logicamente “trivial”. As lembranças de I. J. Good e Hopper também revelam a rotinização no centro da programação: o analista do Bletchley Park logo foi substituído por árvores de decisão. Hopper, o programador, tornou-se um defensor da programação automática. Assim, a rotinização ou a automação esteve no centro de uma profissão que julgou acreditar que tinha automatizado com sucesso todas as profissões, exceto a sua[23].

            Contudo, pensar as mulheres e a computação mecânica como algo intercambiável é revisar a história. De acordo com Sadie Plant, a programação é essencialmente feminina – não simplesmente porque as mulheres, de Ada Lovelace até Hopper, foram as primeiras programadoras, mas por conta dos laços históricos e teóricos entre programação e o que Freud chamou de invenção fundamentalmente feminina da tecelagem; entre a sexualidade feminina como imitação e a imitação que alicerçou a visão de Turing dos computadores enquanto máquinas universais. (Ademais, tanto o software como a sexualidade feminina revelam o poder que pode ter aquilo que não se pode ver)[24]. Mulheres, Plant assevera,

não tinham apenas parte menor para executar durante a emergência das máquinas digitais… Sobre elas, não é um papel secundário que precisa ser resgatado para a posteridade, ou um pequeno complemento a ser incluído nos registros existentes… Hardware, software, wetware – antes e depois, dos inícios aos fins, as mulheres têm sido simuladoras, montadoras e programadoras de máquinas digitais[25].

          A fotografia anterior (fig. 5) não é representativa – a programadora do ENIAC trabalha em dupla, e a máquina não poderia fazer o que Hopper fazia – pelo menos não naquele momento. (E, novamente, Hopper teria sido a chave para habilitar os computadores: a quebra da distância entre Hopper e os computadores teria sido a chave para os comandos e controles automáticos). A dificuldade encarada pelos programadores era clara: computadores não eram computadoras. A passagem entre comandando uma garota e comandando um autômato era difícil porque os autômatos decifram em vez de interpretarem ou presumirem, e eles não aprendem com a experiência. Tal como notam Martin Campbell-Kelly e William Aspray, “a principal dificuldade da escrita de software era que, até a vinda dos computadores, os seres humanos nunca antes tinham preparado instruções detalhadas para um autômato – uma máquina que obedecia infalivelmente aos comandos que lhe eram dados e para a qual todos os resultados possíveis tinham que ser previstos pelo programador”[26]. Campbell-Kelly e Aspray superestimam em suas avaliações a confiabilidade das máquinas, especialmente em relação às primeiras. Conforme relatam os primeiros programadores do ENIAC, parte da depuração foi descobrir quais erros surgiam da programação e quais eram os tubos de vácuo defeituosos, os religamentos acidentais ou as falhas de arquitetura da máquina – uma tarefa facilitada pelas lâmpadas de neon conectadas a vários contadores.

          Ao contrário das máquinas, as programadoras não seguiam simplesmente as instruções. Hopper foi descrito como “uma mulher de personalidade forte, bastante persuasiva e líder. Ela mostrou parte de seu treinamento na Marinha nas suas vozes de comando”[27]. Além disso, como explica Koss, a programação não estava apenas implementando instruções, mas “projetando uma estratégia e preparando instruções para fazer com que o computador fizesse aquilo que você gostaria que ele fizesse para resolver um problema”[28]. As programadoras cumpriram um papel importante na conversão do ENIAC em um computador de armazenamento programado e na determinação do compromisso entre armazenar valores e instruções. Betty Snyder Holberton, descrita por Hopper como a melhor programadora que ela conheceu, não apenas depurou o programa de trajetória balística em um sonho (o primeiro programa a ser executado no ENIAC, embora tenha sido tarde demais para ser usado na Segunda Guerra Mundial), mas também desenvolveu um influente algoritmo de classificação para o UNIVAC[29].

          A extensão do esquecimento de tais mulheres na habitual história da computação pode ser medida implicitamente em Paul Edward, no gênero a priori da “força de trabalho”, enquanto uma análise da perspicácia da relação entre masculinidade e programação. Ele escreve:

Cientistas da computação adoram a mística do hard mastery de forma comparável ao culto dos físicos no pós-guerra. Computadores fornecem precisão espantosa, poder de cálculo, e habilidade para síntese de uma montanha de dados… Não há nada inerentemente masculino nas tecnologias computacionais. De outro modo, as mulheres não poderiam ter tido tão rápido sucesso em se juntar à força de trabalho com o computador. Valores de gênero seguem largamente livres das máquinas em si mesmas e são expressas e reforçadas por relações de poder entre homens e mulheres. Computadores não são simplesmente incorporações de masculinidades; eles são construídos culturalmente enquanto objetos mentais masculinos[30].

            Bem longe do juízo de J. Chuan Chu (um dos primeiros engenheiros de hardware do ENIAC), do qual o software seria filha do Frankenstein (hardware sendo o filho), a posição de Edward esquece a presença das mulheres no nascimento da computação – enquanto aquele reduz a tecnologia da computação ao software. Na combinação de um humano servo e um humano computador, o computador moderno encapsula as relações de poder entre homens e mulheres na década de 1940, procurando ajustar-se às mulheres: seus dedos ágeis, suas habilidades numéricas, suas discrições, seus “olhares inquietos” – um deslocamento que Vannevar Bush via como desejável[31]. A transição de humano para computadores mecânicos automatizou as relações diferenciais de poder.

          O reconhecimento de tais mulheres enquanto programadoras – não apenas seguindo, mas também agrupando instruções – é importante, mas não suficiente, uma vez que mantém a narrativa da programação como “masterful*. Qual é o significado de seguir e implementar instruções? Talvez a “automação” do controle e comando seja menos uma perversão da tradição militar e mais uma representação dela, na qual a responsabilidade foi passado àqueles (agora máquinas) que implementam comandos. A relação entre senhores e escravos é sempre ambígua. Essa passagem de poder fora ocultada por linguagens de programação que obscureciam a máquina e destacavam a programação (em vez de execução) como a fonte de ação. A abolição da distinção entre programação e execução, evidenciado na ambiguidade do objeto do verbo “programar”, foi facilitada pela disciplina e profissionalização de programadoras, através da “programação estruturada”.

image006

Fig. 6 – The First Four, 1950s. U.S. Army Photo (número 163-12-62)

Ocultando a máquina

            Durante a exaustivamente discutida “crise do software” no fim da década de 1960, determinada por desastres espetaculares, como o do OS/360 da IBM, muitos (especialmente programadores europeus, tal como Friedrich [Fritz] Bauer e Peter Naur) viram a “engenharia de software”, ou a programação estruturada, como um caminho para transformar a programação de artesanal para uma prática de padrão industrial, bem como uma maneira de criar programadores disciplinados que lidariam com abstrações ao invés de processos numéricos[32]. Como argumentou Michael Mahoney, a programação estruturada apareceu como um “meio tanto de controle de qualidade como de disciplina dos programadores; tanto de método de controle e estimativa de custo como de método de verificação e validação, técnicas de garantia de qualidades”[33].

          “Programação estruturada” (conhecida comumente como “boa programação”) oculta e, portanto, protege a máquina. Não é surpresa que, tendo pouco ou não contato com a máquina real, venha a capacitar mais a pensar abstratamente que numericamente. Edsger Dijkstra, aquele cuja famosa condenação da declaração “go to” encapsulou tantos fundamentos de programação estruturada, acreditaria ser capaz de “pioneirar” tal programação precisamente porque ele começou sua carreira de programador codificando máquinas que ainda não existiam[34]. Em “Go To Statement Considered Harmful”, Dijstra expõe que “a qualificação do programador está em função decrescente da densidade de declarações go to no programa por ele produzido”. Isto porque as declarações go to vão contra o princípio fundamental da boa programação – a necessidade de “diminuir a lacuna conceitual entre programa estático e processo dinâmico, fazendo correspondência entre o programa (distribuído no espaço de texto) e o processo (distribuído no tempo) o mais trivialmente possível. Mais especificamente, se um programa é obstruído, go tos tornam difícil encontrar um lugar na programação que corresponda ao processo de obstrução – isto faz com que seja “terrivelmente difícil encontrar um sentido de arranjo de coordenação a fim de descrever o progresso do processo”[35]. Isto é, go tos tornam difícil a junção da instrução com o comando, que fundamenta a “programação”[36].

         Linguagens de programação estruturada “salvam” os programadores deles mesmos, gerando boa segurança, programação estruturada[37], na qual a programação como questão de fluxo é em si mesma forma de fornecer abstração de dados; enquanto questão de interação e ocultação de objetos, a programação é vista para além da máquina. Abstração de dados dependem da informação ocultada, da não-refletiva alteração de fatos no software. Tal como explica John V. Guttag, um “pioneiro” no tema, a abstração de dados é sempre sobre esquecimento[38]. Em vez de “poluir” um programa a partir da habilitação de linhas invisíveis de contato entre supostos módulos independentes, a abstração de dados apresenta uma interface limpa ou “bela”, ao confinar especificidades, e ao reduzir o poder e o conhecimento do programador. Conhecimento, Guttag insiste, é perigoso: “‘Beba intensamente, ou não prove a Primavera Pieriana’*, não é necessariamente um bom conselho. Conhecer demais não é melhor, e às vezes pior que pouco conhecer. As pessoas não podem assimilar muita informação. Qualquer método ou abordagem de programação que entende que as pessoas apreenderão muito é altamente arriscada”[39].

            De tal modo, a abstração tanto empodera a/o programador(a) quanto insiste em seu/sua ignorância. Isto porque a abstração fornece aos programadores uma nova habilidade criativa. O cientista da computação David Eck argumenta: “toda linguagem de programação define uma máquina virtual, na qual ela é uma linguagem de máquina. Designers de linguagem de programação estão criando máquinas computacionais assim como os engenheiros que trabalham com silício e cobre; contudo, sem as limitações impostas pelos materiais e pelas tecnologias manufaturadas”[40]. Tal abstração – de afastamento das especificidades da máquina – garante, na separação da máquina em hardware e software, o ato de programação da máquina em si. Koss zombou da antiga noção de computadores enquanto cérebros, porque “eles não podem pensar da forma como os humanos pensam, mas precisam receber uma configuração de instruções passo-a-passo antes que possam fornecer respostas a um problema específico” – naquela época o software não era considerado um objeto independente[41]. O atual status do software como mercadoria, apesar do fato que suas instruções sejam imateriais e incomparáveis, indica o triunfo da indústria de software, uma indústria que primeiro se assegurou não somente financeiramente, mas também na definição conceitual de seu produto. A ascensão do software dependeu tanto de um movimento histórico, expressivamente na separação entre serviços e produtos da IBM, como da habilitação de abstrações por linguagens de alto nível. A insistência de Guttag na inconfiabilidade e incapacidade de entendimento dos seres humanos aumentou os custos de tais abstrações. Abstração é um jogo de computador, tal como é a programação, no sentido stricto sensus da palavra.

            Importa que os programadores sejam usuários: eles criam programas usando editores, nos quais são eles mesmos softwares. A distinção entre programadores e usuários é gradativamente erodida, não somente porque os usuários se tornam programadores (na prática, os programadores não mais programam computadores; eles codificam), mas também porque, com linguagem de alto nível, os programadores são mais como simples usuários. A diferença entre usuários e programadores é um efeito de software.

Prazer causal

            O gradual descrédito dos programadores foi sendo compensado pelo poder e prazer de programar. Como Edward assevera, a “programação pode produzir uma forte sensação de poder e controle”, porque o computador produz um microcosmo consistente e externamente incompleto.

Um mundo simulado, inteiramente dentro da própria máquina ou de sua eficácia instrumental. Ou seja, onde a maioria das ferramentas produzem efeitos em um mundo mais extenso do qual elas são apenas uma parte; o computador contém seu próprio mundo em miniatura… No seu microcosmo, assim como no faz de conta das crianças, o poder de programar é absoluto[42].

            Tal prazer é em si mesmo um efeito das linguagens de programação, que oferecem a sedução da visibilidade, legibilidade, da causa e efeito. Considere o onipresente programa “hello world”, escrito em C++ (“hello world” é geralmente considerado o primeiro programa escrito por uma pessoa):

// this program spits out “hello world”

#include <iostream.h>

int main ()

{

cout << “Hello World!”;

return 0;

}

            A primeira linha é uma linha de comentário, explicando ao leitor humano que este programa compõe “olá mundo”. A próxima linha direciona o compilador pré-processador a incluir “iostream.h”, um padrão de arquivo que lida com input e output. A terceira linha, “int man ()”, inicia a principal função do programa; “cout <<“Hello World”!”;” imprime “Hello World” na tela (“cout” é definido em iostream.h); “return 0” finaliza a função principal e faz com que o programa retorne 0 se tudo correu bem. Mesmo que não imediatamente compreensível para qualquer um não versado em C++, este programa de qualquer forma parece fazer algum sentido. Resume uma série de imperativos e declarações que o computador presumivelmente entende e obedece. Quando rodado, segue os comandos e exibe “Hello World”. Importa que, tal mensagem, que afirma a agência do programador, também desvela uma questão: quem ou o que, afinal de contas, está dizendo “Hello World”? Para apreciar este poder absoluto, o programador precisa seguir as regras da linguagem da programação. Independente disso, ver o código, visível e largamente previsível, gera prazer nele ou nela[43]. O código faz com que uma ação aconteça: causa e efeito ficam claros, mesmo se o resultado é inteiramente previsível. Tal poder absoluto, habilitado por meio da agência de um programa, revela o contraditório estado da agência, sobretudo do fato que a agência refere-se tanto à capacidade de ação de alguém como à capacidade de alguém agir em nome de outrem.

            No entanto, no microcosmo da simulação computacional, não é somente o programador que tem o poder aperfeiçoado e absoluto, as simulações interativas – chave do conceito de computador como transparentes – aumentam o poder do usuário (de novo, estes termos não são absolutos, mas sim dependem do software que está sendo usado e do poder produtivo de suas ações). Como ressalta Edward, a interatividade está intimamente ligada à inteligência artificial, gestada pela admissão da falibilidade humana, e das limitações das linguagens de programação procedurais[44]. Na década de 1960, a ingenuidade por trás da afirmação de von Neumann de que “qualquer coisa que pode ser exausta e inequivocamente descrita, qualquer coisa que pode ser completa e inequivocamente disposta em palavra, é ipso facto realizável por uma adequada rede neural finita” estava tornando-se cada vez mais manifesta[45]. Uma vez que era complicado, senão impossível, uma descrição exaustiva e inequívoca, a chave para resolver os problemas era trabalhar “interativamente” com o computador. Interatividade mais tarde tornou-se associada à liberdade do usuário, ao controle do GUI (Graphical User Interface) e à interface WYSIWYG (What You See Is What You Get), vistas enquanto suplementos aos comandos baseados em linguagem de programação. Diferentemente das interfaces de linhas de comando, os GUIs habilitavam “manipulação direta”, na qual o comando era intimamente ligado à visibilidade simulada. De acordo com Bem Schneiderman:

Certos sistemas interativos geram intenso entusiasmo entre os usuários – marcando contrastante com a reação mais comum de aceitação relutante ou de hostilidade total. Os relatórios entusiasmados dos usuários são preenchidos com sentimentos positivos, ressaltando:

– domínio do sistema;

– competência no desempenho de sua tarefa;

– facilidade em aprender o sistema originalmente e em assimilar recursos avançados;

– confiança em sua capacidade de reter domínio ao longo do tempo;

– prazer em usar o sistema;

– vontade de mostrá-lo aos novatos, e

– desejo de explorar aspectos mais poderosos do sistema.

Tais sentimentos não são, é claro, universais, mas o amálgama expõe uma imagem de real prazer do usuário… As ideias centrais parecem ser a visibilidade do objeto de interesse; de ações rápidas, reversíveis, incrementais, substituindo uma complexa sintaxe de linguagem de comando pela direta manipulação de objetos de interesse – daí o termo ‘manipulação direta’”[46].

       Como Brenda Laurel argumentou, em sua comparação de interfaces de computador e teatro, a manipulação direta (que é tudo menos direta), para ser bem-sucedida, deve ser complementada por engajamento direto. Engajamento direto, argumenta Laurel,

muda o foco da representação da manipulação de objetos para o ideal de habilitar pessoas em engajamento direto na atividade de escolha, seja manipulando ferramentas simbólicas no desempenho com algumas tarefas instrumentais ou perambulando por mundo imaginário de um jogo de computador. Engajamento direto enfatiza valores emocionais e cognitivos. Concebe, pois, a atividade humana-computador como uma experiência projetada[47].

            A ênfase de Laurel na ação ressalta a crucial diferença entre a representação de ferramentas e as ferramentas em si mesmas: ela argumenta que o que as pessoas percebem quando clicam duas vezes em uma pasta que não é realmente uma pasta; e fazer com que uma pasta seja mais “realista” não ajuda. O que ajuda, expressa Laurel, é uma causalidade clara: eventos precisam de um padrão para que o usuário possa aceitá-los como prováveis, reduzindo a probabilidade à certeza. Causalidade, ela afirma, garante a universalidade; garante que o usuário suspenda voluntariamente suas crenças. Para os usuários, assim como para os esquizofrênicos paranoicos (aqui minha observação, não a de Laurel), tudo tem sentido: não há coincidência, somente prazer causal.

         Prazer causal não é simplesmente uma representação das ações de um usuário; é também uma “ampliação do usuário”. Manovich explica que a “ampliação do usuário” a partir do Super Mario:

quando você pede, movendo o joystick, que o Mario dê um passo à esquerda, isto dá largada a uma pequena e deliciosa narrativa: Mario encontra-se diante de uma colina; ele começa a subir a colina; a colina acaba sendo muito alta; Mario volta ao chão; Mario levanta-se, todo tremendo. Nenhuma dessas ações requer algo de nós; tudo o que temos de fazer é mover uma vez o joystick. O programa de computador amplifica nossas ações singulares, expandindo-as em uma sequência narrativa[48].

            Tal ampliação do usuário imita a “explosão de instruções” que levou às linguagens de alto nível (uma linha de código de alto nível corresponde a mais de uma linha do código da máquina); a ampliação do usuário não é somente produto do software de jogos ou de artes, mas central para o poder de programação.

            A dupla ampliação provavelmente impulsiona a romantização da programação e, mais recentemente, da emergência de software de artes, ou Generation Flash. De acordo com Manovich, Generation Flash é um novo grupo artístico (“novos românticos”) que criam códigos originais em vez de participarem do círculo infinito de citação pós-moderna. Enquanto programadores, os artistas Generation Flash produzem

o novo modernismo de visualização de dados, de redes vetoriais, de pixels precisos, setas, grades: o design do Bauhaus a serviço do design da informação. Em vez [do] assalto barroco à mídia comercial, o Generation Flash serve-nos com o modernismo estético e a racionalidade do software. O design da informação é usado como ferramenta para fazer senso de realidade enquanto a programação se torna ferramenta de empoderamento[49].

            Para dar sentido à realidade, tais artistas e designers empregam a ampliação do usuário; para eles, a estética modernista e a racionalidade baseada em software ampliam e simplificam causa e efeito. De maneira geral, o software desvela – torna as coisas visíveis. Esse desvelamento depende de certa “esperteza” da parte do usuário. Descrevendo o projeto Futurefarm do theyrule.net, que oferece um modo de mapear as relações entre os membros conselheiros das corporações mais poderosas, Manovich assevera:

Em vez de apresentar uma mensagem política empacotada, ele nos dá dados e ferramentas para análise. Sabe que somos suficientemente inteligentes para tirarmos a conclusão certa. Esta é a nova retórica da interatividade: nós ficamos convencidos de que não por escutar/assistir a uma mensagem arranjada, mas por trabalhar ativamente com os dados: reorganizando-os, descobrindo conexões, tomando ciência das correlações[50].

De acordo com Manovich, esta nova retórica da interatividade é tanto mais explorada em UTOPIA:

A cosmogonia deste mundo reflete nosso novo entendimento do próprio planeta – pós Guerra Fria, Internet, ecologia, Gaia, e globalização. Observe as linhas finas, quase invisíveis, que conectam os atores e os blocos. (É o mesmo dispositivo usado em theyrule.net). No universo de UTOPIA, tudo é interconectado, e cada ação de um ator individual afeta todo o sistema. Intelectualmente, nós sabemos que é assim que nossa Terra funciona ecológica e economicamente – porém, UTOPIA representa isso numa escala que podemos apreender perceptivamente[51].

       UTOPIA permite aquilo que Fredric Jameson chamou de “mapa cognitivo”: “uma representação situacional sobre o indivíduo submetido a uma totalidade vastíssima e irrepresentável da propriedade, que é a junção das estruturas da sociedade como um todo”[52]. Se o mapeamento cognitivo é tanto difícil quanto necessário, isto se deve às redes invisíveis do capital; esses artistas produzem um mapa cognitivo via exploração da invisibilidade da informação. O funcionamento do software de artes, como pensa Manovich, é paralelo à crítica marxista da ideologia. O véu da ideologia é arrancado ao revelar as relações entre a ação individual dos atores e do sistema como um todo. O software permite tal crítica pela representação em uma escala – microcósmica – que podemos dar sentido. O desvelamento depende de nossas próprias ações, de manipularmos objetos de forma a ver; de pensarmos enquanto programadores orientados a objetos.

            Em lugar de depender de mapas cognitivos, nós os produzimos o tempo todo por meio de um meio que simula a crítica da ideologia e, caso não haja, da ideologia também. É realmente notável que o software – projetado para ofuscar a máquina e criar comandos virtuais e ocultos – tenha chegado a uma impressionante noção de computação enquanto transparente. Esta noção de transparência tem menos a ver com operações tecnológicas do que com o “microcosmo” estabelecido pela computação.

Software como ideologia

         Como afirmei em outro lugar, software é um análogo funcional da ideologia[53]. Em sentido formal, computadores, compreendendo hardware e software, são máquinas ideológicas. Elas cumprem quase todas as definições formais de ideologia que nós temos, de ideologia como falsa consciência (como retratada em The Matrix) à definição de Louis Althusser de ideologia como “uma ‘representação’ da relação imaginária de indivíduos em suas reais condições de existência”[54]. Software, ou talvez, mais precisamente, os sistemas operacionais, oferece-nos uma relação imaginária com nosso hardware: eles não representam transistores, mas sim desktops e lixeiras. Softwares produzem usuários. Sem sistema operacional não haveria acesso ao hardware; sem sistema operacional não existe ações, práticas e, portanto, também não usuários. Cada sistema operacional, a partir de seus anúncios, interpela o “usuário”: designa ou oferece um nome ou imagem com o qual se identifica. Assim, os usuários do MAC “pensam diferentes” e se identificam com Martin Luther King e Albert Einstein; usuários do Linux são os nerds do código aberto, atraídos pela imagem de um gordo e saciado pinguim; e os usuários do Windows são tipos padrão e funcionalista, seguramente acomodados, como Eben Moglen argumenta, com os seus computadores travando constantemente. Importa que as “escolhas” de sistemas operacionais oferecem limites para o visível e invisível, o imaginável e inimaginável. Contudo, você não fica consciente da interpelação e constrição do software (também conhecido por “facilidade de uso”), a não ser que você se sinta frustrado com seus padrões (notadamente referido como suas preferências) ou você usa múltiplos sistemas operacionais ou pacotes de softwares concorrentes.

          O software também produz usuários por meio de interações benéficas, a partir de sons tranquilizadores, a fim de indicar que um arquivo foi salvo em uma pasta chamada de “meus documentos”, enfatizando assim a propriedade do computador pessoal. Programas de computador usam descaradamente shifters, pronomes como “meu” e “você”, endereçados como assunto a você, e a todo mundo. Software faz você ler, oferecendo-lhe mais relações e ainda mais visualidades. Software gera leituras que vão além da leitura de cartas, desandando em práticas não-literárias e arcaicas de predizer, interpretar, contar e repetir. Software é fundado em lógica fetichista[55]. Os usuários sabem muito bem que as pastas e a áreas de trabalho não são realmente pastas e áreas de trabalhos, mas eles as tratam como fossem – referindo-as como pastas e áreas de trabalho. Essa lógica é, para Slavoj Žižek, crucial na ideologia. Žižek (por meio de Perter Sloterdijk) argumenta que a ideologia persiste nas ações de alguém, mais do que nas suas próprias. A ilusão da ideologia existe não no nível do conhecimento, mas no nível do fazer: esta ilusão, mantida através do imaginário “sentido da lei” (causalidade), oculta o fato de que autoridade não condiz com verdade – alguém obedece à lei na medida em que ela é incompreensível. Não seria isso a computação? Por meio da ilusão de sentido e causalidade nós não encobrimos o fato de que nós não podemos totalmente compreender nem controlar a computação? Que os computadores são crescentemente projetados por si mesmos e que nosso uso é – de certa maneira – uma súplica, uma fé cega? A nova retórica da “interatividade” ofusca mais do que revela.

        Os sistemas operacionais também criam mais, literalmente, pois os usuários são uma construção do sistema operacional. Os logins dos usuários emergem com o tempo partilhado dos sistemas operacionais, como o UNIX, que encorajou os usuários a acreditar que as máquinas com as quais eles trabalhavam eram suas próprias máquinas (antes disso, os computadores eram usados principalmente em lotes de processamento; antes disso, era literalmente necessário rodar um computador, não sendo necessário sistema operacional – um humano era o operador). Como vários historiadores escreveram, o tempo partilhado [time-sharing] dos sistemas operacionais da década de 1970 gerou o “computador pessoal”[56].

            Software e ideologia se combinam perfeitamente porque ambos tentam mapear os efeitos materiais do imaterial e posicionar o imaterial em termos de sinais visíveis. Por meio deste processo, o imaterial emerge como uma mercadoria, como algo próprio. Assim, a descrição de Broy dos pioneiros como intentando realizar softwares mais fáceis de visualizar, é curiosamente paralela com a do software em si mesmo; afinal o que é o software senão um esforço para fazer explícito – fazer o intangível visível – enquanto ao mesmo tempo tornar o visível (isto é, a máquina) invisível? Embora o paralelo entre software e ideologia seja convincente, é importante não se dar aqui por satisfeito, uma vez que reduzir ideologia ao software esvazia ideologia de sua crítica ao poder – algo absolutamente essencial para qualquer teoria da ideologia[57]. O fato de que software, enquanto estrutura acebolada, age como ideologia e como crítica da ideologia – enquanto ocultação e meio de revelação,  também quebra a analogia entre software e ideologia. O poder do software encontra-se nesta dupla ação e no visível que se desdobra invisível, um efeito de linguagem de programação transformando em tarefa linguística.

Vendo por meio da transparência

“Quando você tira um coelho da cartola, é porque você o colocou lá primeiro” – Jacques Lacan[58].

            O referido ato de revelar impetra a “transparência” aos bancos de dados e outras estruturas chaves, ou, como Baudrillard designou, impetra a “obscenidade” da comunicação. Embora a imagem digital certamente tenha um papel na noção de redes de computadores como transparente, isto não é suficiente nem fundamental. Considere por exemplo The Matrix, um programa multitarefa que varre ostensivamente bancos de dados público e privado para tentar encontrar criminosos e terroristas. Este programa trabalha integrando

informações de diferentes origens, tais como de registros de carros, licenças para condução, histórico criminal e registros imobiliários, analisando-os em busca de padrões de atividades que possam ajudar nas investigações policiais. Os materiais promocionais da empresa expressam que, “Quando os dados são suficientemente significantes, eles são analisados contra bilhões de outros elementos, o invisível se torna visível”[59].

            Ainda que os apoiadores afirmem que o The Matrix simplesmente reúne informações já disponíveis de forma legal,

oponentes do programa dizem que a habilidade da rede de computadores em combinar e varrer uma montanha de dados amplifica enormemente poder de vigilância policial, colocando pessoas inocentes em risco, ao ser apanhada em um arrastão de dados. O problema é agravado, dizem, num mundo onde muitos aspectos do cotidiano deixam traços online[60].

           Em 15 de março de 2004, mais de dois terços dos estados americanos retiraram seu apoio ao The Matrix, citando preocupações orçamentárias e de privacidade. The Matrix foi considerado violação de privacidade porque tornava o invisível visível (novamente, o ato do software em si mesmo), não porque o computador reproduzia imagens indexadas; ampliava o poder policial permitindo que eles realizassem conexões simplórias. The Total Information Agency, um plano do governo dos EUA de reunir variados bancos de dados eletrônicos, foi igualmente criticado e praticamente extinto pelo Congresso Americano em 2003.

             De modo particular, a computação habilita conexões por meio da renderização do invisível em visível, nas movimentações pessoais, a partir de interfaces computacionais. Digitando no Word, as letras aparecem na tela, representando o que está armazenado invisivelmente no computador. Minha digitação e meu clique parecem ter correspondência com as ações na tela. Abrindo um arquivo, eu o torno visível. De todo modo, pois, software parece tornar o invisível visível – transparecendo leitura de código computacional e leitura de linguagem humana. Manovich, autor de The Language of New Media, equaciona tal transdução nomeando-a “transcodificação” – a tradução de arquivos de um formato para outro. Em seu quinto e último princípio da nova mídia, exacerba o assunto, fazendo relações entre as camadas culturais e computacionais. Manovich afirma que, para compreender a nova mídia, precisamos abranger as duas camadas, pois, embora a camada aparente possa parecer igual às outras mídias, a camada oculta, computacional, é onde mora a verdadeira diferença entre a nova e a velha mídia – a programabilidade. Ele então argumenta que nós precisamos deslocar dos estudos de mídias aos estudos de softwares, e o princípio da transcodificação é o caminho para começar a pensar sobre os estudos de softwares[61].

         O problema com a noção de transcodificação de Manovich é que ela foca dados estáticos e trata a computação como mera tradução. Programabilidade não significa apenas que as imagens são manipuladas em novos modos, mas sim que um computador age de maneira fora do controle. Analisar o software meramente como “transcodificação” esquece a computação necessária para rodar um computador. A dupla leitura computacional não meramente traduz ou transcodifica código em texto/imagem/som ou vice-versa; sua leitura – que combina leitura e escrita (para um computador, ler é escrever em outro lugar) – também partilha de outras leituras invisíveis. Por exemplo, quando o Media Player da Microsoft toca um CD, ele envia as informações da Microsoft Corporation sobre aquele CD. Quando toca um arquivo Real Media, como um videoclipe da CNN, envia à CNN seu “indicador exclusivo”. Você pode escolher trabalhar off-line quando estiver tocando um CD e pedir que para o tocador de mídia não transmita seu “indicador exclusivo” quando online, porém esta escolha requer duas mudanças na configuração padrão. Instalando o Media Player, você também concorda em permitir que a Microsoft “forneça atualizações de segurança relativas ao OS Components que farão automaticamente download para o seu computador. Estas atualizações de segurança podem desabilitar sua permissão de copiar e/ou tocar Secure Content e outros softwares em seu computador”[62]. Basicamente, a Microsoft pode mudar os componentes de seu sistema operacional sem notificação ou sem seu consentimento explícito. Assim, de modo a criar um computador mais “seguro”, seguro significando seguro do usuário, a Microsoft pode desabilitar arquivos piratas e aplicativos, e reportar as presenças disto ao seu banco de dados central[63]. É claro que os anúncios da Microsoft não enfatizam os mecanismos de rastreamento do Media Player, mas sim vendem isso como um versátil usuário amigo. Agora você pode ouvir tanto seu CD como sua estação de rádio na Internet com um clique do mouse: é exatamente como seu aparelho de som, porém melhor. Agora você pode automaticamente receber atualizações automáticas e otimizar sua conexões por sites remotos.

            Para ser claro: este artigo não é um pedido de retorno para uma época em que se podia ver aquilo que se fazia. Esta época acabou. Como Kittler argumenta, em essência, nós não mais escrevemos – por meio dos nossos processadores de texto, nós atribuímos a tarefa aos computadores[64]. Isto não vem a ser uma acusação ao software ou à programação (eu também sou influenciada pelo prazer causal do software). Isto vem a ser, contudo, um argumento contra o senso comum a respeito das noções de software, precisamente por conta de seus status de senso comum (e, neste caso, cumprindo totalmente a noção gramsciana de ideologia como senso comum hegemônico); por conta das histórias e perspectivas que tais noções apagam; e por conta do futuro que indicam. O software tornou-se a súmula do senso comum para a cultura e o hardware, uma súmula para a natureza. (No debate atual sobre as pesquisas com células-tronco, essas foram chamadas de “hardware”. Historicamente, o software também facilitou a separação entre modelo e matéria, imprescindível para a separação dos genes do DNA.[65]). Em nossa sociedade pós-ideológica, o software sustenta e despolitiza as noções de ideologia e de crítica da ideologia. As pessoas podem negar a ideologia, mas não negam o software – e atribuem ao software, metaforicamente, poderes superiores aos atribuídos à ideologia. Nossas interações com o software disciplinaram-nos, criaram certas expectativas de causa e efeito, ofereceram-nos prazer e poder que acreditamos serem transferíveis para outro lugar. A noção de software invadiu nosso vocabulário crítico de forma amplamente inquestionada[66]. Interrogando o software e o conhecimento visual que ele cristaliza, nós podemos ir para além da chamada crises de indexicalidade, compreendendo os novos caminhos que o conhecimento visual vem sendo transformado e cristalizado, não simplesmente desarticulado ou tornado obsoleto.

NOTAS:

[1] Baudrillard, Jean. The Ecstasy of Communication. Trad. Bernard Schutze e Caroline Schutze. Brooklyn: Semiotext(e), 1988, 21–22; grifos no original.

[2] O que é, por exemplo, o Microsoft Word? É o programa executável criptografado, localizado em um CD ou em um disco rígido (ou mesmo em um código-fonte) ou é a sua execução? Os dois, apesar de não serem os mesmos, são ambos chamados de Word: eles se encontram em localizações diferentes; um é o programa e o outro é o processo. Programação estruturada, como discutiremos depois, tem sido a chave para unir programa e processo.

[3] Ver: Manovich, Lev. The Language of New Media. Cambridge: MIT Press, 2001, p. 48.

[4] Ceruzzi, Paul. A History of Modern Computing. 2° ed. Cambridge: MIT Press, 2003, p. 80.

[5] Broy, Manfred. “Software Engineering—From Auxiliary to Key Technology”. In: Broy, M.; Denert, Ernst. Software Pioneers: Contributions to Software Engineering. Berlin: Springer, 2002, p. 11–12.

[6] Kittler, Friedrich Kittler. “There Is No Software”. In: Ctheory.net, 18 out. 1995, http://www.ctheory.net/text_file.asp?pick=74.

[7] Na década de 1950, o termo software era utilizado com pouca frequência e se referia a qualquer coisa que complementava o hardware, tal como o plug de configuração dos cabos. Na década de 1960, software fica mais próximo daquilo que chamamos hoje de sistema de softwares; e mais amplamente entendido “como combinação de ferramentas, aplicativos, e serviços adquiridos por um vendedor externo”. Haigh, Thomas. “Application Software in the 1960s as Concept, Product, and Service”, IEEE Annals of the History of Computing 24, no. 1 (January–March 2002), p. 6. Para mais a respeito, consulte: Hagen, Wolfgang. “The Style of Source Codes,” trad. Peter Krapp. In: Chun, Wendy Hui; Keenan, Thomas. New Media, Old Media: A History and Theory Reader. New York: Routledge, 2005.

[8] Ver: Goldstine, Herman; Goldstine, Adele. “The Electronic Numerical Integrator and Computer (ENIAC)”. IEEE Annals of the History of Computing, 18, n°1, Spring 1996, p. 10–16. As duas atividades foram distintas por Arthur Burks como “programação numérica” (implementada por operadores) e “programação adequada” [programming proper] (projetada por engenheiros e implementada por unidade de programação central). Burks, Arthur. “From ENIAC to the Stored-Program Computer: Two Revolutions in Computers”. In: Metropolis, Nicholas (org.). A History of Computing in the Twentieth Century. New York: Academic Press, Inc. e Harcourt Brace Jovanovich, 1980, p. 311-344. A programação numérica versava sobre as especificidades do problema e das unidades aritméticas, sendo semelhante à microprogramação; programação adequada versava sobre as unidades de controle e a sequência de operações.

[9] Ver: Campbell-Kelly, Martin; Aspray, William. Computer: A History of the Information Machine. New York: Basic Books, 1996, p. 184.

[10] Ver: Hagen, Wolfgang. “The Style of Source Codes”. Chun, Wendy Hui; Keenan, Thomas. New Media, Old Media. New York: Routledge, 2005.

[11] Koss, Adele Mildred. “Programming on the Univac 1: A Woman’s Account”. IEEE Annals of the History of Computing, 25, no. 1, January March 2003, p. 56.

[12] Ver: Derrida, Jacques. “Signature Event Context”. In: Derrida, Jacques. Limited Inc., trans. Samuel Weber e Jeffrey Mehlman. Evanston: Northwestern University Press, 1988, p. 1-23.

[13] Backus, John. “Programming in America in the 1950s: Some Personal Impressions”. In: Metropolis, Nicholas et al. (org.). A History of Computing in the Twentieth Century. New York: Academic Press, Inc. e Harcourt Brace Jovanovich, 1980, p. 127.

[14] Koss, p. 58.

[15] Sammett, Jean. Programming Languages: History and Fundamentals. Englewood Cliffs: Prentice-Hall, 1969, p. 144.

[16] Sammett, 148.

[17] Ver, por exemplo: Nelson, Theodor. Computer Lib. Richmond, WA: Tempus Books of Microsoft Press, 1987.

[18] Reed, Harry. “My Life with the ENIAC: A Worm’s Eye View”. Army Research Laboratory. Fifty Years of Army Computing from ENIAC to MSRC, 2000, p. 158. Disponível em: http://ftp.arl.mil/~mike/comphist/harry_reed.pdf.

[19] Ver: “Anecdotes: How Did You First Get into Computing?”, IEEE Annals of the History of Computing 25, no. 4, October–December 2003, p. 48–59.

[20] Paul N. Edwards, The Closed World: Computers and the Politics of Discourse in Cold War America (Cambridge: MIT Press, 1996), 71.

[21] I. J. Good. “Pioneering Work on Computers at Bletchley,” in A History of Computing in the Twentieth Century, ed. Metropolis et al., 31–46.

[22] Citado por: Ceruzzi, p. 82.

[23] Ver: Mahoney, Michael S. “Finding a History for Software Engineering”. IEEE Annals of the History of Computing, 27, no. 1, January–March 2004, p. 8–19.

[24] Como argumentamos anteriormente, embora o software produza efeitos visíveis, ele não pode ser visto em si mesmo. Irigaray, Luce. This Sex Which Is Not One. Trans. Catherine Porter. Ithaca, NY: Cornell UP, 1985, argumenta igualmente que a sexualidade feminina é não-visual, “seu órgão sexual representa o horror de nada para ver”; ênfase no original, p. 26.

[25] Plant, Sadie. Zeros + Ones: Digital Women + The New Technoculture. New York: Doubleday, 1997, p. 37.

[26] Campbell-Kelly and Aspray, 181.

[27] Koss, 51.

[28] Koss, 49.

[29] Fitz, 21.

[30] Paul Edwards, “The Army and the Microworld: Computers and the Politics of Gender Identity,” Signs 16, no. 1 (1990): 105, 125; grifos nossos.

[31] Vannevar Bush descreve a ação de um estenógrafo como: “Uma garota aperta languidamente as teclas e olha ao redor da sala e, às vezes, para o interlocutor com um olhar inquietante”. Bush, Vannevar. “As We May Think”. The Atlantic Monthly, July 1945, repr. 1994: http://www.ps.unisb.de/~duchier/pub/vbush/vbush.txt. Em grande parte, as mulheres têm sido deslocadas de programadoras para usuárias, enquanto continuam a dominar a reserva de mão-de-obra na produção de hardware, mesmo quando tais trabalhos têm sido transferidos para o Pacífico.

* A autora joga com o sentido morfológico da palavra. Master: mestre, senhor, dono; full: pleno, cheio. [Nota da tradução].

[32] Para mais sobre a crise dos softwares, e sobre a relação entre isso e a engenharia de software, ver: Cambell-Kelly; William Aspray, p. 196–203; Ceruzzi, p. 105, e Brooks, Frederick P. The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition. NY: Addison-Wesley Professional, 1995.

[33] Mahoney, 15.

[34] Edsger W. Dijkstra, “EWD 1308: What Led to ‘Notes on Structure Programming,’” in Software Pioneers, ed. Broy and Denert, 342.

[35] Edsger W. Dijkstra, “Go to Statement Considered Harmful,” in Software Pioneers, ed. Broy and Denert, 352, 354.

[36] É possível afirmar que go tos são prejudiciais porque são momentos nos quais o computador é diretamente endereçado – ramificações condicionais e loops permitem que um programa seja levado a outra seção sem esse endereço. Isto põe uma questão: precisamente, quem ou o que deve ir para [go to] uma seção diferente? Curiosamente, go to é uma tradução do agenciamento de comando localizado no endereço X. A diferença entre go to e controle de transferência está subjacente à crise da agência no núcleo da programação.

[37] Guttag, John V. “Abstract Data Types, Then and Now”. Software Pioneers, ed. Broy and Denert, p. 444.

[38] Guttag, 444.

* Na mitologia grega, a Primavera Pieriana da Macedônia é sagrada para as Musas, sendo ela fonte metafórica do conhecimento da arte e da ciência. No mundo moderno, foi popularizada a partir do poema Um ensaio sobre a crítica, de Alexander Pope: “Um pouco de aprendizagem é uma coisa perigosa; Beber profundamente ou não provar a primavera Pieriana”. [Nota da tradução].

[39] Guttag, 445.

[40] David Eck, The Most Complex Machine: A Survey of Computers and Computing (Natick, MA: A. K. Peters, 2000), 329, 238.

[41] Koss, “Programming on the Univac 1: A Woman’s Account,” 49.

[42] Paul Edwards, “The Army and the Microworld,” 108–9.

[43] Para mais a respeito do prazer da programação, ver: Torvalds, Linus. Just for Fun: The Story of an Accidental Revolutionary. New York: HarperBusiness, 2001; e Moglen, Eben. “Anarchism Triumphant: Free Software and the Death of Copyright”. First Monday 4, no. 8, 2 August 1999. Acessível em: http://firstmonday.org/issues/issue4_8/moglen/index.html

[44] Ver a discussão de Edwards sobre a obra de John McCarthy, em: The Closed World, p. 258.

[45] Aspray, William; Burks, Arthur (org.). Papers of John von Neumann on Computing and Computer Theory. Cambridge: MIT Press, 1987, p. 413.

[46] Schneiderman, Ben. “Direct Manipulation: A Step Beyond Programming Languages”. In: Wardrip-Fruin, Noah; Montfort, Nick (org.). The New Media Reader. Cambridge: MIT Press, 2003, p. 486.

[47] Laurel, Brenda. Computers as Theatre. Reading, MA: Addison-Wesley Publishers, 1991, p. xviii.

[48] Manovich, Lev. “Generation Flash”, 2002. Acessível em: http://www.manovich.net/DOCS/generation_flash.doc.

[49] Essa noção de empoderamento coloca questões sobre o que significa produzir “código original”, e como não é citado o design de Bauhaus a serviço do design da informação. Manovich, “Generation Flash.”

[50] Manovich, “Generation Flash.”

[51] Manovich, “Generation Flash.”

[52] Jameson, Frederic. Postmodernism, or The Cultural Logic of Late Capitalism. Durham: Duke University Press, 1991, p.51.

[53] Ver: Chun, Wendy Hui Kyong. Control and Freedom: Power and Paranoia in the Age of Fiber Optic. Cambridge: MIT Press, 2005.

[54] Althusser, Louis. “Ideology and Ideological State Apparatuses (Notes Towards an Investigation)”. In: Lenin and Philosophy and Other Essays. Trad. Ben Brewster. New York: Monthly Review Press, 2001, p. 109.

[55] Ver: Žižek, Slavoj. The Sublime Object of Ideology. London: Verso, 1989, p. 11–53.

[56] Ver: Ceruzzi, p. 208–9; Cambell-Kelly, p. 207–29.

[57] No entanto, tais paralelos indubitavelmente revelam o fato de que a nossa compreensão de ideologia está perdendo precisamente, por extensão, a ligação fundamental com modelo teatral de comportamento.

[58] Jacques Lacan, The Seminar of Jacques Lacan, Book II: The Ego in Freud’s Theory and in the Technique of Psychoanalysis (1954–1955), ed. Jacques-Alain Miller, trans. Sylvana Tomaselli (New York: Norton, 1991), 81.

[59] Schwartz, C1.

[60] Schwartz, p. C1.

[61] Manovich, The Language of New Media, p. 48.

[62] Ver: Media Player’s “Licensing Agreement.”

[63] Microsoft vem considerando tal ação em sua iniciativa Palladium. Ver: Florence Olsen, “Control Issues: Microsoft’s plan to improve computer security could set off fight over use of online materials,” Chronicle of Higher Education, 21 February 2003, http://chronicle.com/free/v49/i24/24a02701.htm.

[64] Ver: Kittler, “There Is No Software.”

[65] Ver: Francois Jacob, The Logic of Life: A History of Heredity. Trad. Betty E. Spillman. New York: Pantheon Books, 1973, p. 247–98.

[66] O conceito de “software retórico” de Richard Doyle, desenvolvido em seu On Beyond Living: Rhetorical Transformations of the Life Sciences (Stanford: Stanford University Press, 1997), resume o uso do software como um termo crítico no discurso acadêmico não científico e revela até que ponto o software estrutura nossas ideias, encontrando-se, pois, como um conceito que precisa de maior interrogação.