Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do theoretical computer science topics have "real world" development applications?

By "theoretical computer science topics", I am referring to things such as regular vs non-regular languages, the pumping lemma, and grammars.

I'm familiar with the real world applications of finite automata and regular expressions, but topics such as these other ones are giving me more problems as I'm not seeing any real world applications.

like image 386
Thomas Owens Avatar asked Jan 20 '09 14:01

Thomas Owens


People also ask

What are the modern developments in the field of Computer Science?

These developments have led to the modern study of logic and computability, and indeed the field of theoretical computer science as a whole. Information theory was added to the field with a 1948 mathematical theory of communication by Claude Shannon.

Does a computer science degree have any real world application?

@Wahnfrieden - Obviously there are lots of ways to attack this problem, but the point is that a computer science education and knowledge of computer science theory does have real world application. If nothing else, it helps you know what to google for, or why you would want to google for something.

What is the importance of Theoretical Computer Science in Computer Science?

In Theoretical Computer Science, we use this idea all the time. It is usually to illustrate the difficulty of solving one problem in relation to another; and provides a clear way to develop an algorithm.

Why real-world projects are important for computer science students?

Working on real-world projects allows you to apply your knowledge and skills into practice. Also, if you can create a few of these Computer Science projects, you can add them to your resume – it will definitely help you to stand out among the crowd.


2 Answers

These things are useful if you want to know whether trying to do something is futile with regular expressions. For example, knowing that XML is non-regular is useful if the idea to parse XML with regex ever enters your mind. And if you don't know off the top of your head that XML is non-regular, the pumping lemma will let you prove it trivially.

And then there's compilers, where if you don't know this stuff, you're doomed. It just depends on the application.

like image 64
Welbog Avatar answered Oct 11 '22 10:10

Welbog


Here's Steve Yegge's take about the usefulness of compilers, summed up as:

In fact, Compiler Construction is, in my own humble and probably embarrassingly wrong opinion, the second most important CS class you can take in an undergraduate computer science program.

Grammars are essential to parsing recursive structures, which appear in programming languages, natural languages, and complex data structures. I believe some programmers do not meet them at all, but the persons who write compilers, IDEs, serialization etc. meet them a lot.

like image 43
Yuval F Avatar answered Oct 11 '22 12:10

Yuval F