miniaturadaimagem|Simulação de computador, uma das principais metodologias de computação cruzada. A computação é qualquer atividade orientada a objetivos que exija, se beneficie ou crie máquinas de computação. Ela inclui o estudo e a experimentação de processos algorítmicos e o desenvolvimento de hardware e software. A computação tem aspectos científicos, de engenharia, matemáticos, tecnológicos e sociais. Pode ser definida como a busca de solução para um problema a partir de entradas (inputs), de forma a obter resultados (outputs) depois de processada a informação através de um algoritmo. É com isto que lida a teoria da computação, subcampo da ciência da computação e da matemática. Disciplinas de computação incluem engenharia da computação, ciência da computação, segurança cibernética, ciência de dados, sistemas de informação, tecnologia da informação, arte digital e engenharia de software.
O termo computação também é sinônimo de contagem e cálculo. Antigamente, era usado em referência à ação executada por máquinas de computação mecânica e, antes disso, por computadores humanos.
História
ligação=https://en.wikipedia.org/wiki/File:ENIAC-changing_a_tube.jpg|alt=Early vacuum tube Turing complete computer|miniaturadaimagem|esquerda|ENIAC, o primeiro computador eletrônico digital de uso geral programável
O termo computação tem origem no latim, computatio, que indica cálculo ou conta matemática.
A história da computação é mais longa do que a história do hardware de computação e inclui a história dos métodos destinados à caneta e ao papel (ou ao giz e à lousa) com ou sem o auxílio de tabelas.Hein, James L: Theory of Computation. Sudbury, MA: Jones & Bartlett, 1996. Uma introdução suave ao assunto da Teoria da Computação, apropriado para alunos do segundo ano de um curso de graduação em Ciência da Computação. A computação está intimamente ligada à representação de números, embora os conceitos matemáticos necessários para a computação existissem antes dos sistemas numéricos. A ferramenta mais antiga conhecida para uso em computação é o ábaco, utilizado por diversas civilizações ao redor do mundo, como o Império Romano e o Egito Antigo. Acredita-se que tenha sido inventado na Babilônia por volta de 2700-2300 a.C.
A primeira proposta registrada para o uso da eletrônica digital na computação foi o artigo de 1931 "The Use of Thyratrons for High Speed Automatic Counting of Physical Phenomena" ("O uso de Tiratrons para Contagem Automática de Fenômenos Físicos em Alta Velocidade"), de C. E. Wynn-Williams. O artigo de 1938 de Claude Shannon "A Symbolic Analysis of Relay and Switching Circuits" (Uma Análise Simbólica de Circuitos de Relés e Comutação") introduziu a ideia de usar a eletrônica para operações algébricas boolianas.
O conceito de um transistor de efeito de campo foi proposto por Julius Edgar Lilienfeld em 1925. John Bardeen e Walter Brattain, enquanto trabalhavam com William Shockley no Bell Labs, construíram o primeiro transistor funcional, o transistor de contato pontual, em 1947. Em 1953, a Universidade de Manchester construiu o primeiro computador transistorizado, o Manchester Baby. No entanto, os primeiros transistores de junção eram dispositivos relativamente volumosos e difíceis de produzir em massa, o que os limitava a várias aplicações especializadas. O transistor de efeito de campo de óxido metálico e silício (MOSFET ou transistor TECMOS) foi inventado por Mohamed Atalla e Dawon Kahng nos Laboratórios Bell em 1959. O MOSFET possibilitou a construção de circuitos integrados de alta densidade, levando ao que é conhecido como a revolução dos computadores ou revolução dos microcomputadores.
A partir da segunda metade do século XX, com o advento dos computadores eletrônicos, a Computação passou a ter uma presença cada vez mais marcante na sociedade, influenciando a vida diária de parte da população mundial. Nesse período, a Computação ganhou o status de Ciência, surgindo então o termo ciência da computação, uma área do conhecimento humano hoje fortemente ligada à produção de software.
Os algoritmos computacionais hoje estão presentes na rede mundial de computadores (internet), bem como em smartphones, computadores pessoais e outros dispositivos que executam processamento de dados.MARTIN, R.C. Código Limpo. Rio de Janeiro: Alta Books, 2020.
Computador
Um computador é uma máquina que manipula dados de acordo com um conjunto de instruções chamado programa de computador. O programa tem uma forma executável que o computador pode usar diretamente para executar as instruções. O mesmo programa, em sua forma de código-fonte legível por humanos, permite que um programador estude e desenvolva uma sequência de etapas conhecida como algoritmo. Como as instruções podem ser executadas em diferentes tipos de computadores, um único conjunto de instruções de origem é convertido em instruções de máquina de acordo com o tipo de CPU.
O processo de execução executa as instruções em um programa de computador. As instruções expressam os cálculos realizados pelo computador. Elas acionam sequências de ações simples na máquina de execução. Essas ações produzem efeitos de acordo com a semântica das instruções.
Hardware de computador O hardware de computador inclui as partes físicas de um computador, inclusive a unidade central de processamento, a memória e a entrada/saída. A lógica computacional e a arquitetura do computador são tópicos importantes no campo do hardware de computador.
Software de computador O software é um conjunto de programas de computador e dados relacionados que fornece instruções para um computador. Software refere-se a um ou mais programas de computador e dados mantidos no armazenamento do computador. É um conjunto de programas, procedimentos, algoritmos, bem como sua documentação relacionada à operação de um sistema de processamento de dados. O software de programa executa a função do programa que implementa, seja fornecendo instruções diretamente ao hardware do computador ou servindo como entrada para outro software. O termo foi criado para contrastar com o antigo termo hardware (que significa "dispositivos físicos"). Em contraste com o hardware, o software é intangível.
Às vezes, o software também é usado em um sentido mais restrito, significando apenas software de aplicação.
Software de sistema O software de sistema é um software de computador projetado para operar e controlar o hardware do computador e para fornecer uma plataforma para a execução do software de aplicação. O software de sistema inclui sistemas operacionais, software utilitário, drivers de dispositivos, sistemas de janelas e firmware. As ferramentas de desenvolvimento usadas com frequência, como compiladores, ligadores e depuradores, são classificadas como software de sistema. O software de sistema e o middleware gerenciam e integram os recursos de um computador, mas normalmente não os aplicam diretamente na execução de tarefas que beneficiam o usuário, ao contrário do software de aplicação.
Software de aplicação O software aplicação, também conhecido como aplicação ou app, é um software de computador projetado para ajudar o usuário a realizar tarefas específicas. Os exemplos incluem software empresarial, software de contabilidade, suítes de escritório, software gráfico e reprodutores de mídia. Muitas aplicações lidam principalmente com documentos. As aplicações podem ser incluídas em pacotes do software e do sistema ou podem ser disponibilizadas separadamente. Alguns usuários ficam satisfeitos com as aplicações incluídas no pacote e não precisam instalar aplicações adicionais. O software do sistema gerencia o hardware e atende à aplicação, que, por sua vez, atende ao usuário.
O software de aplicação aplica o poder de uma determinada plataforma de computação ou software de sistema a uma finalidade específica. Algumas aplicações, como o Microsoft Office, são desenvolvidas em várias versões para várias plataformas diferentes; outros têm requisitos mais restritos e geralmente possuem o nome plataforma em que são executados. Por exemplo, uma aplicação de geografia para Windows ou uma aplicação Android para educação ou jogos no Linux. As aplicações executadas somente em uma plataforma e que aumentam a aderência à essa plataforma devido à popularidade da aplicação, são conhecidas como "aplicações matadoras" ("killer applications").
Rede de computadores Uma rede de computadores, geralmente chamada simplesmente de rede, é um conjunto de componentes de hardware e computadores interconectados por canais de comunicação que permitem o compartilhamento de recursos e informações. Quando pelo menos um processo em um dispositivo é capaz de enviar ou receber dados de ou para pelo menos um processo residente em um dispositivo remoto, diz-se que os dois dispositivos estão em uma rede. As redes podem ser classificadas de acordo com uma ampla variedade de características, como o meio usado para transportar os dados, o protocolo de comunicação usado, a escala, a topologia e o escopo organizacional.
Os protocolos de comunicação definem as regras e os formatos de dados para a troca de informações em uma rede de computadores e fornecem a base para a programação da rede. Um protocolo de comunicação bem conhecido é a Ethernet, um padrão de hardware e camada de enlace que é onipresente em redes locais. Outro protocolo comum é o Internet Protocol Suite, que define um conjunto de protocolos para internetworking, ou seja, para comunicação de dados entre várias redes, transferência de dados de host (hospedeiro) para host e formatos de transmissão de dados específicos de aplicações.
Às vezes, a rede de computadores é considerada uma subdisciplina da engenharia elétrica, das telecomunicações, da ciência da computação, da tecnologia da informação ou da engenharia da computação, pois se baseia na aplicação teórica e prática dessas disciplinas.
Internet A internet é um sistema global de redes de computadores interconectadas que usam o conjunto de protocolos padrão da internet (TCP/IP) para atender a bilhões de usuários. Isso inclui milhões de redes privadas, públicas, acadêmicas, comerciais e governamentais, com escopo que varia de local a global. Essas redes são conectadas por uma ampla gama de tecnologias de rede eletrônica, sem fio e óptica. A internet oferece uma ampla gama de recursos e serviços de informação, como os documentos de hipertexto interconectados da World Wide Web e a infraestrutura de suporte a e-mail.
Programação A programação de computadores é o processo de escrever, testar, depurar e manter o código-fonte e a documentação dos programas de computador. Esse código-fonte é escrito em uma linguagem de programação, que é uma linguagem artificial, geralmente mais restritiva do que as linguagens naturais, mas facilmente traduzida pelo computador. A programação é usada para invocar algum comportamento desejado (personalização) da máquina.
Escrever um código-fonte de alta qualidade requer conhecimento tanto do domínio da ciência da computação quanto do domínio em que a aplicação será usada. Por isso, o software da mais alta qualidade costuma ser desenvolvido por uma equipe de especialistas. No entanto, o termo "programador" pode se aplicar a uma variedade de qualidades de programa, desde hacker até colaborador de código aberto e profissional. Também é possível que um único programador faça a maior parte ou toda a programação de computador necessária para gerar a prova de conceito para lançar uma nova "aplicação matadora".
Programador de computador