Computador é dispositivo de uso em geral que pode ser programado para realizar conjuntos finitos de operações aritméticas ou lógicas. Uma vez que a sequência de operações pode ser prontamente alterada, o computador resolve mais do que um tipo de problema. Os computadores precisam de pelo menos um elemento de processamento, tipicamente, uma unidade central de processamento (CPU) e outra forma de memória. Também precisa de algum tipo de sistema, por mais simples que este venha ser! O elemento de processamento realiza operações aritméticas e lógicas com controles que podem mudar a ordem das operações com base nas informações armazenadas. Dispositivos periféricos permitem que a informação seja recuperada a partir de fontes externas, simbolizando, assim, o resultado das operações de salva e recuperada.
Primeiros Sistemas de Computadores
Os primeiros eletrônicos digitais computadores foram desenvolvidos entre 1940 e 1945 no Reino Unido e Estados Unidos. Originalmente, eles eram do tamanho de um quarto grande, consumindo mais energia do que várias centenas de modernos computadores pessoais do século XXI. Nesta época, mecânicos computadores analógicos foram usados para aplicações militares. O primeiro uso da palavra “computador” foi gravado em 1613, referindo-se a uma pessoa que realizou os cálculos, palavra que continuou com o mesmo significado na humanidade. A partir do final do século XIX o termo começou a tomar sobre o seu significado mais familiar, uma máquina com sistema para realizar cálculos.
Informação e Sistemas de Computador
Computadores modernos, baseados em circuitos integrados, possuem sistemas bilhões de vezes mais capazes do que as primeiras máquinas, além de ocupar pequena fração de espaço. Modelos são pequenos o suficiente para caber em dispositivos móveis alimentados por pequenas baterias. Computadores pessoais nas suas diversas formas são ícones da Era da Informação. Ou seja, os sistemas reproduzem informações sobre diversos assuntos com alto nível de relevância. Lembrando que a informação representa a principal moeda da nova economia.
Sistemas Computacionais!
A característica definidora dos computadores modernos está na capacidade de programação oriunda dos formatos de sistemas computacionais. Isto quer dizer que com algum tipo de instruções o programa pode ser administrado para o computador, que irá processá-los. Enquanto algumas unidades modernas podem existir conceitos estranhos, com “instruções” e “saídas”, como na computação quântica, computadores modernos baseados na arquitetura de Neumann, muitas vezes, têm código de máquina na forma de linguagem de programação imperativa. Em termos práticos, programas de computador podem ser apenas algumas instruções, ou se estenderem a muitos milhões de regras, assim como os programas de processadores de texto e navegadores web, por exemplo. Computadores modernos típicos podem executar bilhões de instruções por segundo. Raramente comete algum erro ao longo de muitos anos de operação. Programas e sistemas grandes que consistem em milhões de instruções que levaram anos para serem inscritas por equipes de programadores anos devido à complexidade da tarefa.
http://www.youtube.com/watch?v=vtVxC9ocEu4Instruções de Sistemas Computacionais
Na maioria dos casos, as instruções de computador são simples: adicionar um número a outro, mover alguns dados de um local para outro e enviar uma mensagem para dispositivos externos. As regras gerais são lidas a partir do computador de memória e geralmente realizadas na ordem em que foram dadas. No entanto, há instruções geralmente especializadas em dizer ao computador para saltar à frente ou para trás, a algum outro lugar no programa, continuando a execução de lá. Especialistas dizem que a execução do programa pode ser comparada a ler um livro. Enquanto uma pessoa normalmente lê cada palavra e linha em sequência, pode também, por vezes, voltar para uma versão anterior do lugar no texto ou pular seções que não são de interesse. Da mesma forma, um computador pode, por vezes, voltar e repetir as instruções em alguma seção do programa até que alguma condição interna seja atendida. Isto é chamado de fluxo de controle no programa e é o que permite com que o computador execute tarefas repetidamente sem intervenção humana. Comparativamente, qualquer pessoa usando calculadoras de bolso pode realizar operações aritméticas básicas, como adição de dois números, com apenas alguns poucos botões pressionados. Mas, para somar todos os números, de 01 a 1.000, levariam milhares de apertos de botões e um monte de tempo, com quase certeza de existência de erro. Por outro lado, um computador pode ser programado para fazer isso com apenas algumas instruções simples por causa da complexidade do sistema. O sistema de computador irá executar a tarefa além da repetição, sem intervenção humana. O PC moderno pode completar a tarefa em cerca de um milionésimo de segundo.
Erros de Software
Erros nos programas de computador podem ser benignos e não afetar a utilidade do programa. Em outros casos, pode causar dano no sistema inteiro. Os computadores apenas executam as instruções que são dadas, os erros são quase sempre o resultado do programador ou descuido no projeto do programa. Embora seja possível escrever programas de computador como uma longa lista de números (linguagem de máquina), técnica usada em muitos computadores antigos. É extremamente entediante e potencialmente sujeitos a erros a respectiva atividade. Linguagens de programação oferecem várias maneiras de especificar os programas de computadores. Ao contrário de linguagens naturais, linguagens de programação são projetadas para permitir qualquer ambiguidade e ser concisa. Línguas escritas e muitas vezes difíceis de serem lidas em voz alta. Geralmente traduzem o código da máquina por compiladores ou montadores antes de ser executado, ou traduzido diretamente em tempo de execução por intérpretes. Por vezes, os programas são executados através de métodos híbridos.
Concepções de Programas
Concepção de pequenos programas são relativamente simples e envolvem a análise do problema e a coleta de insumos, utilizando construções de programação dentro de idiomas, elaboração ou usando procedimentos estabelecidos como algoritmos, fornecendo dados para dispositivos de saída e soluções para o problema, conforme aplicável.
Como os problemas se tornam maiores e mais complexos, recursos como subprogramas, módulos de documentação formal e novos paradigmas, como programação orientada a objetos, são encontrados com facilidade no mercado de softwares. Grandes programas envolvem milhares de linha de código e metodologias formais de trabalho especificado. Em termos gerais, a disciplina acadêmica e profissional de engenharia de software se concentra sobre este desafio.
Artigo escrito por Renato Duarte Plantier