# A report on Computer science and Formal language

In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.

- Formal languageFormal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages, automata theory, and program semantics, but also type systems and algebraic data types to problems in software and hardware specification and verification.

- Computer science4 related topics with Alpha

## Logic

2 linksStudy of correct reasoning or good arguments.

Study of correct reasoning or good arguments.

One prominent approach associates their difference with the study of arguments expressed in formal or informal languages.

Logic is studied in and applied to various fields, such as philosophy, mathematics, computer science, and linguistics.

## Mathematical logic

2 linksStudy of formal logic within mathematics.

Study of formal logic within mathematics.

These systems, though they differ in many details, share the common property of considering only expressions in a fixed formal language.

Computer scientists often focus on concrete programming languages and feasible computability, while researchers in mathematical logic often focus on computability as a theoretical concept and on noncomputability.

## Programming language

1 linksA programming language is any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output.

Programming language theory is a subfield of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages.

## Computability theory

1 linksComputability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees.

Although there is considerable overlap in terms of knowledge and methods, mathematical computability theorists study the theory of relative computability, reducibility notions, and degree structures; those in the computer science field focus on the theory of subrecursive hierarchies, formal methods, and formal languages.