4

Granted, every profession has it's technicalities. If you are an MD, you better know the anatomy of the human body, and if you are astronomer, you better know your calculus. Yet, you don't have to know these more advance topics to know that smoking might give you lung cancer because of carcinogens or the moon revolves around the earth because of gravity (thank you Discovery Channel). There's sort of a common knowledge (at least in more developed countries) of these more advanced topics.

With that said, why are things like recursive descent parsing, BNF, or Turing machines hardly ever mentioned outsided 3000 or 4000 level classes in a university setting or between colleagues? Even back in my days before college in my pursuit of knowledge on how computers work, these very important topics (IMHO) never seem to get the light of day. Many different sources and sites go into "What is a processor?" or "What is RAM?", or "What is an OS?". You might get lucky and discover something about programming languages and how they play a role in how applications are created, but nothing about the tools for creating the language itself. To extend this idea, Dennis Ritchie died shortly after Steve Jobs, yet Dennis Ritchie got very little press compared to Steve Jobs.

So, the heart of my question: Does the public in general not care to hear about computer science topics that make the technology in their lives work, or does the computer science community not lend itself to the general public to close the knowledge gap? Am I wrong to think the general public has the same thirst for knowledge on how things work as I do? Please consider the question carefully before answering or vote closing please.

gnat
  • 21,213
  • 29
  • 113
  • 291
  • 12
    You won't hear the general public discussing protein chains either, but that does not make the biologist's job just as hard. – Engineer2021 Apr 04 '12 at 18:11
  • 7
    Because the public cares more about Kim Kardashian's wedding than about your descent parser. – Robert Harvey Apr 04 '12 at 18:11
  • 4
    Common knowledge around some subjects, such as medicine, could be because medicine has been practiced in one form or another for far longer than computer science, and so has had much more time to enter into everyday discussions. Also, having some common knowledge of medicine can have a direct and immediate impact on your personal health. – FrustratedWithFormsDesigner Apr 04 '12 at 18:13
  • 1
    On the contrary, was just listening to an NPR station on how certain proteins chains reinforce how memories are constructed. I am not a biologist, but I understood what they were talking about. – Chad Harrison Apr 04 '12 at 18:13
  • 5
    @RobertHarvey: So... if Kim Kardashian started talking about parsers in interviews, perhaps then the public would care... – FrustratedWithFormsDesigner Apr 04 '12 at 18:15
  • 5
    How is this question constructive at all? – Mike L. Apr 04 '12 at 18:15
  • 1
    @hydroparadise: Those kinds of stories are told at the most basic level of rigor, in a way that will appeal to the general public. Yes, even on NPR. – Robert Harvey Apr 04 '12 at 18:15
  • Do you know a biologist or physicist who can tell you carcinogens and gravity (to the level the public knows them) are biology's/physics' equivalent to CS' BNF, turing machines and parsing, rather than pre-undergrad stuff like Von Neumann architecture? –  Apr 04 '12 at 18:17
  • 1
    @Frustrated: Well, it would certainly cause a spike in Google searches from people wanting to know what a descent parser looks like in a bikini. – Robert Harvey Apr 04 '12 at 18:18
  • @MikeL. As a young profesional, like other young profesionals, to understand the environment in which I exist, especially during requirements gathering from the layman. – Chad Harrison Apr 04 '12 at 18:18
  • 1
    @RobertHarvey: There must be a way to manipulate Google search results so that searching for "Kim Kardashian" brings up academic papers on parsers as the 5 results. – FrustratedWithFormsDesigner Apr 04 '12 at 18:19
  • 1
    @hydroparadise - That's great but these answers are just going to be a bunch of opinions which is not constructive to this site. – Mike L. Apr 04 '12 at 18:21
  • 2
    Interesting discussion topic but lets remember this is a Q&A site and we actively try to discourage questions that promote opinionated discussions rather than subjective answers. If you wish then you can take the discussion to the Programmers chatroom. – maple_shaft Apr 04 '12 at 19:03
  • 1
    @hydroparadise- the output of what we do is generally seen as a utility - something that helps/lets the user of it get something important (to them) done. The general public would no sooner discuss CS than they would the details of how electricity gets to their house. And the layman you'd get requirements from is generally knowledgeable, if not an expert, in their own field. – DaveE Apr 04 '12 at 19:59
  • As a side note, "3000 or 4000 level classes" means absolutely nothing. The numerical range is specific to that college/university - mine maxed out at 900, where 400 contained undergrad courses and 500 contained graduate courses. – Izkata Apr 04 '12 at 21:15
  • I hope it stays this way. I don't want laymen taking my job ;) – Austin Henley Jul 14 '12 at 19:23

5 Answers5

24

Does the public in general not care to hear about computer science topics that make the technology in their lives work, or does the computer science community not lend itself to the general public to close the knowledge gap?

In short, no and no.

Knowledge specialization in modern society exists to such a degree that not only do most people not care about the concepts you mention, but it doesn't really make any sense for them to. As people who understand these things, it may seem odd to us that others don't and odder still that they don't want to, but to what level of detail do we understand other professions?

Can programmers cite passages from the tax code by rote? Can we explain the specific mechanics of how our cars' engines work? Can we diagram up our houses' electrical systems? Do we know the names of all of the chambers of our heart? For some, the answer to these things may be "yes", but that's going to be the exception rather than the rule. And, what's more, is there some specific reason we should care about the answer to these questions and dozens more? After all, this is why we pay accountants, mechanics, electricians and doctors respectively.

The reason I rehash here what you covered in the first paragraph of your question is to emphasize matters of degrees. A given programmer may care about the subject of taxes deeply as a matter of self interest. It certainly affects him or her. But there is a level of abstraction at which "I get a discount for owning a home" is sufficient without understanding all the provisions and history of the mortgage interest deduction.

The average consumer needs to know about RAM and processor because those impact them in the pocketbook and in the user experience. Knowing how Turing machines work provides no actual benefit other than the aesthetic one relating to satisfaction in knowledge for most people. If layperson doesn't understand what RAM is, he will potentially get ripped off by a salesman at Best Buy and have a bad user experience. If he doesn't know some abstract concept, he'll still get his computer, his apps will still work, and he'll still be able to navigate with his GPS.

Robert Harvey
  • 199,517
4

People talk about computers and computer science-y things all the time, and in general they do it at about the same level of sophistication as they talk about biology, physics, etc. Most people have some idea about concepts like Moore's Law, clock speeds, gigabytes, megapixels, and algorithms just as they know something about DNA, proteins, "good" and "bad" cholesterol, and so on. If you say "recursive descent parser" even to many programmers, it's about the same as saying "mitochondrial transcription factors TFAM and TFB2M": not something most people are likely to know much about.

Caleb
  • 39,147
  • 8
  • 95
  • 152
3

You have two very different things. You have academia and you have industry. Computer science is an academic pursuit. It's math and algorithm based. Then you have industry. Industry is application based. One is theoretical the other is practical. The public cares more about the practical, because that's what they use. The browser, the applications, etc. The computer science details are abstracted away (as they should be).

jmq
  • 6,078
2

I think it's because the layman views computers as a black box and as a result does not care what actually happens inside as long as it works. Add that in with a lot of people's fear of maths you don't get an environment were general discussion of the theory behind computing (computer science) occurs.

Also I think sometimes how we discuss the topic and sometimes shoot down questions (we all are guilty of this at some point) with 'it's complicated' or 'do you really want to know'

Amy
  • 790
  • 4
  • 8
  • 1
    http://www.youtube.com/watch?v=rJp86_tj9KQ – Jeffrey Sweeney Apr 04 '12 at 18:15
  • Shooting down such questions is actually good most of the time. If a friend of mine asks me what dual-core means for example, I usually don't tell him. When I talk about these things and explain them (even in just a few very high level sentences) I can see their faces getting more and more bored. I hate that feeling so I avoid it. – Radu Murzea Apr 04 '12 at 18:17
2

People in general don't care to know about how computers work as long as they do work. This is likely due to computers and related knowledge being viewed as very complicated (which is true in most cases). This may also likely be due to society viewing those that do have a lot of computer knowledge as "geeks", "nerds" and social outcasts in general and it is the fear of becoming labelled as one of these that keeps the general public from gaining too much knowledge.

I for one don't care that most people aren't interested in discussing computers and related knowledge. I myself try to discuss these things when appropriate, but I don't expect most people to be interested or to even understand what I am talking about.

Bernard
  • 8,879
  • 32
  • 40