What area of computer science for this?

Click For Summary

Discussion Overview

The discussion revolves around identifying the area of computer science that addresses the computational capabilities and limitations of programming languages, particularly in the context of SQL and its instruction set. Participants explore concepts related to computability, the theory of computation, and Turing completeness.

Discussion Character

  • Exploratory, Technical explanation, Conceptual clarification, Debate/contested

Main Points Raised

  • One participant raises a question about the computational problems that can be solved given a fixed set of commands, using SQL as an example of a constrained language.
  • Another participant suggests that the area of computability may be relevant, referencing recursively enumerable sets.
  • Several participants mention the theory of computation as a pertinent field, with one specifically pointing to automata theory as related to abstract machines and their computational problems.
  • A participant questions whether the theory of computation evaluates languages like SQL for completeness and what can be derived if they are found to be incomplete.
  • One participant asserts that SQL does have mechanisms that can function similarly to loops, suggesting it is a complete procedural language.
  • Another participant claims that SQL is Turing complete, providing a link to support this assertion.

Areas of Agreement / Disagreement

Participants express varying views on the completeness of SQL, with some asserting it is Turing complete while others discuss its limitations. The discussion remains unresolved regarding the specific computational capabilities of SQL and how they fit within the broader theory of computation.

Contextual Notes

There are limitations in the discussion regarding the definitions of completeness and the specific capabilities of SQL, as well as the implications of Turing completeness in practical applications.

Avichal
Messages
294
Reaction score
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
Theory of computation.
 
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?
 
Start from the beginning. Google "Turing".
 
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!
 
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.
 
In fact, SQL is Turing complete. See http://blog.coelho.net/database/2013/08/17/turing-sql-1/ .
 
Last edited by a moderator:

Similar threads

  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 15 ·
Replies
15
Views
4K
Replies
29
Views
6K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 41 ·
2
Replies
41
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
  • Sticky
  • · Replies 13 ·
Replies
13
Views
8K
  • · Replies 2 ·
Replies
2
Views
2K