this post was submitted on 19 Jul 2023
1100 points (98.3% liked)
Programmer Humor
32549 readers
575 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
I wonder how many in that class will ever need to think about multitape Turing machines ever again.
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.
I didn't go to university, because I wanted to learn useful stuff, but because I'm curiousity driven. There is so much cool stuff and it's very cool to learn it. That's the point of university that it prepares you for a scientific career where the ultimate goal is knowledge not profit maximisation (super idealistically).
Talking about Turing Machines it's such a fun concept. People use this to build computers out of everything - like really - it became a Sport by this point. When the last Zelda was Released the first question for many was, if they can build a computer inside it.
Does it serve a practical purpose? At the end of the day 99% of the time the answer will be no, we have computing machines built from transistors that are the fastest we know of, lets just use these.
But 1% of the time people recognize something useful... hey we now found out in principle one can build computers from quantum particles... we found an algorithm that could beat classical computers in a certain task... we found a way to actually do this in reality, but it's more proof of concept (15 = 5×3)... and so on
Never used a Turing machine, but I have a project that generates NFAs and converts them to DFAs so they run faster.
How does one convert a No Fear Article into a Definitely Fear Article?
I thought it was Non-Fungible Articles and Decentralised Federated Articles
Ram is literally just the tape. Modern computers are just multitape turing machines, albeit the tape ends at some point.
Technically a multitape Turing machine is a Turing machine.
Only the ones who don’t grow up to be total code monkeys