Ciência da Computação e Linguagens de Programação
Introdução
Modelos de Linguagem de Programação
Tipicamente, um primeiro curso de ciência da computação apresenta uma linguagem de programação e enfatiza a programação. Alguns estudantes terminam tal curso com a impressão de que ciência da computação é o estudo de programação. Isso não é verdadeiro.
Software é o produto final de um processo de engenharia que envolve especificações, requisitos, análise, projeto, implementação e manutenção. Software é uma entidade visível e tangível. É um conjunto de instruções que permite a um computador digital realizar uma variedade de tarefas.
Uma linguagem de programação proporciona uma notação onde se pode expressar algoritmos e estruturas de informações. O computador pode usar tal notação para realizar tarefas úteis. Mas para muitos cientistas da computação, programas representam a parte menos produtiva, mais rotineira e talvez a mais monótona do processo de desenvolvimento de software (ciclo de vida do software). De fato, alguns cientistas da computação nem mesmo programam.
Para outros cientistas da computação, a criação de programas é tudo o que a ciência da computação representa. A teoria das linguagens de programação salienta a importância da programação. Mas a ciência da computação é muito mais que programação.
A ciência da computação lida com arte, trabalho criativo e cálculos usados em um computador digital. A ciência da computação é tão teórica quanto prática, tão teórica quanto aplicada. Teoria de autômatos, linguagens naturais e artificiais, aprendizado e indução, informação, estruturas de dados, estudo de complexidade e algoritmos desempenham um papel central e também servem como um reforço teórico para toda a ciência da computação.
As maiores áreas de aplicação de ciência da computação incluem:
- Sistemas operacionais;
- Design de compiladores;
- Estruturas de dados e algoritmos;
- Gráficos;
- Análise numérica;
- Bases de dados;
- Linguagens de programação;
- Inteligência artificial;
- Aprendizado de máquina;
- Engenharia de software.
Como um estudante de ciência da computação, você estará apto a cursar muitas ou todas estas áreas.
A maioria das ciências requer que seus praticantes expressem suas ideias em uma ou mais linguagens técnicas.
Químicos aprendem a linguagem de símbolos químicos, operações e conexões que permitem escrever as equações químicas. Físicos usam a linguagem de cálculos, equações diferenciais e outras matemáticas avançadas para expressar seus modelos e ideias. Engenheiros elétricos aprendem a linguagem de diagramas de circuitos. Cientistas da computação também usam uma variedade de notações e linguagens para expressar seus conceitos e produzir resultados.
Um estudante de física precisa aprender matemática básica para ter uma notação que possa ser usada para discussão e raciocínio sobre física. Um estudante de ciência da computação precisa aprender uma linguagem de programação de alto nível e técnicas de resolução de problemas para ser capaz de raciocinar sobre a computação. Para um físico, a programação não é nada além do que o cálculo.
Cientistas da computação, como seus colegas de ciências naturais e engenharia, estão preocupados com a construção de modelos, abstrações, análises, design e implementação. Um programa ou sistema de software frequentemente representa o passo final de um processo de resolução de problemas.