Informática - Computing

Simulação de computador
Simulação computacional, uma das principais metodologias de computação cruzada.

Computação é qualquer atividade orientada a objetivos que exija, se beneficie de ou crie máquinas de computação. Inclui o estudo e experimentação de processos algorítmicos e desenvolvimento de hardware e software . Possui aspectos científicos , de engenharia , matemáticos, tecnológicos e sociais. Principais 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 e engenharia de software .

Computador completo de Turing com tubo de vácuo adiantado
ENIAC, o primeiro computador digital eletrônico programável de uso geral
The Rasberry Pi
O Raspberry Pi , um computador moderno de placa única desenvolvido para a promoção do ensino de ciência da computação e engenharia básicas em escolas e em países em desenvolvimento.

Definições

O Currículo de Computação ACM 2005 e 2020 definiu "computação" da seguinte forma:

"De uma forma geral, podemos definir computação como qualquer atividade orientada a objetivos que requeira, se beneficie de ou crie computadores. Assim, a computação inclui projetar e construir sistemas de hardware e software para uma ampla gama de finalidades; processamento, estruturação e gerenciamento vários tipos de informação; fazer estudos científicos usando computadores; fazer com que os sistemas de computador se comportem de maneira inteligente; criar e usar meios de comunicação e entretenimento; encontrar e reunir informações relevantes para qualquer propósito específico e assim por diante. A lista é virtualmente infinita e as possibilidades são vastas . "

ACM também define sete subdisciplinas do campo da computação :

No entanto, Computing Curricula 2005 também reconhece que o significado de "computação" depende do contexto:

Computação também possui outros significados mais específicos, com base no contexto em que o termo é usado. Por exemplo, um especialista em sistemas de informação verá a computação de forma um pouco diferente de um engenheiro de software. Independentemente do contexto, fazer computação bem pode ser complicado e difícil. Como a sociedade precisa de pessoas para fazer computação bem, devemos pensar na computação não apenas como uma profissão, mas também como uma disciplina.

O mecanismo de Antikythera
O mecanismo de Antikythera , datado de 150 a 100 aC, foi um dos primeiros computadores analógicos .

O termo "computação" às vezes foi definido de forma restrita, como em um relatório da ACM de 1989 sobre Computação como Disciplina :

A disciplina de computação é o estudo sistemático de processos algorítmicos que descrevem e transformam informações: sua teoria, análise, projeto, eficiência, implementação e aplicação. A questão fundamental subjacente a toda a computação é "O que pode ser (eficientemente) automatizado?"

O termo "computação" também é sinônimo de contagem e cálculo. Em tempos anteriores, era usado em referência à ação realizada por máquinas de computação mecânica e, antes disso, a computadores humanos .

História

A história da computação é mais longa do que a história do hardware de computação e da tecnologia de computação moderna e inclui a história dos métodos planejados para caneta e papel ou giz e ardósia, com ou sem o auxílio de tabelas.

A computação está intimamente ligada à representação de números . Mas, muito antes de abstrações como o número surgirem, havia conceitos matemáticos para servir aos propósitos da civilização. Esses conceitos incluem correspondência um a um (a base da contagem), comparação com um padrão (usado para medição) e o triângulo retângulo 3-4-5 (um dispositivo para garantir um ângulo reto ).

A primeira ferramenta conhecida para uso em computação foi o ábaco , e acredita-se que tenha sido inventado na Babilônia por volta de 2.400 aC. Seu estilo original de uso era por linhas traçadas na areia com seixos. O Abaci, de design mais moderno, ainda hoje é utilizado como ferramenta de cálculo. Este foi o primeiro auxílio de cálculo conhecido - precedendo os métodos gregos em 2.000 anos {{ computer | reason = What Greek methods? | Date = March 2018}}.

A primeira ideia registrada do uso de eletrônica digital para computação foi o artigo de 1931 "O Uso de Tiratrons para Contagem Automática de Fenômenos Físicos em Alta Velocidade" por CE Wynn-Williams . O artigo de Claude Shannon de 1938, " Uma Análise Simbólica de Relés e Circuitos de Comutação ", apresentou a idéia de usar a eletrônica para operações algébricas booleanas .

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 de trabalho , o transistor de ponto de contato , em 1947 . Em 1953, a Universidade de Manchester construiu o primeiro computador transistorizado , chamado Transistor Computer . No entanto, os primeiros transistores de junção eram dispositivos relativamente volumosos, difíceis de fabricar em uma base de produção em massa, o que os limitava a uma série de aplicações especializadas. O transistor de efeito de campo de óxido de metal-silício (MOSFET, ou transistor MOS) foi inventado por Mohamed Atalla e Dawon Kahng no Bell Labs em 1959. Foi o primeiro transistor verdadeiramente compacto que poderia ser miniaturizado e produzido em massa para uma ampla gama de usos. O MOSFET tornou possível construir chips de circuito integrado de alta densidade , levando ao que é conhecido como a revolução do computador ou revolução do microcomputador .

Computador

Um computador é uma máquina que manipula dados de acordo com um conjunto de instruções denominado programa de computador. O programa possui 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. Eles disparam sequências de ações simples na máquina em 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, incluindo unidade de processamento central , memória e entrada / saída . Tópicos importantes na área de hardware de computador são lógica computacional e arquitetura de computador .

Software de computador

Software de computador, ou apenas " software ", é uma coleção de programas de computador e dados relacionados que fornecem instruções para dizer a um computador o que fazer e como fazer. Software refere-se a um ou mais programas de computador e dados mantidos no armazenamento do computador para alguns fins. Em outras palavras, software é um conjunto de programas, procedimentos, algoritmos e sua documentação voltada para a operação de um sistema de processamento de dados. O software do programa executa a função do programa que implementa, seja fornecendo instruções diretamente ao hardware do computador ou servindo como entrada para outro pedaço de software. O termo foi cunhado 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, ou seja, apenas software de aplicativo.

Software de sistema

Software de sistema, ou 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 de software de aplicativo. O software do sistema inclui sistemas operacionais , software utilitário , drivers de dispositivo , sistemas de janela e firmware . Ferramentas de desenvolvimento usadas com frequência, como compiladores , vinculadores e depuradores, são classificadas como software de sistema.

Software de aplicação

O software aplicativo, também conhecido como "aplicativo" ou "aplicativo", é 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 . Muitos programas de aplicação lidam principalmente com documentos . Os aplicativos podem ser fornecidos com o computador e seu software de sistema ou podem ser publicados separadamente. Alguns usuários estão satisfeitos com os aplicativos incluídos e nunca precisam instalar aplicativos adicionais. O software aplicativo é comparado ao software de sistema e middleware , que gerencia e integra os recursos de um computador, mas normalmente não os aplica diretamente no desempenho de tarefas que beneficiam o usuário. O software do sistema atende ao aplicativo, que por sua vez atende ao usuário. O software aplicativo aplica o poder de uma plataforma de computação específica ou software de sistema para uma finalidade específica. Alguns aplicativos, como o Microsoft Office, estão disponíveis em versões para várias plataformas diferentes; outros têm requisitos mais restritos e, portanto, são chamados, por exemplo, de aplicativo Geography para Windows ou aplicativo Android para educação ou jogos Linux . Às vezes, surge um aplicativo novo e popular que só roda em uma plataforma, aumentando a conveniência dessa plataforma. Isso é chamado de aplicativo matador .

Rede de computadores

Uma rede de computadores, muitas vezes 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. Onde pelo menos um processo em um dispositivo é capaz de enviar / receber dados para / de pelo menos um processo residente em um dispositivo remoto, então os dois dispositivos são considerados 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, protocolo de comunicação usado, escala, topologia e escopo organizacional.

Os protocolos de comunicação definem as regras e formatos de dados para a troca de informações em uma rede de computadores e fornecem a base para a programação da rede . Protocolos de comunicação bem conhecidos incluem Ethernet , um padrão de camada de hardware e link que é onipresente em redes locais , e o Internet Protocol Suite , que define um conjunto de protocolos para internetworking, ou seja, para comunicação de dados entre várias redes, bem como host- transferência de dados para o host e formatos de transmissão de dados específicos do aplicativo.

Redes de computadores às vezes são consideradas uma subdisciplina da engenharia elétrica , telecomunicações , ciência da computação , tecnologia da informação ou engenharia da computação , uma vez que depende da aplicação teórica e prática dessas disciplinas.

Internet

A Internet é um sistema global de redes de computadores interconectadas que usam o Internet Protocol Suite padrão (TCP / IP) para servir bilhões de usuários que consistem em milhões de redes privadas, públicas, acadêmicas, empresariais e governamentais, de âmbito local a global, que são interligados por uma ampla gama de tecnologias de redes eletrônicas, sem fio e ópticas. A Internet carrega uma ampla gama de recursos e serviços de informação , como os documentos de hipertexto interligados da World Wide Web e a infraestrutura para suportar e-mail .

Programação de computador

A programação de computadores em geral é o processo de escrever, testar, depurar e manter o código-fonte e a documentação de programas de computador . Este código-fonte é escrito em uma linguagem de programação , que é uma linguagem artificial muitas vezes mais restritiva ou exigente do que as linguagens naturais , mas facilmente traduzida pelo computador. O objetivo da programação é invocar o comportamento desejado (customização) da máquina. O processo de escrever o código-fonte de alta qualidade requer o conhecimento de ambos domínio da aplicação e domínio de informática. O software da mais alta qualidade é, portanto, desenvolvido por uma equipe de vários especialistas de domínio, cada pessoa um especialista em alguma área de desenvolvimento. Mas o termo programador pode se aplicar a uma gama de qualidade de programa, de hacker a colaborador de código aberto e profissional. E um único programador poderia fazer a maior parte ou toda a programação de computador necessária para gerar a prova de conceito para lançar um novo aplicativo "matador" .

Programador de computador

Um programador, programador de computador ou codificador é uma pessoa que escreve software de computador . O termo programador de computador pode se referir a um especialista em uma área da programação de computadores ou a um generalista que escreve código para muitos tipos de software. Aquele que pratica ou professa uma abordagem formal da programação também pode ser conhecido como analista programador. A linguagem de computador primária de um programador ( C , C ++ , Java , Lisp , Python , etc.) costuma ser prefixada aos títulos acima, e aqueles que trabalham em um ambiente da web costumam prefixar seus títulos com web . O termo programador pode ser usado para se referir a um desenvolvedor de software , engenheiro de software , cientista da computação , ou analista de software . No entanto, os membros dessas profissões normalmente possuem outras habilidades de engenharia de software , além de programação.

Indústria de informática

A indústria da informática é composta por todas as empresas envolvidas no desenvolvimento de software de computador , projeto de hardware e infraestruturas de rede de computadores , fabricação de componentes de computador e fornecimento de serviços de tecnologia da informação , incluindo administração e manutenção de sistemas .

Indústria de software

A indústria de software inclui negócios envolvidos no desenvolvimento , manutenção e publicação de software . A indústria também inclui serviços de software , como treinamento , documentação e consultoria .

Subdisciplinas de computação

Engenharia Informática

Engenharia da computação é uma disciplina que integra vários campos da engenharia elétrica e da ciência da computação necessários para desenvolver hardware e software de computador. Os engenheiros de computação geralmente têm treinamento em engenharia eletrônica (ou engenharia elétrica ), design de software e integração hardware-software, em vez de apenas engenharia de software ou engenharia eletrônica. Os engenheiros da computação estão envolvidos em muitos aspectos de hardware e software da computação, desde o projeto de microprocessadores individuais , computadores pessoais e supercomputadores até o projeto de circuitos . Este campo da engenharia não se concentra apenas no projeto de hardware dentro de seu próprio domínio, mas também nas interações entre o hardware e o mundo ao seu redor.

Engenharia de software

Engenharia de software (SE) é a aplicação de uma abordagem sistemática, disciplinada e quantificável para o projeto, desenvolvimento, operação e manutenção de software e o estudo dessas abordagens; ou seja, a aplicação da engenharia ao software. Em termos leigos, é o ato de usar insights para conceber, modelar e dimensionar uma solução para um problema. A primeira referência ao termo é a Conferência de Engenharia de Software da OTAN de 1968 e pretendia provocar a reflexão sobre a percepção da " crise de software " na época. O desenvolvimento de software , um termo muito usado e mais genérico, não inclui necessariamente o paradigma da engenharia. Os conceitos geralmente aceitos de Engenharia de Software como uma disciplina de engenharia foram especificados no Guia para o Conjunto de Conhecimentos em Engenharia de Software (SWEBOK). O SWEBOK se tornou um padrão ISO / IEC TR 19759: 2015 aceito internacionalmente.

Ciência da Computação

Ciência da computação ou ciência da computação (abreviada como CS ou Comp Sci) é a abordagem científica e prática para a computação e suas aplicações. Um cientista da computação se especializou em teoria da computação e projeto de sistemas computacionais.

Seus subcampos podem ser divididos em técnicas práticas para sua implementação e aplicação em sistemas computacionais e áreas puramente teóricas. Alguns, como a teoria da complexidade computacional , que estuda propriedades fundamentais de problemas computacionais , são altamente abstratos, enquanto outros, como a computação gráfica , enfatizam as aplicações do mundo real. Outros ainda se concentram nos desafios da implementação de cálculos. Por exemplo, a teoria da linguagem de programação aborda a descrição de computações, enquanto o estudo da programação de computadores em si investiga vários aspectos do uso de linguagens de programação e sistemas complexos , e a interação homem-computador concentra-se nos desafios de tornar os computadores e computações úteis e utilizáveis , e universalmente acessível aos humanos .

Cíber segurança

Ciência de dados

Sistemas de informação

"Sistemas de informação (SI)" é o estudo de redes complementares de hardware e software (ver tecnologia da informação ) que pessoas e organizações usam para coletar, filtrar, processar, criar e distribuir dados . A ACM é Informática Carreira site diz

"A maioria dos programas de IS [grau] está localizada em escolas de negócios; no entanto, eles podem ter nomes diferentes, como sistemas de informação de gestão, sistemas de informação de computador ou sistemas de informação de negócios. Todos os graus de IS combinam tópicos de negócios e computação, mas a ênfase entre as questões técnicas e organizacionais variam entre os programas. Por exemplo, os programas diferem substancialmente na quantidade de programação necessária. "

O estudo une negócios e ciência da computação usando os fundamentos teóricos da informação e computação para estudar vários modelos de negócios e processos algorítmicos relacionados dentro de uma disciplina de ciência da computação.

O campo de Computer Information System (s) (CIS) estuda computadores e processos algorítmicos, incluindo seus princípios, seus softwares e designs de hardware, seus aplicativos e seu impacto na sociedade, enquanto SI enfatiza a funcionalidade sobre o design.

Tecnologia da Informação

A tecnologia da informação (TI) é a aplicação de computadores e equipamentos de telecomunicações para armazenar, recuperar, transmitir e manipular dados, geralmente no contexto de um negócio ou outra empresa. O termo é comumente usado como sinônimo de computadores e redes de computadores, mas também abrange outras tecnologias de distribuição de informações, como televisão e telefones. Diversos setores estão associados à tecnologia da informação, como hardware , software , eletrônicos , semicondutores , internet , equipamentos de telecomunicações , comércio eletrônico e serviços de informática .

Pesquisa e tecnologias emergentes

A computação baseada em DNA e a computação quântica são áreas de pesquisa ativa em hardware e software (como o desenvolvimento de algoritmos quânticos ). A infraestrutura potencial para tecnologias futuras inclui origami de DNA em fotolitografia e antenas quânticas para transferência de informações entre armadilhas de íons. Em 2011, os pesquisadores haviam emaranhado 14 qubits . Circuitos digitais rápidos (incluindo aqueles baseados em junções Josephson e tecnologia quântica de fluxo único rápido ) estão se tornando mais realizáveis ​​com a descoberta de supercondutores em nanoescala .

Dispositivos de fibra ótica e fotônicos (óticos), que já eram usados ​​para transportar dados por longas distâncias, passaram a ser usados ​​por data centers, lado a lado com CPU e componentes de memória semicondutora. Isso permite a separação de RAM da CPU por interconexões ópticas. A IBM criou um circuito integrado com processamento eletrônico e óptico de informações em um chip. Isso é denominado "nanofotônica integrada em CMOS" ou (CINP). Um benefício das interconexões ópticas é que as placas-mãe que antes exigiam um certo tipo de sistema em um chip (SoC) agora podem mover a memória anteriormente dedicada e os controladores de rede para fora das placas-mãe, espalhando os controladores no rack. Isso permite a padronização de interconexões de backplane e placas-mãe para vários tipos de SoCs, o que permite atualizações mais oportunas de CPUs.

Outro campo de pesquisa é a spintrônica . Spintrônica pode fornecer capacidade de computação e armazenamento, sem acúmulo de calor. Algumas pesquisas estão sendo feitas em chips híbridos, que combinam fotônica e spintrônica. Também há pesquisas em andamento sobre a combinação de plasmônica , fotônica e eletrônica.

Computação em nuvem

A computação em nuvem é um modelo que permite a utilização de recursos computacionais, como servidores ou aplicativos, sem a necessidade de muita interação entre o proprietário desses recursos e o usuário que os utiliza. Normalmente é oferecido como um serviço, tornando-se outro exemplo de Software como Serviço , Plataformas como Serviço e Infraestrutura como Serviço, dependendo da funcionalidade oferecida. As principais características incluem acesso sob demanda, amplo acesso à rede e capacidade de escalonamento rápido. Ele permite que usuários individuais ou pequenas empresas se beneficiem de economias de escala .

Uma área de interesse neste campo é o seu potencial para apoiar a eficiência energética. Permitir que milhares de instâncias de computação ocorram em uma única máquina, em vez de milhares de máquinas individuais, pode ajudar a economizar energia. Também poderia facilitar a transição para mais energia renovável, uma vez que bastaria alimentar um farm de servidores com um conjunto de painéis solares ou turbinas eólicas, em vez de milhões de residências.

Com a computação centralizada, o campo apresenta vários desafios, especialmente em segurança e privacidade. A legislação atual não protege suficientemente os usuários de empresas que manipulam indevidamente seus dados nos servidores da empresa. Isso sugere potencial para novas regulamentações legislativas sobre computação em nuvem e empresas de tecnologia.

Computação quântica

A computação quântica é uma área de pesquisa que reúne as disciplinas da ciência da computação, teoria da informação e física quântica. A ideia de a informação ser uma parte básica da física é relativamente nova, mas parece haver uma forte ligação entre a teoria da informação e a mecânica quântica. Enquanto a computação tradicional opera em um sistema binário de uns e zeros, a computação quântica usa qubits . Qubits são capazes de estar em uma superposição, o que significa que eles estão em ambos os estados, um e zero, simultaneamente. Isso significa que o qubit não está em algum lugar entre 1 e 0, mas na verdade o valor do qubit mudará dependendo de quando você o medir. Essa característica dos qubits é chamada de emaranhamento quântico e é a ideia central da computação quântica e é o que permite que os computadores quânticos façam as equações de grande escala para as quais são usados. A computação quântica é freqüentemente usada para pesquisas científicas em que um computador normal não tem capacidade computacional suficiente para fazer os cálculos necessários. Um bom exemplo seria a modelagem molecular . Moléculas grandes são complexas demais para os computadores modernos calcularem o que acontece com elas durante uma reação, mas o poder dos computadores quânticos pode abrir as portas para um melhor entendimento dessas moléculas.

Veja também

Referências

links externos