DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Discussion on: Learning Some Computer Science will Make You a Better (And More Expensive) Engineer

Collapse
mburszley profile image
Maximilian Burszley
  1. Bytecode is still run by an interpreter (such as V8)
  2. Python is written in C for the standard implementation (it's a bit ironic you use this example and then say it's probably written in C++)
  3. Threading does not mean multi-core
Collapse
byrro profile image
Renato Byrro • Edited on

I would also suggest maybe an edit to clarify your thoughts on the Threading part, Lane.

Might confuse people. Instead of threading, maybe use "concurrency". Instead of "multiple cores", maybe use "handling multiple jobs/tasks". This would make it more generalistic (if that word even exists).

Threading will handle jobs concurrently (quickly switching between one and another, when it makes sense - e.g. IO-bound tasks).

But threads won't help with parallelization (performing multiple tasks simultaneously). In this case, we really need multiple processors, as you mentioned.

Collapse
wagslane profile image
Lane Wagner Author
  1. True, but out of scope for the article.
  2. True. I used probably because I wasn't referring to anything specific
  3. Good point, although the take advantage of the some of the biggest differences between threading and async operations, you will need multiple instructions running at the same time.
Collapse
mburszley profile image
Maximilian Burszley

multiple instructions running at the same time

That would be multi-processing. Multi-threading isn't necessarily concurrent and does not necessarily take advantage of multiple cores or processors (i.e. implementation-specific detail)