next up previous contents
Next: Desenvolvimento de software Up: Introdução Previous: Introdução   Sumário


Programas e processos

Um computador nada mais faz do que executar programas. Um programa é simplesmente uma seqüência de instruções definida por um programador. Assim, um programa pode ser comparado a uma receita indicando os passos elementares que devem ser seguidos para desempenhar uma tarefa. Cada instrução é executada no computador por seu principal componente, o processador ou CPU (de unidade central de processamento).

Cada processador entende uma linguagem própria, que reflete as instruções básicas que ele pode executar. O conjunto dessas instruções constitui a linguagem de máquina do processador. Cada instrução da linguagem de máquina é representada por uma seqüência de bits distinta, que deve ser decodificada pela unidade de controle da CPU para determinar que ações devem ser desempenhadas para a execução da instrução.

Claramente, seria extremamente desconfortável se programadores tivessem que desenvolver cada um de seus programas diretamente em linguagem de máquina. Programadores não trabalham diretamente com a representação binária das instruções de um processador. Existe uma descrição simbólica para as instruções do processador -- a linguagem assembly do processador -- que pode ser facilmente mapeada para sua linguagem de máquina.

No entanto, mesmo assembly é raramente utilizada pela maior parte dos programadores, que trabalha com linguagens de programação de alto nível. Em linguagens de alto nível, as instruções são expressas usando palavras, ou termos, que se aproximam daquelas usadas na linguagem humana, de forma a facilitar para os programadores a expressão e compreensão das tarefas que o programa deve executar. Várias linguagens de alto nível estão disponíveis para diversas máquinas distintas. Essa independência de um processador específico é uma outra vantagem no desenvolvimento de programas em linguagens de alto nível em relação ao uso de assembly. Em geral, cada linguagem de alto nível teve uma motivação para ser desenvolvida. BASIC foi desenvolvida para ensinar princípios de programação; Pascal, para o ensino de programação estruturada; FORTRAN, para aplicações em computação científica; lisp e Prolog, para aplicações em Inteligência Artificial; Java, para o desenvolvimento de software embarcado e distribuído; e a linguagem C, para a programação de sistemas.

O fato de uma linguagem ter sido desenvolvida com uma aplicação em mente não significa que ela não seja adequada para outras aplicações. A linguagem C, juntamente com sua ``sucessora'' C++, é utilizada para um universo muito amplo de aplicações. Um dos atrativos da linguagem C é sua flexibilidade: um programador C tem à sua disposição comandos que permitem desenvolver programas com características de alto nível e ao mesmo tempo trabalhar em um nível muito próximo da arquitetura da máquina, de forma a explorar os recursos disponíveis de forma mais eficiente. Por este motivo, o número de aplicações desenvolvidas em C e C++ é grande e continua a crescer.


next up previous contents
Next: Desenvolvimento de software Up: Introdução Previous: Introdução   Sumário
Ivan L. M. Ricarte 2003-02-14