What area of computer science for this?

In summary, the conversation discusses the topic of computability and how it relates to different languages, specifically SQL. The theory of computation is mentioned as the field that deals with these questions and it is described as the study of abstract machines and their capabilities. The discussion also mentions the concept of Turing completeness and how it applies to SQL.
  • #1
Avichal
295
0
Lately I'm interested in questions like this: -
Given a set of commands, what all computation problems can be done?

For e.g.: - SQL has a fixed set of instructions like select, from, where etc. You can only do a limited amount of things with this language. Since there are no for loops and stuff, you are constrained.

So what area of computer science deals with questions like this?
 
Technology news on Phys.org
  • #3
Theory of computation.
 
  • #4
D H said:
Theory of computation.
I looked it up. Automata theory is what I'm looking for, I guess.
Wikipedia says it is the study of abstract machines and the computational problems that can be solved using these machines.
When it says 'abstract machines', it means some specific language or a set of instructions right?
 
  • #5
Start from the beginning. Google "Turing".
 
  • #6
I know about Turing and Turing-completeness. It decides if a given language is complete (i.e. computational problems can be solved using it or not)
But does theory of computation take languages like SQL and see if they are complete. If incomplete, then does it try to find out what all things can it do?

Anyways, I'll look for a book on it and see what it covers. Thank you for guiding!
 
  • #7
Incidentally, SQL does have loops that can be made to act identically to FOR loops. It is generally considered to be a fairly complete procedural language.
 
  • #8
In fact, SQL is Turing complete. See http://blog.coelho.net/database/2013/08/17/turing-sql-1/ .
 
Last edited by a moderator:

FAQ: What area of computer science for this?

1. What is computer science?

Computer science is a field of study that involves the theory, design, and application of computers and computational systems. It covers a wide range of topics, including programming, algorithms, data structures, artificial intelligence, and computer hardware and software.

2. What areas of computer science are there?

Some common areas of computer science include computer programming, software engineering, computer graphics, human-computer interaction, and data science. Other areas include networking, computer security, and artificial intelligence.

3. What are some careers in computer science?

There are many careers in computer science, including software developer, computer systems analyst, web developer, database administrator, and computer network architect. Other career paths include data scientist, information security analyst, and computer and information research scientist.

4. What skills are needed for computer science?

Some essential skills for computer science include problem-solving, critical thinking, programming, and analytical skills. It is also helpful to have strong mathematical and logical skills, as well as the ability to work well in a team.

5. What are the benefits of studying computer science?

Studying computer science can lead to numerous benefits, including high-paying job opportunities, the ability to work in a constantly evolving and in-demand field, and the opportunity to develop and improve technology that can positively impact society. It also allows for a wide range of career options and the potential for continuous learning and growth.

Similar threads

Replies
15
Views
2K
Replies
5
Views
1K
Replies
13
Views
5K
Replies
32
Views
4K
Replies
7
Views
1K
Back
Top