Hacker News new | ask | show | jobs
by pdiddy 4012 days ago
I think WIC is great--very enjoyable--and agree with this article that its presentation is basically a work of art, but it fails to explain "this is what code is," especially for the layperson.

Before reading this article I reflexively sent it to my wife, thinking that WIC will clarify what it is I do for a living. WIC does that remarkably in explaining what it is like to be a programmer. It tackles the business side of things, the current trends, and some history. But it is much less successful, when it comes to explaining the code.

An example of where it fails in explaining code to the layperson is the part about compiling C code in the command line. Yes, a layperson could follow this step by step, but I think if they did they wouldn't be able to put it in a larger context. Ok, it is compiled but what does that mean? How does that compare to other languages? These are questions that are left unanswered for laypeople, so it is just confusing and unrewarding.

For me as a professional dev, I enjoyed that part, especially because I could relate to it: it is like finding a basic tutorial on line, starting from scratch and following it line by line, something I do all the time. WIC is an excellent insider piece that really captures the zeitgeist of programming. The question should be reframed. If you really want to know "What is code?" you should read Petzold's Code. Any layperson could read it. You would have to work but it rewards. What is Code is better at answering "What does it mean to be a coder right now?

1 comments

> An example of where it fails in explaining code to the layperson is the part about compiling C code in the command line. Yes, a layperson could follow this step by step, but I think if they did they wouldn't be able to put it in a larger context. Ok, it is compiled but what does that mean? How does that compare to other languages? These are questions that are left unanswered for laypeople, so it is just confusing and unrewarding.

I'm not sure this is a drawback to the article. Compiled vs. interpreted and etc. etc. is a huge set of things to explain and would muddle the point. Most laypeople probably aren't interested in the hypertechnical details--do you read an article on what it's like to do mathematics and come out wondering why they didn't go into more depth explaining why functions over complex manifolds have interesting properties? Is it not enough to say "Ok, continuous functions over complex manifolds are interesting compared to the functions you learned in high school (like y=x^2+x+1) because they are restricted to certain behaviors, which makes them easy to predict"?

In the end, the human story of "What does Jim at the end of the hall do all day, anyways?" or "What do the people who make my phones/car/computer/life work do, anyways?" or etc. is a lot more compelling and interesting than teaching the minutiae of 'code' as an abstract idea in an article, so I doubt a nontechnical layperson leaves unsatisfied with the explanations in the article. I don't look for technical explanations in articles on chemistry or biology, either, since I know I don't have the background to learn about them in what is well under a short book's worth of material--I'm not sure why anyone else would, either.

Right. I think we are actually making similar points. What I was trying to say in my example of the C code compilation is that it doesn't really tell you what code is, but rather this is what it's like to write code, or rather the human story--as you described it.