this post was submitted on 19 Jul 2023
1105 points (98.3% liked)
Programmer Humor
32610 readers
37 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The point of these lectures is mostly not to teach how to work with Turing machines, it is to understand the theoretical limits of computers. The Turing machine is just a simple to describe and well-studied tool used to explore that.
For example, are there things there that cannot be computed on a computer, no matter for how long it computes? What about if the computer is able to make guesses along the way, can it compute more? Because of this comic, no — it would only be a lot faster.
Arguably, many programmers can do their job even without knowing any of that. But it certainly helps with seeing the big picture.
Arguably, a much more important thing for the students to learn is the limits of humans. The limits of the computer will never be a problem for 99% of these students or they'll just learn on the job the types of problems they're good at solving and the ones that aren't.
The limits of computers would be the same as the limits for humans. We have no reason to think the human brain has a stronger computation power than a Turing machine.
So, in a way, learning about the limits of computers is the exact same as learning the limits of humans.
But also, learning what the limits of computers are is absolutely relevant. You get asked to create an algorithm for a problem and its useful to be able to figure out whether it actually is solvable, or how fast it theoretically can be. Avoids wasting everyone's time trying to build an infinite loop detector.
The "limits of humans" I was referring to were things like:
👍
..none of which would be relevant for most people working in back-end, which would be most people that take compsci.
I would hate to go to a compsci study and learn management instead. It's not what I signed up for.
University also shouldn't just be a job training program.