Você está na página 1de 18

A Teoria da Computação e o

profissional de informática
Vol. I
João José Neto No. 1

Resumo
Discute-se neste trabalho a importância do domínio do conhe-
cimento e da fluência em assuntos teóricos e abstratos como
parte da bagagem conceitual dos profissionais da área de In-
formática. Apresenta-se um quadro panorâmico geral da área,
tecendo-se comentários sobre diversos assuntos teóricos de inte-
resse, procurando-se correlacioná-los e mostrar a sua relevância
para o exercício competente da prática profissional.
Palavras-chave: informática; Computação; Teoria da Computa-
ção; abstrações; ciência; tecnologia; fundamentos; prática; aplica-
ção.

Abstract Escola Politécnica da USP — PCS


This paper discusses the importance of mastering and having de- Departamento de Engenharia de
tailed domain of theoretical and abstract knowledge as a part of the Computação e Sistemas Digitais
conceptual background for professionals in the field of informatics. Av. Prof. Luciano Gualberto,
A broad landscape of this field is shown, a diversity of interesting Travessa 3, n. 158
theoretical subjects are commented and interrelated, and their re-
4
Cidade Universitária
levance for a competent professional practice is emphasized. CEP 05508-900
São Paulo — SP
Keywords: informatics; Computation; Theory of Computation;
abstraction; science; technology; foundations; practice; applicati-
joao.jose@poli.usp.br
ons.

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


1 Introdução um equilíbrio aceitável, de forma que possam cada
qual contribuir a seu modo para uma formação
não-polarizada de um profissional que, apoiado
Nos dias de hoje, em que o imediatismo domina a na solidez que lhe pode conferir o conhecimento
nossa sociedade, permeando muitas esferas sócio- profundo das bases fundamentais da Computação,
culturais, e influindo direta e significativamente seja capaz de, no dia-a-dia, optar, de forma com-
nos rumos de toda a humanidade, diversos aspec- petente, entre a invenção de novas soluções e a
tos da formação dos profissionais da área têm sido adequação, aos interesses de cada momento, de
alvo de discussões e de mudanças, visando sua soluções previamente estabelecidas.
adequação aos nossos tempos.
Em particular, tem sido muito questionada a
conveniência e até mesmo a necessidade de se estu- 1.1 Motivação
dar, conhecer e dominar assuntos abstratos, dado
que o exercício profissional geralmente praticado Pode para alguns parecer anacrônico, na nossa era Vol. I
induz ao uso mecânico e quase cego de elemen- dos produtos prontos para o consumo, que conhe- No. 1
tos pré-fabricados, “de prateleira”, parecendo até cimentos como os oferecidos pela Teoria da Com-
muito estranho discutir a “eventual” importância putação sejam propostos como instrumentos de
para o profissional de um reforço de formação em trabalho para pessoas cujas formações se revelam
conhecimentos complexos, exigentes e abstratos, tão diversificadas, e cujos interesses, são mescla-
como aqueles propostos pela Teoria da Computa- dos com os de outras áreas, como é o caso de tan-
ção. tos profissionais da Informática, cujos alvos mais
Identificam-se aí duas tendências tecnológicas diretos de interesse são os computadores e a com-
que, embora complementares, infelizmente costu- putação.
mam ser interpretadas como sendo radicalmente Não faltaram nem faltarão argumentos de apoio
excludentes: a primeira, sugerindo que se busque ao progressivo esvaziamento de conteúdo das já
preferencialmente o (re)aproveitamento de produ- tão enfraquecidas disciplinas fundamentais dos
tos e resultados de esforços anteriores como forma currículos de formação dos profissionais da área,
de obtenção de recursos humanos produtivos e efi- em nome do pouco interesse prático que se alega
cientes, e a segunda, priorizando o cultivo da for-existir por conhecimentos que, de tão especializa-
mação científica como meio de formação de pro- dos e complexos, conseguem fascinar apenas uma
fissionais preparados para o desenvolvimento de pequena elite.
trabalhos centrados na criatividade. Nem faltam justificativas para a adoção de cri-
Naturalmente, sempre que levadas aos limites, térios cada vez mais restritivos de apoio ao de-
tendências como essas geralmente acabam por senvolvimento da dispendiosa, demorada e incerta
contrapor-se, suscitando, de um lado, adeptos ex- pesquisa básica em tantas universidades de todo
tremos da exploração direta de capacitações já o planeta, em nome da priorização daquelas pes-
consolidadas, para o uso imediato de soluções quisas ditas “aplicadas” e “sustentáveis”, potencial-
previamente desenvolvidas, e de outro, aqueles mente lucrativas, em vista dos resultados que po-
que radicalmente consideram legítimas apenas as dem produzir em menor prazo e com menor custo.
tendências estritamente investigativas, puramente Argumentos dessa natureza infelizmente con-
teóricas, talvez sem compromisso com a realidade. vencem e empolgam a muitos, consequentemente
Aqueles se mostram quase sempre refratários a favorecendo, em vários níveis, tomadas de pos-
promoverem investimentos na formação da com- turas que, em nome dos resultados imediatos e
ponente conceitual dos profissionais, e mais favo- de uma tão desejada “sustentabilidade”, acabam
ráveis a investimentos de rápido retorno, que em eclipsando os efeitos de sua adoção no longo prazo,
geral correspondem a um preparo mais superficial muitos deles adversos, perigosos, inevitáveis, e
e utilitarista, menos formal, mais informativo e possivelmente irreversíveis, pelas restrições que
preponderantemente tecnológico. impõem às ideias e à criatividade.
Os outros, por sua vez, por valorizarem mais Este quadro, tão hostil e tão presente nos nossos
a busca de conhecimentos novos, acabam priori- dias, motiva uma reflexão profunda acerca da im-
zando a pesquisa em áreas pouco exploradas, o portância e da necessidade de um rápido retorno
que exige investimentos de risco, “a fundo per- ao incentivo aos estudos e à pesquisa de base,
dido”, em pesquisa pura, os quais raramente apre- sem objetivos especulativos ou lucrativos, e que
sentam garantias absolutas de retorno do inves- não discriminem, em suas metas, os temas mais
timento, de resultados dos desenvolvimentos na abstratos da Teoria da Computação, os assuntos
forma de produtos úteis à sociedade, do cumpri- emergentes ou desconhecidos, que tipicamente não 5
mento dos prazos inicialmente estimados. costumam estar atrelados à produção imediata de
Como diz a sabedoria popular,“a virtude nunca resultados ou de benefícios materiais.
está nos extremos”, e assim, torna-se conveniente Tal postura, vital para a soberania da nação
que seja identificado aquilo que cada vertente tem no que tange à sua capacitação técnico-científica,
de melhor para oferecer, buscando-se entre elas visa suprir os subsídios essenciais à manutenção

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


da produção científica de vanguarda, bem como principais pontos em que se cruzam as vias da te-
para a formação acadêmica e profissional autô- oria e da tecnologia.
noma daqueles que trabalham na área, cujo pa- Para as diversas situações assim identificadas,
pel se mostra absolutamente essencial à gênese procura-se apresentar as principais razões de con-
não apenas dos fundamentos das futuras tecnolo- vivência das duas frentes, citando-se, quando
gias como também, principalmente, à preparação oportuno, opiniões importantes a respeito de tais
das próximas gerações de profissionais que, ao seu assuntos, emitidas por personagens ilustres da his-
tempo, deverão estar aptos a capacitar outros, e tória da Computação.
a conduzir esses complexos desenvolvimentos sem
Para tanto, temas-chave da Teoria da Compu-
recorrer compulsoriamente à importação de profis-
tação são identificados, delineando-se suas depen-
sionais, a qual nesse quadro certamente terá sido
dências relativas e suas aplicações, e analisando-se
provocada pela então provável deficiência da ca-
a sua importância prática,para que se possa cons-
pacitação local.
tatar mais facilmente a relevância que apresenta, Vol. I
Considerando-se a importância que ganha a para a qualidade profissional de cada um, o do- No. 1
cada momento o aspecto da qualidade, em suas mínio e a fluência em cada um dos aspectos do
mais variadas manifestações, levando-se em conta estudo de tais assuntos.
a existência do diversificado arsenal de ferramen-
Conclui-se o artigo com um convite a uma séria
tas que nos oferecem as teorias conhecidas, muito
reflexão acerca do valor da Teoria da Computa-
poderosas e aplicáveis às mais diversas situações
ção na formação acadêmica dos futuros profissio-
do dia-a-dia, pode-se constatar, pela simples ob-
nais das inúmeras áreas de especialidade em que
servação, que muito pouca ênfase se tem dado,
se subdividem as atividades da Informática.
por ocasião da formação acadêmica do profissio-
nal, a um sério trabalho explícito de conscientiza-
ção, tanto aos alunos como aos professores, rela-
tivo a toda essa conjuntura. 2 Os Aspectos Teóricos da
Torna-se, dessa maneira, muito importante for-
mar uma consciência bem fundamentada do va-
Computação
lor que pode agregar, tanto à qualidade do pro-
fissional de Informática como à dos produtos por Apresenta-se, nesta parte do artigo, a estrutura do
ele desenvolvidos, o conhecimento profundo dos ambiente contextual histórico e técnico em que se
assuntos teóricos que constituem os fundamentos desenvolve o tema de interesse central da presente
conceituais e científicos da Computação. matéria.
O mesmo se pode dizer em relação às indiscu- Em primeiro lugar é considerada a área mais
tíveis prerrogativas técnicas de que gozam os pro- vasta e abrangente do conhecimento, que se refere
fissionais que amplo domínio possuam sobre esses ao estudo da informação e da sua manipulação
temas em relação àqueles que os desconhecem ou automática, e que é conhecida pelo nome de In-
que deles prescindem, pois isso também invariavel- formática.
mente se reflete — nem sempre de forma imedi- Como parte nobre da Informática, identifica-se
ata, porém previsível e inexorável — na qualidade a Ciência da Computação, importante membro de
apresentada pelos resultados do trabalho de cada uma grande diversidade de compartimentos do co-
um. nhecimento humano associados à especialidade, os
Através da identificação e da análise de diver- quais envolvem, entre outros, assuntos relaciona-
sos pontos, considerados essenciais à formação de dos com modelagens, métodos, cálculos, análises,
bases firmes para a conscientização acerca da im- teorias, etc.
portância de uma sólida fundamentação teórica Analisando-se um pouco mais de perto a Ciên-
para os profissionais de Informática, o presente cia da Computação vislumbra-se, entre os muitos
material pretende constituir uma pequena contri- assuntos tratados, a Teoria da Computação [1, 2],
buição, tanto para reforçar convicções sobre esse o mais importante alicerce de suas bases concei-
fenômeno, como para promover uma possível mu- tuais, em que estão apoiados todos os ramos da
dança de postura em relação a esse tema que, em- Computação. Por essa razão, reconhece-se na Te-
bora para alguns se mostre bastante óbvio, explí- oria da Computação um dos mais importantes
cita ou veladamente, com frequência para outros campos de conhecimento fundamental, do qual de-
se constata tão desnecessariamente controverso. pendem fortemente todas as demais áreas.
Sem pretensões de exaurir o assunto, busca-
se neste artigo apontar uma coleção significativa
1.2 Organização deste artigo de assuntos tratados na Teoria da Computação, 6
identificando-se o inter-relacionamento existente
Após essa motivação, apoiada na observação e entre diversos dos temas abrangidos, e realçando-
na análise de alguns fatos da realidade atual do se, quando possível, a importância de seu estudo
mundo da Informática, o presente texto volta-se mediante a indicação do uso que na prática se tem
a uma discussão técnica destinada a levantar os feito de cada um dos grupos de assuntos teóricos.

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


2.1 A Informática cional, precedendo atividades de implementação e
até mesmo da idealização de aparatos físicos ca-
pazes de resolver automaticamente o problema em
Em toda a história, constata-se que, antes mesmo
questão.
que determinadas questões, algumas das quais
bastante complexas, tenham sido sequer formu- Os resultados pioneiros de pesquisas como as de
ladas pela primeira vez, os cientistas costumam Boole, Turing, Gödel, Church, Chomsky e de tan-
se antecipar apresentado para elas, diversas res- tos outros, apresentados com tanta antecedência
postas interessantes, elegantes e criativas, como em relação ao advento das tecnologias que os vi-
resultados de suas pesquisas. riam a utilizar, revelaram-se verdades gerais, fun-
damentais, independentes da tecnologia, imunes
Embora nem fosse possível imaginar então a fu-
ao tempo e às áreas de aplicação, refratárias à
tura existência de computadores digitais, e me-
moda, à política, às preferências e ao mercado,
nos ainda, que aspecto teriam ou qual importância
extremamente poderosas e perenes, continuando Vol. I
eles viriam a ter nos dias de hoje, já nos meados
por essa razão em pleno uso, incontestes, válidas
do século XIX George Boole brindava a Ciência No. 1
e atualíssimas, até os nossos dias.
da Computação com a imensa contribuição repre-
sentada pela famosa álgebra que, com justiça, leva
seu nome. 2.2 Informática e a Ciência da
Com as funções por ele idealizadas, tornou-se Computação
possível criar modelos precisos, tanto do funcio-
namento das volumosas, lentas e dispendiosas re- A Informática dedica-se ao estudo do processa-
des de circuitos lógicos eletromecânicos, utilizadas mento lógico e automático da informação, que em
nos primeiros computadores, como igualmente dos geral é atualmente realizado com a ajuda de com-
ágeis, compactos e econômicos circuitos digitais putadores digitais. Manifesta-se preponderante-
microeletrônicos modernos. mente no estudo e desenvolvimento de computa-
O advento da modernidade trouxe a industria- dores, de seus componentes mecânicos e eletrôni-
lização, exigindo progressos técnicos que permitis- cos, e de seus programas, bem como em diversos
sem às máquinas resolver problemas de forma me- aspectos da concepção, realização e uso de lingua-
lhor, mais rápida e mais confiável que os operários. gens de programação, tecnologias de desenvolvi-
Surgiram então os primeiros algoritmos, na forma mento e softwares de aplicação.
de receituários que visavam preparar tais máqui- Nos dias de hoje, a Informática se mostra virtu-
nas para o processamento automático de certos almente onipresente, manifestando-se em bancos,
tipos de informação. no comércio e na indústria, em componentes mi-
Importantes nomes apareceram, tais como Tu- croeletrônicos embutidos em eletrodomésticos, na
ring, Gödel e Church, contribuindo decisivamente etiquetas de produtos, em telefones celulares, au-
nessa fase embrionária da Informática através de tomóveis, jogos eletrônicos, instrumentos de me-
sua marcante atuação, referente à investigação da dida, sistemas de comunicação, câmaras fotográ-
viabilidade ou não de se resolver certas classes ficas, equipamentos de laboratório, robôs, dispo-
de problemas por aplicação mecânica e sequen- sitivos de sinalização, de aquisição de dados, de
cial de uma restrita variedade de operações muito sensoriamento remoto e tantos outros.
elementares. É nessa vasta área que podem ser localizadas a
Na década de 1950, Chomsky, investigando abs- Teoria da Informação, a análise numérica, a repre-
trações para uso em linguística, plantou os ali- sentação do conhecimento, a modelagem de pro-
cerces teóricos das gramáticas gerativas, que mais blemas, os métodos teóricos e formais, os proces-
tarde vie-ram a manifestar sua grande utilidade sos de cálculo, e entre todas essas, também a Ciên-
prática nessa e em diversas outras aplicações, com cia da Computação, alvo da presente publicação.
destaque à análise léxica e sintática de linguagens
de programação, à modelagem do comportamento
2.3 A Computação
de organismos biológicos, ao projeto de hardware
e ao processamento de linguagem natural. O termo computação costuma ser empregado para
Esses desbravadores anteviram, pesquisaram e designar o uso de algoritmos para a resolução de
deram resposta — algumas, muito antes da con- problemas. Como se diz formalmente, esse vocá-
cepção dos primeiros computadores — a variadas bulo alude à execução de algoritmos como meio
e complexas questões, abrindo um caminho bem para realizar o cálculo de funções. Foi praticada
fundamentado e seguro não somente para o surgi- por milênios no passado, mentalmente ou por es-
mento como também para a evolução que condu- crito, muitas vezes com o auxílio de tabelas. 7
ziu a Informática ao estado em que hoje se encon- Ramo da Matemática e da Ciência da Computa-
tra. ção, a Teoria da Computação surgiu no princípio
Esta é sem dúvida uma significativa manifesta- do século XX, antes da invenção dos computado-
ção histórica da importância de um estudo teórico, res, e estuda modelos formais de computação, sua
profundo, da natureza de um problema computa- aplicabilidade e sua viabilidade prática à resolu-

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


ção das diversas classes existentes de problemas. vos podem ir alterando, de forma autônoma,
Desse estudo emergiram propostas, na forma de seu próprio comportamento,em função do
dife-rentes modelos de computação, representados seu histórico de funcionamento. Com isso,
através de diversificadas abstrações, apresentadas um dispositivo adaptativo torna-se equiva-
em variadas notações. Segundo a conjuntura de- lente à Máquina de Turing, portanto po-
nominada Tese de Turing-Church, todos esses mo- derá represen-tar o conhecimento adquirido
delos se equiparam uns aos outros quanto ao seu em sua operação, tendo, no entanto, sobre a
poder computacional, além de serem todos tam- Máquina de Turing, nesse aspecto, a vanta-
bém equivalentes a um computador hipotético que gem de concentrar, de forma localizada, em
oferecesse uma disponibilidade ilimitada de me- seu próprio conjunto de regras, a represen-
mória: tação de tal conhecimento. Assim, torna-se
possível identificar e acompanhar até mesmo
• A Máquina de Turing, que foi proposta de forma incremental a aquisição do conheci-
como modelo universal de computação, e mento por um dispositivo adaptativo, atra- Vol. I
trabalha com operadores muito rudimenta- vés da inspeção do seu conjunto de regras e No. 1
res sobre instruções e dados gravados em da sua variação toda vez que, durante sua
uma fita de trabalho de comprimento infi- operação, alguma ação adaptativa for exe-
nito. Dos modelos universais de computa- cutada. Por essa e diversas outras razões,
ção existentes, talvez seja o mais conhecido os dispositivos adaptativos têm sido conside-
e famoso, e é bastante aderente ao estilo de rados como alternativas atraentes para a re-
programação representado pelo paradigma presentação de fenômenos de aprendizagem,
imperativo; na área de inteligência artificial.
• O Cálculo Lambda [3], formalismo que foi
• Muitos outros modelos de computação têm
proposto e empregado na representação de
sido propostos e podem ser encontrados com
programas desenvolvidos segundo o para-
facilidade na literatura, entre os quais po-
digma de programação adotado pelas lin-
dem ser destacados: os Sistemas de Post, as
guagens funcionais, e que se mostra muito
Cadeias de Markov, as máquinas de Mealy e
adequado para a representação formal de
de Moore, diversas outras variantes das má-
fenômenos computacionais ligados a lingua-
quinas de estados, dos autômatos e transdu-
gens de programação declarativas;
tores finitos e de pilha, Máquinas de Turing
• As Funções Recursivas [2], utilizadas em Universais, máquinas virtuais diversas, uti-
Matemática desde épocas muito anteriores lizadas na execução de diversas linguagens
à dos computadores, podem também servir de programação (P-system, Java byte-code,
como um modelo computacional inspirado etc), Redes de Petri, Statecharts, máquinas
naquela ciência, e, ao contrário da maioria probabilísticas, e inúmeras outras.
dos outros modelos em uso, têm a grande
A Teoria da Computabilidade investiga a pos-
vantagem de permitir a representação e a
sibilidade de máquinas computacionais e de cer-
manipulação direta de valores numéricos;
tos formalismos teóricos adotados como modelos
• As Gramáticas Gerativas [4] permitem a re- de computação apresentarem ou não a capacidade
presentação de linguagens através do uso de de realizarem automaticamente determinados ti-
regras de substituição, que operam sobre pos de computação. Em termos do que se conhece
sequências de símbolos, sendo muito empre- hoje dos computadores e da computação, uma ver-
gadas na especificação e na representação de são dessa investigação pode ser traduzida na busca
linguagens artificiais,como as de programa- de respostas para a pergunta seguinte: é possível
ção e de outras notações constituídas de ca- ou não construir um algoritmo capaz de resolver
deias de caracteres com lei de formação co- de forma automática um dado problema através da
nhecida, tornando natural a formalização e execução iterativa de passos de instruções em um
a manipulação algorítmica de textos simbó- dado dispositivo computacional, como, por exem-
licos. plo, um computador digital ou algum outro modelo
• Os Dispositivos Adaptativos [5], particular- computacional?
mente aqueles baseados em autômatos, são Mais abrangente, a Teoria da Computação pro-
modelos de computação capazes de repre- põe, estuda e compara modelos de computação,
sentar fenômenos computacionais comple- as classes de problemas que cada um deles con-
xos através de quaisquer abstrações cujo segue resolver e os limites a que cada qual está
comportamento seja descrito através de um sujeito. Ilustrando, podem ser citados alguns pro-
conjunto de regras dinamicamente variá- blemas para os quais é impossível criar progra- 8
vel. Essa dinâmica se obtém associando- mas de computador que lhes sirvam de solução.
se à aplicação de cada regra uma ação que São esses os problemas ditos incomputáveis, entre
especifica alterações a serem realizadas so- os quais se destacam: o problema da parada da
bre o conjunto de regras. Assim,ao executa- Máquina de Turing; o problema da correspondên-
rem essas ações adaptativas, tais dispositi- cia de Post; determinar se a intersecção de duas

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


linguagens livres de contexto arbitrárias é tam- uso extensivo de expressões regulares para a espe-
bém livre de contexto; determinar, para uma gra- cificação de padrões de busca em cadeias de ca-
mática livre de contexto sobre um alfabeto não- racteres levou diversas linguagens de programa-
unitário, se a linguagem que ela representa é regu- ção e sistemas operacionais a oferecerem recursos
lar;determinar se uma gramática livre de contexto nativos específicos com essa finalidade. É o caso
arbitrária é ambígua; determinar se uma lingua- de lingua-gens como Perl e Python, e de sistemas
gem livre de contexto arbitrária é inerentemente operacionais como UNIX, Linux e similares.
ambígua. Muitos outros problemas incomputáveis No âmbito das linguagens regulares, é notório o
existem, mas felizmente constata-se a existência uso de autômatos finitos e de máquinas de estados
de outra infinidade de problemas computáveis, de finitos em um grande número de aplicações impor-
grande importância prática, e isso motiva o seu tantes, tais como no projeto de circuitos sequen-
estudo, do ponto de vista tanto teórico como prá- ciais, em alguns sistemas voltados à automatiza-
tico. ção da resolução de problemas, na construção de Vol. I
Dos problemas computáveis, alguns se mostram protocolos de comunicação, sequenciadores, con-
No. 1
impraticáveis por exigirem um tempo abusivo ou troladores de interfaces Web, analisadores léxicos
uma quantidade de memória excessiva para sua de compiladores e interpretadores para linguagens
operação. Para os decidíveis é possível a constru- de programação, na especificação de sistemas rea-
ção de algoritmos que sempre terminam, quais- tivos e de tem-po real, e até mesmo na especifica-
quer que sejam os dados a eles fornecidos. Para ção da lógica de determinados tipos de programas.
os indecidíveis, é possível elaborar procedimentos Linguagens livres de contexto, as respectivas
computacionais, porém estes terminam somente gramáticas e os autômatos de pilha ocupam igual-
quando se lhes apresentam dados “corretos”, ade- mente seu lugar na imensidão de aplicações que
rentes ao que normalmente se espera, podendo, no fazem uso das abstrações e dos resultados da te-
entanto, iniciar um ciclo infinito de execução em oria da computação. Assim, formalismos grama-
resposta aos demais dados. ticais livres de contexto têm sido usados extensi-
O estudo da decidibilidade de algoritmos data vamente desde a época de sua concepção na re-
dos anos 1930, quando os estudiosos da área ten- presentação parcial da sintaxe de linguagens de
tavam demonstrar ser inviável realizar raciocínios programação [4, 6, 7]. Autômatos de pilha podem
matemáticos com a ajuda de dispositivos auto- ser empregados na representação de fenômenos
máticos. Um interessante problema nessa área é linguísticos envolvendo aninhamentos sintáticos, e
o das provas automáticas dos teoremas de uma servem assim para modelar o comportamento de
dada teoria. É possível provar que o excessivo programas constituídos por um conjunto de proce-
tempo de resposta de provadores de teoremas para dimentos potencialmente interdependentes e mu-
determinadas teorias torna impraticável seu uso tuamente recursivos.
com fórmulas grandes. É o caso da Aritmética de Menos explicitamente exploradas, as linguagens
Presburger, que se mostra decidível, porém dupla- dependentes de contexto estão muito mais disse-
mente exponencial em complexidade. minadas no mundo da computação do que pode
Nos casos de problemas de alta complexidade parecer à primeira vista. Linguagens de progra-
computacional, pode ser interessante determinar mação são, em sua quase totalidade, linguagens
para quais situações vale a pena desenvolver uma dependentes de contexto, para cuja representação
solução algorítmica e para quais outras é mais con- as gramáticas livres de contexto e os autômatos
veniente efetuar verificações extensivas de propos- de pilha se revelam insuficientes. Embora existam
tas de solução. O estudo das classes P e NP de diversos modelos suficientemente expressivos para
complexidade computacional costuma analisar fa- representá-las, seu uso costuma ser evitado por
mílias de problemas que ilustram bem esta situa- gerar formulações extensas, complexas e obscuras.
ção. Em lugar disso, costuma-se aproximar, na prática,
Se de um lado a Teoria da Computação busca as linguagens de programação por meio de mode-
soluções gerais e grandiosas para classes amplas los sintáticos simplificados, livres de contexto, os
de problemas, por outro lado ocupa-se também quais devem ser complementados por trechos de
de determinar modelos de complexidade mínima código, funções ou procedimentos externos, que
que resolvam satisfatoriamente situações menos se responsabilizem pela representação das depen-
gerais, de interesse prático. dências de contexto, ausentes na formulação sim-
plificada. Esta tem sido prática corrente na cons-
Uma forma de avaliar o poder de expressão de
trução de compiladores e de outros processadores
um modelo computacional é através do estudo da
de linguagens de programação.
classe das linguagens formais que esse modelo é
capaz de representar; o resultado dessa prática é 9
uma taxonomia baseada na hierarquia proposta 2.4 A Ciência da Computação
por Chomsky para as linguagens formais.
Isso tem importantes aplicações práticas no es- A Ciência da Computação estuda os fundamen-
tudo de linguagens, gramáticas e autômatos: o tos e a prática das computações, investigando
e explorando, através de algoritmos computacio-

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


nais, estruturas matemáticas que modelam fatos quente de generalidades, de atualidades e de in-
do mundo real, permitindo assim que processos formação de divulgação.
computacionais sejam formulados de maneira pre- Embora para a área mercadológica, estratégica
cisa para então manipulá-los devidamente, aten- e empresarial, esse tipo de preparo seja essencial,
dendo as necessidades das aplicações desejadas. para a formação de um profissional com perfil mais
Para atingir esses objetivos, oferece ao profis- técnico tal esquema geralmente se traduz somente
sional uma série de contribuições teóricas: pro- em uma cultura fugaz, específica e temporária,
porciona bases em Linguagens Formais, na Teoria acerca dos fatos, do estado da arte e da tecno-
dos Autômatos e em Complexidade Computacio- logia em moda em cada momento histórico, e isso
nal, oferece métodos para que seja verificado se costuma mostrar-se insuficiente para o exercício
um requisito está sendo atendido ou não, disponi- competente dos aspectos profissionais técnicos de
biliza técnicas para o desenvolvimento de modelos, alcance mais profundo.
e proporciona meios com os quais se pode avaliar Em lugar de simplesmente informar o interes- Vol. I
o poder dos modelos adotados. sado, preparando-o a produzir rapidamente para No. 1
Cada vez mais potentes e módicos, os compu- con-sumo imediato no mercado de trabalho, a for-
tadores digitais constituem os dispositivos tecno- mação acadêmica e profissional baseada em funda-
logicamente mais importantes que materializam mentos sólidos é capaz de conceder-lhe algo muito
fisicamente os modelos abstratos oferecidos pela mais versátil e perene: o embasamento de que ne-
Ciência da Computação. Ao mesmo tempo, os cessita para dominar os assuntos que constituem
programas (softwares) que neles se executam cons- as mais profundas raízes do conhecimento da área,
tituem a melhor concretização das abstrações ló- que resistam ao tempo, à moda e à tecnologia.
gicas que com eles pode ser realizada no dia-a-dia. Isso não deve ser entendido como uma apologia
Isso abre inúmeras possibilidades para a utili- à alienação quanto a avanços tecnológicos, mas
zação prática de abstrações computacionais, quer como um alerta para que os atraentes acenos do
através do emprego de linguagens de programação imediatismo não ofusquem o profissional exata-
bem projetadas e aderentes à aplicação, quer para mente naquele que seria seu melhor momento para
a construção de compiladores ou interpretadores, priorizar sua formação conceitual em temas abran-
permitindo a disponibilização, nos computadores, gentes e universais, reduzindo – sem anular – a pri-
dos recursos oferecidos por essas linguagens. oridade da assimilação rápida de atualidades e da
Os caminhos disponíveis para a concepção de absorção imediata de treinamentos específicos em
todas essas abstrações e dispositivos tecnológicos, ferramentas tecnológicas particulares, de interesse
assim como os métodos utilizados para a avaliação imediato e efêmero, mas restrito e localizado.
das aplicações da vida real que com elas são de- Com uma formação menos restrita e específica,
senvolvidas contam-se entre as principais contri- o profissional de computação sempre terá à sua
buições de cunho prático proporcionadas pela Ci- disposição uma gama considerável de conhecimen-
ência da Computação, as quais dificilmente teriam tos oriundos da Ciência da Computação, os quais
surgido sem os importantes fundamentos teóricos virtualmente poderão ser utilizados no desenvol-
que lhes deram origem. vimento de variadas aplicações, em qualquer área
Pode-se identificar que uma importante caracte- de sua atuação profissional, bastando para isso
rística das teorias das quais se ocupa a Ciência da que, inicialmente, adquira habilidades para mode-
Computação é que elas se apóiam em bases ma- lar adequadamente suas aplicações usando o fer-
temáticas muito bem estruturadas, constituindo ramental teórico assim assimilado, de modo que
assim um sólido corpo de elegantes fundamentos, possa, num segundo momento, convertê-los em
aplicáveis a todas as atividades da área. programas executáveis, ou seja, representados na
forma de algoritmos.
A motivação maior do desenvolvimento deste
ramo do conhecimento gira em torno da investi- Aqui se pode avaliar bem a importância de um
gação do alcance das computações, da possibili- profissional da área conhecer e dominar profunda-
dade ou não de se efetuarem determinadas com- mente, em teoria e na prática, todo o processo de
putações, culminando no importante conceito de elaboração de algoritmos, desde a sua concepção,
algoritmo, cuja possibilidade de existência é for- passando posteriormente pelos procedimentos de
temente associada à viabilidade prática de mate- elaboração, materialização, verificação, e implan-
rialização das computações realizáveis. tação, tanto de algoritmos representados por pe-
quenos trechos de código como dos atualmente fre-
O estudo sério dos assuntos científicos da com-
quentes sistemas de software, de porte cada vez
putação proporciona ao interessado um duradouro
maior.
lastro de formação, de largo espectro, a respeito
dos assuntos em questão, que lhe garante segu- Não basta que, durante o seu período de prepa- 10
rança conceitual ao longo de toda sua vida pro- ração acadêmica para o mercado, o profissional se
fissional.Tal base técnica dificilmente pode ser ad- detenha apenas no estudo de um ou outro desses
quirida quando a formação do profissional estiver elementos, pois todos eles se mostram essenciais à
afastada da teoria, mas centrada na digestão fre- sua formação integral. Mostra-se, assim, de suma

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


importância que os programas dos cursos univer- mente melhor de todas as disciplinas da área.
sitários da área levem em consideração essas pon- É preciso lembrar que, como seria de se espe-
derações, equilibrando a ênfase que dão a essas rar, a Teoria da Computação se fundamenta em
diversas componentes formativas de seus alunos. métodos e técnicas da Matemática, em particu-
lar, na teoria dos conjuntos. Scheurer [11], alerta
que se deveria dar mais atenção aos conhecimen-
2.5 A Teoria da Computação tos de teoria dos conjuntos ministrados aos futuros
profissionais da área, de modo que estes possam
No vasto campo da Ciência da Computação, pode- empregá-los de forma tão natural quanto os pro-
se dizer com segurança que a Teoria da Computa- gramadores utilizam com fluência as suas lingua-
ção ocupa um merecido lugar de destaque, devido gens de programação.
à sua importância como sustentáculo conceitual
Recorda ainda esse autor que os processos de
de todos os conhecimentos da área, tanto dos mais
modelagem formal e matemática independem do Vol. I
fundamentais e abrangentes como dos mais parti-
uso ou não de computadores. Afirma ainda que, No. 1
culares e específicos [8–10].
didaticamente, este importante fato deveria ser
Eliminadas as peculiaridades dos problemas es- considerado com muita ênfase ao se ministrar co-
pecíficos e a influência de idiossincrasias apresen- nhecimentos básicos aos futuros programadores,
tadas pelas tecnologias específicas em uso, a Te- permitindo-lhes assim assimilar em primeiro lu-
oria da Computação investiga, estabelece e inter- gar os fundamentos, para, só depois de adquirida
preta propriedades intrinsecamente associadas aos a devida habilidade de modelagem, começarem a
sistemas computacionais, daí tirando conclusões utilizar o computador para a implementação dos
universais de ampla aplicabilidade, e que se pro- modelos.
vam independentes de casos e de especificidades.
É instrutivo constatar que a Teoria dos Conjun-
Os resultados da Teoria da Computação, na tos e a Lógica Matemática funcionam como alicer-
sua maioria obtidos na primeira metade do século ces para muitas áreas da computação, merecendo
passado,comprovaram-se totalmente refratários à destaque a engenharia de software, o software bá-
história. Ilustrando através de um caso particu- sico e as linguagens de programação, nos quais se
lar, na área da programação pode-se dizer que tais pode identificar o uso extensivo dos seus conceitos
resultados não foram afetados pelas evoluções tec- no estudo e na prática de métodos algébricos tra-
nológicas refletidas no paradigma de programação dicionais, de métodos formais, da semântica axi-
adotado, valendo indiferentemente para progra- omática para linguagens imperativas, da semân-
mas desenvolvidos em linguagens funcionais, im- tica denotacional para linguagens declarativas, e
perativas, lógicas, orientadas ou não a objetos, e em tantas outras situações.
explorando ou não o paralelismo ou a concorrên-
Outra área, que merece atenção pelo amplo uso
cia.
que faz de assuntos teóricos fundamentais, envolve
Devido à universalidade de que são dotadas, as Linguagens de Programação [4, 6, 7, 12–16] e
as poderosas ferramentas teóricas proporcionadas os correspondentes Paradigmas [17, 18]: impera-
pela Teoria da Computação nem sempre são di- tivo, funcional, lógico, orientado a objetos, para-
reta e imediatamente aplicáveis a casos particula- lelo, concorrente, etc., cada qual extensivamente
res, a um produto especial ou a alguma tecnologia explora um ou mais temas associados, da Teoria
específica, e esse fato infelizmente leva muitos pro- da Computação.
fissionais – por falta de base ou desinteresse – a
Na área da modelagem de dados e na teoria dos
afastar-se delas, a desconsiderar e até a desvalori-
Bancos de Dados, identificam-se muitos conceitos
zar sua importância.
que se fundamentam em conceitos matemáticos
Não é de se esperar que profissionais despre- básicos oriundos de temas tais como a teoria dos
parados sejam capazes de apreciar o alcance dos conjuntos, as relações e funções, a álgebra e o mo-
recursos teóricos, pois para isso deveriam possuir delo relacional.
habilidades que os capacitassem à análise de situa-
Muitas outras áreas interessantes poderiam ser
ções práticas, permitindo-lhe identificar, destacar
aqui listadas cujo lastro teórico e fundamental está
e utilizar, dentre tantos resultados teóricos dispo-
na Teoria da Computação, mas as que foram ante-
níveis, aqueles que se aplicam ao seu caso prático
riormente apresentadas constituem uma amostra
específico, mas isso só se consegue com um bom
significativa do alcance exibido por essa impor-
preparo técnico prévio, que lhes proporcione am-
tante teoria fundamental da Ciência da Compu-
plo domínio sobre os fundamentos dessa teoria.
tação, e do papel desempenhado por ela no desen-
Reconhecendo a imensa importância desse ramo volvimento e no aprimoramento técnico das apli-
do conhecimento, Lewis e Papadimitriou [2] acer- cações computacionais. 11
tadamente recomendam seu estudo acadêmico
precoce, como forma de proporcionar não somente
a assimilação de habilidades matemáticas, essen-
ciais ao futuro profissional, como também as bases
conceituais para um aproveitamento significativa-

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


3 Conveniência do Estudo de cia frequente do despreparo, por parte dos pro-
fissionais, na compreensão, em profundidade, da
Teoria natureza dos seus projetos.
Reynolds [20] alerta também que de um pro-
Em seu prefácio ao livro de F. S. Beckman [19], fissional da área se espera não apenas competên-
já em 1980 o corpo editorial da série escreve que cia nas especificidades do assunto de sua especia-
o campo do software básico surgiu a partir da lidade, mas que domine muito bem cada um dos
soma dos esforços esparsos de inúmeros profissi- temas a ela relacionados, em especial os princípios
onais de diversas especialidades, pressionados a científicos subjacentes de maior profundidade.
produzirem artesanalmente programas de sistema Enfim, convém ainda notar que um conheci-
que fossem práticos e funcionais. mento fluente da teoria aguça o juízo estético do
Adiante, em seu próprio prefácio, esse autor re- profissional, dando-lhe habilidade para priorizar
conhece a vastidão dos temas que compõem o as- em seus projetos os aspectos mais naturais, es- Vol. I
sunto do livro,e afirma que em suas 443 páginas pontâneos e elegantes dos processos computacio- No. 1
não se aprofunda suficientemente nos aspectos for- nais, apurando ainda seu senso estético, favore-
mais da matéria, e que por essa razão, o seu li- cendo assim a obtenção de produtos com maior
vro não seria recomendável para estudantes sérios beleza estrutural.
de matemática em cursos de graduação ou pós- No mundo de hoje, que tende a priorizar um
graduação devotados ao tema. contínuo e imediato processo de captura e memori-
É razão para uma reflexão preliminar um con- zação das novidades de uma tecnologia em rápida
fronto entre a opinião emitida pelo autor acerca evolução, a cultura assim adquirida mostra-se efê-
de seu próprio texto e o notório excelente nível mera e insuficiente, motivando que seja resgatada
apresentado pela publicação em pauta, especial- a habilidade técnica do profissional através do in-
mente se a compararmos com tantos textos hoje centivo ao uso freqüente e sistemático do raciocí-
adotados em cursos superiores da área. nio abstrato para a recuperação e expansão plena
dos seus processos mentais.
Neste ponto, cabe tecer mais algumas conside-
rações sobre alguns dos óbvios porquês do estudo Num cenário como esse, torna-se indispensável
dos assuntos teóricos da Computação, os quais la- o exercício da habilidade de raciocinar, e não ape-
mentavelmente até mesmo nos dias de hoje, ape- nas de memorizar, e neste papel é insubstituível o
sar das evidências, continuam sendo considerados estudo da teoria, dele resultando uma preciosa de-
por tantos – seguramente por desconhecimento do senvoltura na formulação precisa e clara de idéias,
assunto – como desnecessários, difíceis, desagradá- na capacitação ao julgamento do alcance e das li-
veis e até mesmo inúteis. mitações dos aparatos tecnológicos em uso, e na
habilitação para uma boa avaliação técnica de pro-
Uma exposição desses profissionais, sem pre-
postas de soluções algorítmicas para os problemas.
conceitos, às inúmeras belas e profundas questões
conceituais que permeiam essa área do conheci-
mento torna-se a estratégia mais eficaz para con-
tornar os tantos malefícios advindos desse fenô- 3.1 Temas-chave da Teoria da
meno. Computação
Reynolds [20], em seu livro, lembra que, em
Permeando todos os estudos relacionados com os
busca de atividades remuneradas permanentes
aspectos teóricos da Computação, encontram-se
que os satisfaçam, os profissionais costumam,
os assuntos usualmente conhecidos como Matemá-
principalmente no início de suas carreiras, mudar
tica Discreta [23,24] e Lógica Matemática [25,26].
de emprego com uma certa frequência, e isso re-
força a necessidade que têm de uma base concei- Truss [27] afirma que, independentemente de
tual sólida e abrangente, especialmente na área da eventuais aplicações, somente por sua complexi-
Computação. dade e beleza a matemática já é em si própria
fascinante e significativa, merecendo atenção e es-
Segundo Greenlaw [21], o conhecimento da te-
tudo.
oria auxilia o profissional até mesmo em aspectos
de natureza humanística, como é, por exemplo, o Diz também ser um verdadeiro prêmio o fato
caso da utilização das complexas técnicas da crip- de a matemática ser também útil, embora isso de-
tografia para garantir privacidade no computador, corra da compreensão profunda da lógica e elegân-
e o domínio desse conhecimento influi decisiva- cia subjacentes.
mente na competência com que o profissional da Completa sugerindo que não se veja a matemá-
computação exerce sua ocupação. tica como uma coleção complicada e incompreen- 12
Referindo-se aos projetos de software da sua sível de abstrações, mas como um interessante e
época, Wulf, Shaw e Hilfinger afirmavam [22], já prazeroso tema de estudo, vivo e poderoso.
em 1981, que as deficiências principais observadas Entre os tópicos mais comumente estudados da
nos programas de então não eram decorrentes de Teoria da Computação, merecem destaque parti-
limitações físicas das máquinas, e sim, consequên- cular os seguintes:

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


• matemática discreta, teoria dos grafos, teo- • expressões regulares, que são formas grama-
ria dos conjuntos e teoria das funções recur- ticais muito populares de descrição de lin-
sivas; guagens regulares, têm sido modernamente
• linguagens formais e autômatos; adotadas como notação muito conveniente e
prática para a especificação de leis simples
• máquinas universais, computabilidade, algo-
de formação de cadeias simbólicas, e, cada
ritmos;
vez mais, utilizadas no dia-a-dia de inúme-
• complexidade, intratabilidade; ras atividades profissionais, estando dispo-
• máquinas finitas sequenciais com entrada e nível como recurso nativo de muitas lingua-
saída, transdutores, máquinas de Mealy e de gens de programação, aplicando-se princi-
Moore; palmente em análise léxica, na categorização
• lógica matemática, gramáticas formais, mo- de cadeias, no alinhamento de textos e no re-
delos matemáticos, teoremas; conhecimento e identificação de padrões se-
quenciais simples; Vol. I
• aspectos teóricos subjacentes a redes neu- No. 1
rais, computação evolutiva e sistemas nebu- • gramáticas gerativas, originalmente estuda-
losos. das e propostas para aplicações em lingüís-
tica, representam formas construtivas para a
Além de darem uma visão que permite avaliar o
especificação de linguagens em geral, encon-
alcance e as limitações dos computadores, uma ob-
trando freqüentes aplicações, não apenas na
servação menos superficial permite assegurar que,
sua área inicial de interesse, como também
longe do que seria intuitivo, as complexas estru-
na análise de lingua-gens complexas, e na
turas conceituais estudadas na Teoria da Compu-
especificação formal de notações para a ex-
tação gozam, na prática, de uma extraordinária
pressão de programas nãoconvencionais, tais
aplicabilidade.
como ocorre no projeto de linguagens para
Assim, as ferramentas conceituais oferecidas programas aplicativos especiais;
pela teoria viabilizam a obtenção de soluções para
muitos complexos problemas da prática, e apon- • a teoria da complexidade computacional [28]
tam formas elegantes e econômicas para a realiza- e de algoritmos, que se ocupa do estudo de
ção tecnológica de tais soluções. problemas que permitem a obtenção de so-
luções algorítmicas, ou seja, representáveis
Destacam-se, entre muitos outros, os seguintes
através de programas de computador. Es-
casos ilustrativos:
tudos nesses domínios têm propiciado o sur-
• a álgebra booleana e a teoria das máqui- gimento de métodos e técnicas destinados
nas sequenciais fornecem um substrato con- a identificar a viabilidade de construção de
ceitual essencial para a descrição de muitos algoritmos cujo tempo de resposta não seja
fenômenos computacionais, sendo em parti- intrinsecamente abusivo, e que não apresen-
cular extensivamente utilizadas no projeto tem exageradas exigências de memória de
lógico de computadores e de sistemas di- trabalho. Em outra vertente, procuram ga-
gitais em geral, de codificadores, de siste- rantir que algoritmos de criptografia se be-
mas de comunicação, de controladores e de neficiem exatamente da dificuldade compu-
robôs; tacional apresentada por alguns problemas
• a teoria das relações e a álgebra relacional especiais, os quais têm constituído o funda-
constituem fundamentos teóricos nos quais mento de muitos dos protocolos criptográfi-
se baseiam muitas técnicas e métodos hoje cos modernos;
disponíveis, que nas aplicações práticas pro- • a adaptatividade [5] é outro aspecto que me-
porcionam formas metódicas e muito ade- rece especial consideração, pelo poder com-
quadas para a formulação rigorosa e confiá- putacional que pode proporcionar, e pela
vel de sistemas de software que operam so- compatibilidade que apresenta com os for-
bre complexos bancos de dados; malismos clássicos estudados na Teoria da
• autômatos, transdutores e outras máquinas Computação. A ideia principal em que se
de estados clássicas, formuladas com base baseia é a possibilidade que tem um dis-
em estados internos, funções de transição e positivo conceitual adaptativo de automo-
funções de saída, têm auxiliado significativa- dificar dinamicamente seu comportamento.
mente na elaboração de pré-processadores, Essa propriedade lhe confere o mesmo poder
de compiladores, e no processamento simbó- computacional da Máquina de Turing. Po-
lico de cadeias de símbolos. Essas abstrações dem ser identificadas diversas manifestações
constituem o alicerce de inúmeros softwares, históricas deste e de outros conceitos afins. 13
de interfaces entre o ser humano e os compu- Entre as principais, destacam-se: (i) direta-
tadores, em particular os de acesso às redes mente na máquina – muitos programas an-
de computadores, de processos de automa- tigos, originalmente produzidos em lingua-
ção industrial e de protocolos de comunica- gem de baixo nível, e até mesmo em lingua-
ção digital; gem de máquina, cujo código se automodi-

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


ficava para melhor aproveitar a memória do tal conceitual de extraordinária aplicabilidade a
computador, ou então para realizar opera- outras disciplinas, habilitando o profissional a de-
ções não disponíveis nos comandos básicos senvolver argumentações matemáticas, formais e
da máquina; (ii) nos sistemas de programa- rigorosas, e proporcionando uma grande familia-
ção – programas cujo código era organizado ridade com os fundamentos e princípios da Ciência
como um conjunto de overlays, que se re- da Computação.
vezam dinamicamente na ocupação de uma Muitas aplicações deste ramo do conhecimento
mesma área de memória, viabilizando assim podem ser identificadas. Dentre as mais clássi-
a execução de programas que de outra forma cas, destacam-se: o processamento de linguagens
não caberiam na memória física do compu- de programação textuais, a representação de pro-
tador; (iii) nas linguagens de programação cessos, estruturas e protocolos de comunicação, do
– as linguagens extensíveis, que permitem fluxo da lógica dos programas, e de máquinas cujo
ao programador definir novos comandos na funcionamento depende de sucessivas alterações
linguagem, para depois utilizá-los na codifi- Vol. I
do seu estado interno.
cação de seus programas; (iv) nas metalin- No. 1
Arto Salomaa [36], cita Alfred Aho, que em uma
guagens – as gramáticas de dois níveis, que
palestra teria feito referência à teoria de lingua-
permitem criar, em duas etapas, gramáticas
gens formais como sendo a flor da ciência da com-
específicas das sentenças particulares de lin-
putação, cujas pétalas seriam a complexidade, as
guagens dependente de contexto.
linguagens de programação, os sistemas de pro-
• as teorias dos conjuntos difusos, da compu- gramação e os compiladores.
tação evolutiva e das redes neurais consti-
Atualmente, inúmeras aplicações modernas têm
tuem outras contribuições recentes aos fun-
explorado densamente as ferramentas conceituais
damentos da inteligência artificial moderna,
estudadas nesta disciplina. Entre elas destacam-
que nos últimos anos tem se disseminado e
se a computação gráfica, em particular as anima-
evoluído de forma extraordinária.
ções computadorizadas, os hipertextos e as hiper-
Os temas mais importantes cobertos pela Teo- mídias, as interfaces Web, e as linguagens visuais
ria da Computação, discutidos nos tópicos estu- e não-lineares em geral.
dados a seguir neste artigo, não esgotam a área, A importância do estudo desse assunto se ma-
mas fornecem um panorama bastante significativo nifesta de várias maneiras:
dos assuntos estudados, proporcionando uma boa
visão de sua importância prática. • proporciona uma visão panorâmica das ba-
ses científicas da computação;
3.1.1 Linguagens Formais e Autômatos • proporciona fundamentos teóricos para a
área, através do estudo de assuntos tais
Este é um assunto que vem sendo estudado desde como decidibilidade, computabilidade e
a década de 1950, e tem destacada importância complexidade computacional;
na Teoria da Computação, fundamentando muitos
outros temas da área e oferecendo inúmeros sub- • fornece um sólido lastro para o desenvolvi-
sídios para aplicações práticas. Ubíquo em cur- mento de inúmeras aplicações computacio-
rículos acadêmicos da área, por sua tão grande nais, entre as quais o processamento de lin-
importância conceitual e prática costuma-se reco- guagens, o reconhecimento de padrões e a
mendar que seja apresentado o mais precocemente modelagem de sistemas;
possível aos estudantes das áreas da computação • estabelece um forte elo entre a teoria e a
e afins [29–35]. Historicamente, constata-se que prática computacional;
seu estudo foi inicialmente direcionado para ques-
• permite que os conceitos e os resultados da
tões linguísticas associadas à representação e tra-
teoria referente às linguagens, seus gerado-
tamento de lingua-gem natural, mas acabou con-
res, reconhecedores e analisadores possam
quistando a expressão que hoje apresenta ao se
ser aplicados de forma rígida;
notar sua poderosa praticidade em aplicações vol-
tadas para a compilação ou interpretação de lin- • é um dos temas que se mostra mais eclético
guagens de programação em computadores digi- e menos divorciado dos demais assuntos es-
tais. tudados na Teoria da Computação.
Essa disciplina concentra sua atenção nas lin- Segundo uma das grandes autoridades mundiais
guagens, apreciadas especialmente do ponto de no assunto, Arto Salomaa [36], é curioso observar
vista de especificação e de reconhecimento, e tam- que o tema das linguagens formais e autômatos,
bém no estudo de modelos constituídos por abs- enquanto para tantos representa o principal tópico 14
trações gerativas e cognitivas a elas associadas, da pesquisa na Ciência da Computação, para ou-
consideradas tais linguagens segundo sua estru- tros constitui apenas algo de importância muito
tura, propriedades, características, classificações duvidosa. O autor jocosamente insinua ser isso
e inter-relacionamento. apenas reflexo da época e da cultura dos parece-
Proporciona um variado e poderoso ferramen- ristas.

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


Comentando sobre a receptividade dessa disci- damenta toda a área da programação ori-
plina pelos seus alunos, Peter Lintz menciona em entada a objetos, atualmente muito dissemi-
sua obra [37] que os estudantes por vezes a ro- nada e em expansão;
tulam como superfluamente abstrata e inútil na • As Semânticas Formais clássicas, voltadas
prática. Sugere que, em resposta a essa tendên- à especificação formal da interpretação das
cia, o professor oriente seu ensino através de exer- lingua-gens de programação: semântica ope-
cícios, e que continuadamente conscientize os alu- racional, semântica denotacional e semân-
nos dos interessantes desafios que tais disciplinas tica axiomática.
vão impondo à sua persistência e inventividade na
manipulação de problemas de difícil solução. O estudo teórico das linguagens de programação
vem recebendo contribuições de diversas origens, e
Hopcroft e Ullman afirmam em seu livro clás- em muitas direções, compreendendo assuntos fun-
sico da área [38] que esta disciplina compõe uma damentais, relativos à composição, aos domínios,
importantíssima sub-área da Ciência da Compu- aos escopos, às ligações, às transições, às regras Vol. I
tação. de inferência associados aos programas que com No. 1
Lembram que Noam Chomsky criou em 1956 elas podem ser desenvolvidos.
um modelo matemático na forma de gramática, Razões não faltam para que seja reconhecida a
com o qual se propôs a estudar a sintaxe de línguas necessidade de um conhecimento profundo da te-
naturais, mas alguns anos mais tarde seu modelo oria das linguagens de programação por parte de
revelouse expressivo em outra área, ganhando im- qualquer profissional que atue na área de compu-
pulso por adequar-se perfeitamente à formalização tação:
da lingua-gem de programação ALGOL 60.
• A radicalização da aplicação do conceito de
O estudo teórico da relação, hoje inseparável,
reaproveitamento de código tende, progres-
entre gramáticas e os correspondentes autômatos
siva e desnecessariamente, a levar os progra-
acabou levando à criação da importantíssima ideia
madores a se afastarem das tarefas mais cri-
dos compiladores dirigidos por sintaxe, e também
ativas e originais da profissão, reduzindo aos
do conceito de compilador de compiladores, ou
poucos a nobre atividade de programação a
seja, dos geradores automáticos de compiladores,
um mero processo, cada vez mais mecânico
ambos até hoje muito utilizados [39].
e menos intelectual, de seleção e reorganiza-
É digno de uma cuidadosa e responsável aten- ção de componentes préfabricados.
ção o alerta, proclamado por Hopcroft e Ullman
• As linguagens de programação modernas in-
[38],lembrando que é virtualmente impossível fa-
corporam inúmeros conceitos não-triviais,
zer qualquer estudo sério na área da Computação
como por exemplo, sofisticados sistemas de
no qual não seja priorizada a fluência do estudante
tipos, e por isso mesmo seu uso competente
nas técnicas e nos resultados emanados da teoria
exige não apenas programadores “com prá-
das linguagens formais e dos autômatos.
tica”, mas profissionais que apresentem um
mínimo de intimidade com os conceitos e
3.1.2 Linguagens de Programação fundamentos abstratos que lhes são subja-
centes, para que possam utilizar essas lin-
Outro assunto, que se revela de imensa impor- guagens em todos os seus recursos.
tância teórica e prática na vida do profissional
de computação, refere-se às linguagens de pro- • A necessidade crescente do desenvolvimento
gramação. Este artigo procura não se repor- de sistemas de software de grande porte
tar às lingua-gens específicas propriamente ditas, torna a especificação dos programas uma
atendo-se, por questões de escopo, somente ao as- tarefa cada vez mais difícil de realizar por
pecto teórico e conceitual do estudo de linguagens parte de profissionais que não possuam um
de programação em geral. profundo conhecimento e grande fluência na
utilização do indispensável ferramental con-
Os temas teóricos mais relevantes, associados ao ceitual exigido em tais projetos.
estudo das linguagens de programação, incluem:
• Para o desenvolvimento de softwares de se-
• O Cálculo Lambda e a Teoria dos Combina- gurança, nos quais os requisitos de qualidade
dores, teorias matemáticas que fundamen- se manifestam em níveis muito superiores
tam a programação funcional; ao que se pratica usualmente no desenvol-
• A Lógica de Floyd-Hoare, sistema formal vimento de programas convencionais, torna-
usado para provar correção de programas se necessário o uso de métodos rigorosos de
imperativos. É preciso lembrar que os méto- verificação e de validação formal, cuja apli-
dos formais têm adquirido importância cres- cação competente exige do profissional pro- 15
cente, permeando estudos sérios em Enge- fundos conhecimentos teóricos, e não apenas
nharia de Software, e fundamentando mui- uma habilidade puramente pragmática.
tas de suas práticas contemporâneas; • Todo sistema de software que oferece a seus
• A relativamente recente Teoria de Objetos, usuários uma interface, através da qual se-
estabelecida por Abadi e Cardelli, que fun- jam feitas as comunicações entre o programa

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


e seu operador, requer algum tipo de proces- Aludindo a essas posições, professadas por tan-
sador de linguagem, para cuja concepção e tos profissionais, cita ainda o autor um trecho do
projeto são necessários profundos conheci- Dicionário Oxford, que contrasta os conceitos de
mentos e habilidades teóricas. ciência e de arte: aquela, fundamentada em prin-
• Sistemas que se utilizam extensivamente de cípios e na constante utilização dos mesmos; esta,
conceitos e conhecimentos teóricos relativos sustentada pelo conhecimento de tradições e pelas
às linguagens de programação estão presen- destrezas que se desenvolvem através da prática.
tes em toda parte, destacando-se os sistemas Gries ainda afirma que a programação só po-
de comunicação, os sistemas de manipula- derá se converter em uma ciência através do cul-
ção simbólica em geral, os processadores de tivo de uma profunda maturidade matemática,
texto, os sistemas operacionais e muitos ou- acompanhado de uma intenção real de empregar
tros. esse tipo de recurso na prática do dia-a-dia.
Vol. I
3.1.3 Ciência da Programação 3.1.4 Computabilidade No. 1
Em seu prefácio ao livro de David Gries [40], o De forma análoga ao que se pode observar em
conceituado prof. Edsger W. Dijkstra manifesta outras especialidades científicas, uma grande va-
sua preocupação com a resistência mental que riedade de importantes descobertas desta fasci-
surge toda vez que se propõe o uso de técnicas do nante área do conhecimento foi obtida teorica-
pensamento científico em uma nova área de co- mente, muito antes de sua prática tornar-se tec-
nhecimento, e recomenda um cuidado especial ao nologicamente viável.
se procurar convencer neófitos de que, embora à Infelizmente, tal fato induziu, e ainda hoje in-
primeira vista isso não seja evidente, aqueles “inú- duz muitos, à dissociação entre os fatos ligados
teis” formalismos abstratos não apenas são muito ao estudo e ao uso dos computadores e os ensina-
úteis, como também indispensáveis. mentos proporcionados pela Teoria da Computa-
Ainda nesse livro, o autor sugere que esse fenô- bilidade.
meno assim ocorre devido a uma série de razões: Kfoury, Moll e Arbib [41] afirmam, no entanto,
• Muitas vezes, pessoas que desconhecem o as- em seu livro que, por sua importância, a Teoria
sunto costumam colocar objeções injustifica- da Computabilidade pode e deve ser considerada
das a seu uso, em função da dificuldade que como sendo, apesar de tudo, o coração da Ciência
sentem em compreender e conviver com no- da Computação.
tações matemáticas, formalismos, técnicas Nessa linha, tem-se procurado determinar e de-
rigorosas e provas formais. senvolver um alicerce científico para o estudo de
• Alegando serem esses formalismos desneces- assuntos relacionados com a Informática de modo
sários no dia-a-dia, argumentam que, em geral, e em particular,de assuntos ligados ao pro-
vista do demorado e oneroso preparo prévio cessamento de dados através de algoritmos, ao
exigido de um profissional para que esteja projeto de computadores digitais e ao projeto de
apto a usá-los fluentemente, torna-se lícito programas desenvolvidos em linguagens de pro-
e prático aceitar como satisfatória a quali- gramação.
dade de programas pragmaticamente resul- Desde meados do século passado, em diversos
tantes de desenvolvimentos artesanais, efe- aspectos se tem observado um crescimento signifi-
tuados sem qualquer ajuda de métodos ri- cativo do desenvolvimento da Computação, como
gorosos. por exemplo: a sofisticação dos processos; o ba-
• Outro argumento, infundado e recorrente, rateamento dos componentes eletrônicos e o vio-
alega ser difícil e até inviável o emprego lento aumento de sua capacidade e complexidade;
de técnicas rigorosas para desenvolver e a viabilização de equipamentos eletrônicos muito
implementar programas de grande porte, poderosos e a custo acessível; os avanços nas me-
cuja ocorrência se mostra cada vez mais todologias de programação; a drástica redução do
freqüente na prática. tempo necessário para a obtenção de programas
complexos e confiáveis; o desenvolvimento de téc-
• Por incrível que pareça, alguns profissionais
nicas avançadas de especificação rigorosa de pro-
da área alegam ser muito mais importante gramas, processos e equipamentos.
que se disponha de uma especificação bas-
tante precisa para um software a ser desen- Nesse contexto, a grande aplicabilidade da Teo-
volvido do que o correspondente programa ria da Computabilidade pode ser facilmente iden-
estar, ele próprio, correto. tificada, considerando-se que abrange, entre mui-
tos outros assuntos: 16
• No extremo, outros alegam ainda que o
mundo real dispensa provas formais, e que, • Aspectos da sintaxe e da semântica de
para todos os efeitos, na prática é suficiente lingua-gens de programação
apenas que o programa desenvolvido cum- • Estudo da enumeração e da universalidade
pra sua tarefa. das funções computáveis

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


• Técnicas de computabilidade e estado com- se detém nos aspectos da viabilidade prática da
putável de problemas execução de algoritmos considerados adequados
• Metodologia de programação e prova de cor- para a tarefa.
reção de programas Assim, os problemas computáveis conseguem
motivar os estudiosos da Computabilidade não
• Semântica denotacional
apenas por representarem curiosos desafios a se-
• Programas recursivos rem resolvidos pelo programador, mas também
• Regras de prova para propriedades dos pro- por constituírem por si próprios interessantes ob-
gramas jetos de estudo:
• Auto-referência em computabilidade e teo- • variados formalismos estão disponíveis para
rema da recursão sua modelagem e estudo
• Conjuntos, conjuntos recursivos, conjun- • uma vez abstraídos e formalizados, podem
ser analisados de maneira independente do Vol. I
tos recursivamente enumeráveis, teorema de
Gödel particular formalismo com o qual foram re- No. 1
presentados
• Máquina de Turing e formulações alternati-
vas da teoria da computabilidade. • ao estudarem as propriedades dos proble-
mas, os pesquisadores buscam para eles
• Automatização da prova de teoremas
soluções que preferencialmente sejam ao
Monty Newborn, em seu livro sobre provado- mesmo tempo rápidas e compactas
res automáticos de teoremas [15], comenta que os
• para essas propostas de solução, são conside-
computadores modernos têm evoluído muito ra-
radas particularmente convenientes aquelas
pidamente, ficando, cada vez mais, velozes, com-
que apresentem requisitos polinomiais em
pactos e baratos, e já permitiram a construção de
suas exigências de área de trabalho, e de
programas capazes de provar teoremas e até de
tempo de resposta
vencer campeões mundiais de xadrez.
• as soluções mais adequadas na prática são
aquelas que apresentam, no espaço e no
3.1.5 Complexidade computacional tem-po,comportamento polinomial de or-
dem baixa (de preferência, linear)
Em artigo recentemente publicado [42], o concei-
tuadíssimo prof. Peter Denning, reportando-se a Muitos tópicos costumam ser considerados den-
observações da realidade do dia-a-dia das prin- tro da temática da Complexidade Computacional:
cipais aplicações dos computadores, resume, em • Algoritmos: modelos de computação co-
poucas palavras, a relevância e o impacto que tem nhecidos podem ser convertidos algoritmi-
o tema Complexidade Computacional sobre as ati- camente uns nos outros, com uma perda
vidades do profissional da área: polinomial de eficiência, exceto nos ca-
. . . over 3,000 common problems in sci- sos não-determinísticos, de resposta expo-
ence, engineer-ng, and business are so nencial. Assimetrias e não-determinismos
difficult to solve that even the fastest criam atraentes possibilidades para a classi-
supercomputers would take centuries ficação de problemas quanto à sua comple-
on simple versions. xidade computacional.
(Peter J. Denning The profession of IT • Máquina de Turing: Computabilidade e De-
Communications of the ACM, v.51, n. cidibilidade: de aparência à primeira vista
8, aug. 2008, p. 21) obscura, e dispondo de operações básicas
muito primitivas, a Máquina de Turing
De origem relativamente recente, datada da se-
mostra-se capaz de representar algoritmos
gunda metade da década de 1970,a Teoria da
sem significativa perda de eficiência, o que
Complexidade Computacional tem recebido uma
a tem consagrado como modelo de com-
extraordinária atenção dos pesquisadores da Ci-
putação. Computacionalmente muito po-
ência da Computação, em vista de sua grande im-
derosa, a Máquina de Turing é capaz até
portância para a área [2, 28].
mesmo de computar fatos não-triviais so-
O estudo da Complexidade Computacional bre os algoritmos que representam.Todavia,
exige a compreensão de fenômenos não triviais, re- há muitos problemas, ditos incomputáveis,
sultantes da interação da computação, da lógica e aos quais não existe qualquer possibilidade
das aplicações, para investigar as razões de alguns de se associar um algoritmo, ainda que ine-
problemas apresentarem soluções computacionais ficiente. Máquinas de Turing estritamente 17
tão onerosas. representam, portanto, problemas compu-
Enquanto a Teoria da Computabilidade se táveis. Estuda-se, para problemas compu-
ocupa de determinar a possibilidade ou não de táveis, o fenômeno da decidibilidade: al-
uma dada classe de problemas poder ser resolvida guns dos problemas computáveis, ditos inde-
algoritmicamente, a complexidade computacional cidíveis, são representados por Máquinas de

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


Turing que iniciam um processamento infi- transcreve-se a seguir um trecho de uma entre-
nito em resposta a certos dados de entrada, vista [43] dada pelo conceituado prof. Denning:
enquanto os demais (problemas decidíveis)
garantidamente terminam o seu processa- The four core practices of compu-
mento qualquer que sejam os dados a elas ting professions are programming, sys-
fornecidos. Naturalmente, quando possível, tems, modeling, and innovating.To be
os últimos são os preferidos, em termos prá- a complete computing professional,
ticos. you should know the principles and be
competent in the four practices.
• Lógica booleana e Lógica de Primeira Or-
dem: Estas formulações permitem criar sis-
temas de provas gerais e compreensíveis, por (Entrevista do prof. Peter J. Denning
meio de comandos matemáticos detalhados à Ubiquity)
cuja semântica associa cada sentença à res- Vol. I
Tem-se observado uma queda cada vez mais
pectiva aplicação matemática, permitindo
pronunciada na qualidade da formação dos futu- No. 1
expressar fatos sobre computações, o que
ros profissionais da Computação no que tange à
propicia o surgimento de problemas lógicos
concepção e à implementação de programas, es-
indecidíveis.
pecialmente os de porte menor.
• O estabelecimento de Classes de Comple- A formação que eles recebem tem, nesses casos,
xidade e sua inter-relação é um assunto negligenciado os essenciais aspectos microscópicos
complexo e com inúmeros pontos ainda em da problemática dos projetos pequenos, em favor
aberto, e isso tem motivado diversos traba- de uma forte polarização para a gestão de grandes
lhos na área, e dado origem a muitos assun- projetos de software ou para o desenvolvimento de
tos de investigação, constituindo assim um grandes sistemas.
tema bastante adequado para pesquisa atual
em Ciência da Computação. Como resultado,nota-se,da parte do profissio-
nal, uma perda sensível de habilidade de pro-
• Reduções e completude: O uso da lógica jeto de programas e algoritmos, uma dificuldade
se revela muito interessante quando, atra- de compreensão de diversos assuntos ligados às
vés das técnicas de redução, se torna pos- lingua-gens de programação e à sua utilização
sível estabelecer pontos em comum acerca como instrumento para o desenvolvimento de pro-
da dificuldade apresentada pelos problemas gramas. Observa-se ainda uma notória deficiência
pertencentes a toda uma classe de comple- em sua criatividade para a resolução autônoma de
xidade. O estudo da NP-completude e de problemas, sem recorrerem a repositórios de pro-
temas afins suscita importantes métodos de gramas pré-existentes.
análise da Complexidade Computacional.
Em relação a isso, já em 1981 o renomado David
• A dificuldade apresentada por determinados Gries alertava [40] que, no mínimo, os programas
problemas pode demonstrar-se útil e não in- grandes podem ser vistos como uma coleção orga-
desejável como ocorre na maioria dos casos nizada de programas menores, e que ninguém se
práticos. É o que ocorre no estudo da Crip- pode considerar especialista em produzir progra-
tografia, no qual a complexidade dos algo- mas grandes de qualidade enquanto não se provar
ritmos é justamente aquilo que se busca e um perito no desenvolvimento de bons programas
se necessita ter sob controle. Curiosamente, pequenos.
nessas exatas situações em que a complexi-
Pode-se acrescentar que é temerário considerar
dade é mais almejada, é que se mostra mais
capacitado para gerir um dado projeto um profis-
difícil obter a sua manifestação.
sional não dotado de um pleno domínio sobre to-
• Computação paralela é uma área de inte- dos os aspectos do mesmo, pois dificilmente costu-
resse na qual se mostra mais necessário e mam ser passivamente acatadas as diretrizes ema-
mais árduo o estudo da complexidade com- nadas por gestores que não estejam aptos a de-
putacional, especialmente quando tal es- monstrarem competência nos assuntos a que se
tudo envolve simultaneamente numerosos refere o projeto que pretendem conduzir.
elementos como agentes paralelos. Outro assunto de importância para a presente
reflexão, refere-se à influência da adoção de mé-
todos baseados em formulações teóricas na quali-
4 Formação dos profissionais dade dos produtos gerados pelos profissionais de
da área computação.
Alvo tradicional da pesquisa teórica da com- 18
Complementando as diversas alusões já feitas an- putação,a resoluçãode problemas formulados de
teriormente neste artigo, cabem algumas observa- maneira precisa e rigorosa através de formalismos
ções adicionais sobre a maneira como se formam matemáticos bem estabelecidos mostra-se essen-
ou como deveriam ser formados os profissionais cial para assegurar a construção de programas de
que trabalham com Computação. Inicialmente, alta qualidade.

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


Tais formulações constituem, na prática, um quanto Funções Recursivas e Cálculo Lambda se-
grande desafio, representando um importante au- riam empregados para o paradigma funcional e
xílio a atividades de projeto, e, por suas proprie- outros paradigmas declarativos.
dades, podem ser exploradas no estabelecimento Do ponto de vista pedagógico, para que possam
de métodos de avaliação objetivos. ser adequadamente fundamentadas as diferentes
As métricas assim desenvolvidas se empregam atividades ligadas à programação, aconselham os
em instrumentos de avaliação que utilizam índices autores que se dê certa uniformidade à ênfase com
de mérito do software, o que proporciona formas que é efetuado o estudo dos diferentes modelos de
objetivas interessantes não apenas para avaliações computação disponíveis.
individuais como também para comparações entre Com a formação conceitual abrangente, assim
diferentes softwares e para uso em sistemas de au- proporcionada, os profissionais terão condições de
xílio à tomada de decisões. gerar soluções simples e transparentes para seus
As principais metas que se costuma perseguir problemas, e como decorrência natural, de pro- Vol. I
quando se utilizam tais métodos são: embasa- duzir para eles programas eficientes, elegantes e No. 1
mento matemático sólido para os modelos de- corretos.
senvolvidos; fundamentação científica para as de- É muito atual e oportuno meditar muito se-
cisões tomadas; alta qualidade técnico-científica riamente sobre o cenário científico e tecnológico
para os produtos desenvolvidos; anteposição de em que trabalha o profissional da computação nos
um planejamento científico à aplicação de práticas dias de hoje.
tecnológicas; expurgo conseqüente da prática de
De um lado, é possível adquirir conhecimentos
reapro-veitamento míope de peças pré-fabricadas
para formar consciência da importância que têm
no desenvolvi-mento de produtos de software de
no dia-a-dia os temas difíceis e abstratos de que
alta qualidade.
tratam as disciplinas teóricas da área da Com-
putação, e é gratificante a certeza da utilidade de
uma sólida formação, resistente à moda, ao tempo
5 Conclusão e à tecnologia, que paire inabalável acima de ten-
dências políticas e mercadológicas.
Para atender às necessidades de uma época em De outro,a observação dos fatos do nosso mundo
que se faz necessário exigir do profissional uma traz muitas incertezas sobre a maneira como serão
capacitação cada vez melhor e mais ampla, é pre- tratados esses assuntos no futuro.
ciso um constante esforço de reciclagem e atuali- É angustiante a constatação de que a influência
zação, tanto da parte dos profissionais como das do desconhecimento e da falta de preparo, aliados
instituições de ensino, para que seja possível bem ao imediatismo, venha de há muito produzindo
trabalhar com os atuais sistemas computacionais, seus efeitos, especialmente através de decisões to-
de complexidade e calibre sempre crescentes. madas com base em prioridades distorcidas, que
É consenso ser fator distintivo dos mais ca- acabam criando importantes barreiras a uma boa
pacitados profissionais da Informática o conheci- formação profissional.
mento e domínio das teorias, abstrações e concei- Desse quadro, os maus efeitos que ainda não vi-
tos que fundamentam suas atividades técnicas, e eram à tona seguramente se manifestarão em fu-
essa distinção se evidencia progressivamente à me- turo próximo, quando, com certeza, uma reforma
dida que, simultaneamente, crescem as dimensões para a reversão dessa situação deverá mostrar-se
dos sistemas computacionais contemporâneos. muito difícil, demorada e one-rosa, se não inviável.
Na área acadêmica, verifica-se um crescente Referindo-se em particular ao futuro das ativi-
afastamento de metas entre disciplinas formati- dades de programação, em entrevista concedida a
vas e as de caráter mais pragmático, e isso é outro Edward Feigenbaum [44], o respeitadíssimo prof.
preocupante motivo de atenção. Donald Knuth faz um grave alerta que convida
Cabe assim um alerta sobre a necessidade de à reflexão, dada sua veracidade e as severas con-
resgate das importantes relações entre elas exis- sequências não mencionadas, dela decorrentes:
tentes, manifestas nas afinidades entre os modelos
abstratos estudados na teoria e as atividades, mé- I’m worried about the present state
todos e técnicas práticas de programação que neles of programming. Programmers now
devem sempre se apoiar. are supposed to mostly just use libra-
Flávio S. C. da Silva e Ana C. V. de Melo de- ries. Programmers aren’t allowed to
fendem em seu livro [17] a existência de uma forte do their own thing from scratch any-
afinidade entre cada paradigma de programação more. They’re supposed to assemble 19
e algum dos modelos de computação existentes, reusable code that somebody else has
sugerindo que para cada paradigma seja utilizado written. There’s a bunch of things on
o modelo de computação que lhe for mais expres- the menu and you choose from these
sivo. Assim, por exemplo, seriam usadas máqui- and put them together. Where’s the
nas de Turing para o paradigma imperativo, en- fun in that? Where’s the beauty in

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


that? [14] B. Meyer, Introduction to the Theory of
Programming Languages. Englewood Cliffs:
(Commun. of the ACM, v.51, n.8,
Prentice Hall, 1990.
aug. 2008, p. 35)
[15] M. Newborn, Automated theorem proving:
Fica então esta pergunta para ser respondida:
theory and practice. Springer Verlag, 2001.
se as atuais tendências continuarem como as ob-
servamos hoje, com que deverá parecer-se a nossa [16] G. Winskel, The Formal Semantics of Pro-
profissão daqui a uns quinze ou vinte anos? Não gramming Languages. Cambridge, Massachu-
apenas no que tange à atividade da programação, setts: MIT Press, 1993.
mas igualmente a todas as outras especialidades [17] F. S. C. Silva and A. C. V. Melo, Modelos
da área da Computação. . . Clássicos de Computação. Thomson, 2006.
[18] R. W. Sebesta, Concepts of Programming
Languages. Redwood City, Calif.: Wiley, Vol. I
Referências 2002. No. 1
[1] D. I. A. Cohen, Introduction to Computer [19] F. Beckman, Mathematical Foundations of
Theory. Wiley, 1997. 2nd ed. Programming. Boston: Addison-Wesley,
1980.
[2] H. R. Lewis and C. H. Papadimitriou, Ele-
mentos da Teoria da Computação. Porto Ale- [20] J. Reynolds, Theories of programming lan-
gre: Bookman, 2004. guages. Cambridge University Press, 1998.

[3] H. Barendregt, The Lambda Calculus: Its [21] N. Greenlaw and H. Hoover, Fundamentals of
Syntax and Semantics, volume 103 of Studies the Theory of Computation. San Francisco:
in logic and the foundations of mathematics, Morgan Kauffman, 1998.
vol. 155. 1984. [22] W. A. Wulf, M. Shaw, and P. N. Hilfinger,
[4] R. Backhouse, Syntax of Programming Lan- Fundamental Structures of Computer Sci-
guages. London: Prentice-Hall International, ence. Reading, Massachusetts: Addison Wes-
1979. ley Publishing Company, 1981.
[23] E. R. Schneiderman, Matemática Discreta –
[5] J. J. Neto, “Adaptive rule-driven devices
uma introdução. Thomson, 2003.
— general formulation and case study,” in
CIAA (B. W. Watson and D. Wood, eds.), [24] N. L. Biggs, Discrete Mathematics. Oxford
vol. 2494 of Lecture Notes in Computer Sci- Science Publications, Clarendon Press, revi-
ence, pp. 234–250, Springer, 2001. sed ed., 1989.
[6] F. G. Pagan, Formal Specification of Pro- [25] A. G. Hamilton, Logic for mathematicians.
gramming Languages: A Panoramic Pri- 1990. revised edition.
mer. Englewood Cliffs, New Jersey 07632. [26] E. Mendelson, “Introduction to mathemati-
Prentice-Hall, Inc., 1981. cal logic,” Van Nostrand-Rein-hold Co., New
[7] K. Slonneger and B. Kurtz, Formal Syn- York, 1964.
tax and Semantics of Programming Langua- [27] J. K. Truss, Discrete mathematics for com-
ges: A Laboratory Based Approach. Addison- puter scientists. Addison-Wesley, 1994.
Wesley, 1995.
[28] C. Papadimitriou and C. Papadimitriou,
[8] C. L. Lucchesi and et al, Aspectos Teóricos Computational complexity. Addison-Wesley
da Computação. Impa – CNPq, 1979. Reading, MA, 1994.
[9] J. C. Martin, Introduction to Languages and [29] J. Carroll and D. Long, Theory of Finite Au-
the Theory of Computation. New York: tomata with an Introduction to Formal Lan-
McGraw-Hill, 2003. guages. Prentice Hall, 1989.
[10] M. Sipser, Introdução à Teoria da Computa- [30] P. G. et al., Teoría de autómatas y lenguajes
ção. Editora Thomson Learning, 2007. formales. México: Alpha Ômega, 2001.
[11] T. Scheurer, Foundations of computing: sys- [31] M. Harrison, Introduction to formal language
tem development with set theory and logic. theory. Addison-Wesley Longman Publishing
Addison-Wesley Longman Publishing Co., Co., Inc. Boston, MA, USA, 1978.
Inc. Boston, MA, USA, 1994.
[32] J. E. Hopcroft and J. D. Ullman, Introduction
[12] M. Gordon, Programming Language Theory to Automata Theory, Languages and Compu- 20
and Its Implementation. Englewood Cliffs: tation. Reading, MA: Addison Wesley, 1979.
Prentice-Hall, 1988.
[33] J. E. Hopcroft, R. Motwani, and J. D. Ull-
[13] A. D. McGettrick, The Definition of Pro- man, Introduction to Automata Theory, Lan-
gramming Languages. Cambridge University guages, and Computation. Addison Wesley,
Press, 1980. 2001.

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998


[34] R. Muñoz and L. Villodre, Lenguajes, gra- interviews/v8i22_denning.html – last vi-
máticas y autómatas: Curso básico. México: sited 30th December 2007.
Alpha Ômega, 2002.
[44] E. Feigenbaum, “Interview with Donald
[35] G. Revesz, “Introduction to Formal Language Knuth: A life’s work interrupted,” Commu-
Theory,” 1983. nications of the ACM, vol. 51, pp. 31–35, aug
[36] A. Salomaa, Jewels of formal language the- 2008.
ory. Computer Science Press, Incorporated,
1981.
[37] P. Linz, An Introduction to Formal Langua-
ges and Automata. Boston: Jones and Bar-
tlett Publishers, 2006.
[38] J. E. Hopcroft and J. D. Ullman, Formal
Vol. I
languages and their relation to automata.
Addison-Wesley Longman Publishing Co., No. 1
Inc. Boston, MA, USA, 1969.
[39] A. Aho, The Theory of Parsing, Translation,
and Compiling. Englewood Cliffs: Prentice-
Hall, 1972.
Mini-currículo do autor: João José Neto é graduado em Engenha-
[40] D. Gries, The Science of Programming. ria de Eletricidade (1971), mestre em Engenharia Elétrica (1975),
Springer-Verlag, 1981. doutor em Engenharia Elétrica (1980) e livre-docente (1993) pela
[41] A. Kfoury, R. Moll, and M. Arbib, A Escola Politécnica da Universidade de São Paulo. Atualmente, é
Programming Approach to Computability. professor associado da Escola Politécnica da Universidade de São
Springer-Verlag, 1982. Paulo e coordena o LTA — Laboratório de Linguagens e Tecnolo-
gia Adaptativa do PCS — Departamento de Engenharia de Com-
[42] P. J. Denning, “The profession of IT,” Com- putação e Sistemas Digitais da EPUSP. Tem experiência na área
munications of the ACM, vol. 51, Aug. 2008. de Ciência da Computação, com ênfase nos Fundamentos da En-
[43] J. Gehl, “Ubiquity Interview: Great genharia da Computação, atuando principalmente nos seguintes
Principles of Computing. Ubiquity Edi- temas: dispositivos adaptativos, tecnologia adaptativa, autôma-
tor John Gehl interviews Peter J. Den- tos adaptativos,e em suas aplicações à Engenharia de Computa-
ção,particularmente em sistemas de tomada de decisão adapta-
ning about the progress of the Great
tiva, análise e processamento de linguagens naturais, construção
Principles Project,” Ubiquity – An ACM
de compiladores, robótica, ensino assistido por computador, mo-
IT Magazine and Forum, vol. 7, Novem- delagem de sistemas inteligentes, processos de aprendizagem au-
ber 2006. http://www.acm.org/ubiquity/ tomática e inferências baseadas em tecnologia adaptativa.

21

Revista de Computação e Tecnologia da PUC-SP — Departamento de Computação/FCET/PUC-SP ISSN 2176-7998

Você também pode gostar