Guido van Rossum
๐ค SpeakerAppearances Over Time
Podcast Appearances
In the computer world, there is a big difference.
When people are talking about parallelism, like a parallel computer,
That's usually really several complete CPUs that are sort of tied together and share something like memory or an IO bus.
Concurrency can be a much more abstract concept where you have the illusion that things happen
simultaneously, but what the computer actually does is it spends a little time running this program for a while, and then it spends some time running that program for a while, and then spending some time for the third program for a while.
Yeah, parallelism typically implies that there is multiple copies of the hardware
Because at the conscious level, our brains are not trained to sort of keep track of multiple things at the same time.
Like obviously you can walk and chew gum at the same time.
Because they're both activities that require only a little bit of your conscious activity.
But try balancing your checkbook and watching a murder mystery on TV.
You'll mix up the digits or you'll miss an essential clue in the TV show.
Because the programmer is, at least with the current state of the art, is responsible for writing the code correctly.
And it's hard enough to keep track of a recipe that you just execute one step at a time.
Chop the carrots, then peel the potatoes.
Mix the icing.
You need your whole brain when you're reading a piece of code, what is going on?
Okay, we're loading the number of mermaids in variable A and the number of mermen in variable B, and now we take the average or whatever.
I like how we're just jumping from metaphor to metaphor.
You have to keep in your head what is in A, what is in B, what is in C. Hopefully you have better names.
And that is challenging enough.