Live data from Hacker News

It's hard to write code for computers, but it's harder to write code for humans

erikbern.com

71–80 of 147 posts

Re: It's hard to write code for computers, but it's harder to write code for humans

#71
The title of the post is debatable, as code is only written for humans. Computers don't need "code", and especially not high level code. They're happy with machine instructions. We write code because machine instructions are much too hard for us to write, and even harder to read.

We should not think of code as a way to interact with computers. Code is a way for us humans to formalize our thoughts so that they become so unambiguous that (even) a machine can follow them.

Re: It's hard to write code for computers, but it's harder to write code for humans

#73
post #66

> “Humans learn from examples, not from “core concepts” Nitpicking maybe but I disagree with tfa on this point; not all humans work this way. Those of us who might actually prefer the general -> specific direction are already largely ignored in k12 and may only begin to thrive in higher education. Since we’re already kind of underserved, there’s no need to also deny that we exist!

This is something I'm starting to pick up and use from a mentoring and onboarding perspective. By now, I fairly openly wonder if someone needs conceptual or architectural clarification, technique on handling a thing, or a solution right there. And when we should have a follow-up call in the first two cases. And having both thoughts and material available for a specific -> general, as well as a general -> specific pat…

Hopefully some teachers are actively looking for which approach students need, like you are.

I always found the focus on say audio vs visual learning styles to be strange because for me, abstract vs concrete is much more important.

Showing a collection of examples to illustrate an abstraction is fundamentally kind of bizarre to me, especially when the abstraction is short and easy to state. Because really, the concrete examples might have many things in common and I won’t be sure which ones the teacher wishes to indicate.

This problem is more obvious with math/code maybe, but I see the same issues with teaching / learning things like philosophy and history. Examples very often just obscure the lesson for me, especially when they come first. Just hit me with the abstraction and generalities first so I can orient, then I can understand which part of the concrete examples I’m supposed to consider.

Re: It's hard to write code for computers, but it's harder to write code for humans

#74

People learn things differently. I really need the "core concept" first, before diving into examples, (unless the core concept is extremely simple). Many tutorials are like hand-holding Lego building. Here's your Lego pieces, watch me and follow me in building this toy project, and you'll know how to Lego at the end of the day. I just don't function very well in this model. I want to know how and why decisions are ma…

I agree. Many coding courses start with setting up your environment, where to download the base packages... I much prefer the core concepts first.

Re: It's hard to write code for computers, but it's harder to write code for humans

#75

From Code Complete: “The smaller part of the job of programming is writing a program so that the computer can read it; the larger part is writing it so that other humans can read it.” (P.733) Has stayed with me for ~20 years.

I wish that wasn't buried on page 733!

The whole books has some good nuggets but it definitely makes you work for it :)

Re: It's hard to write code for computers, but it's harder to write code for humans

#77

People learn things differently. I really need the "core concept" first, before diving into examples, (unless the core concept is extremely simple). Many tutorials are like hand-holding Lego building. Here's your Lego pieces, watch me and follow me in building this toy project, and you'll know how to Lego at the end of the day. I just don't function very well in this model. I want to know how and why decisions are ma…

Well put, you beat me to it! Specifically this line started my disbelief:

  Humans don't learn about things this way.
Naturally, as is the hacker way, with no citations. I’ve only scratched the surface of pedagogy, but it’s a massive and mature academy drawing its modern principles from the empirical psychology of Dewey and Piaget. There’s a LOT more to say about it than can be covered in a blog post, much less a subsection of a blog post!

As you point out, the biggest issue is that people are different. The next biggest issue is we aren’t even sure why those differences occur, or how stable they are over time…

Well written post otherwise and it’s a good dive into the pragmatics of a particular educational strategy — I just would ask to see more humility, I guess!

Re: It's hard to write code for computers, but it's harder to write code for humans

#78
Someone, a one day old account, wrote and then deleted this while I was writing a reply:

> No other engineering discipline thinks this way. You design circuits for performance, manufacturing, and cost, not other engineers.

Yeah, that's why we don't produce schematics, diagrams, and blueprints or maintain those things over the years.

Software development is a design discipline, not a construction discipline. The analogs in engineering disciplines to source code are not the circuit, the car, or the bridge artifacts, but the schematics, diagrams, and models that go into their development.

And yes, practitioners in engineering disciplines absolutely care about communicating with other people (including other engineers), that's a substantial portion of their job in fact.

Re: It's hard to write code for computers, but it's harder to write code for humans

#79

Earlier quoted context omitted.

Visual Basic in VS has aggressive autocomplete and it gets pretty annoying. You often want to write things in a different order and end up having to delete the auto-inserted endif/quotes/brackets/variable names (if it's not yet declared, it changes it to become something else that is), etc.

Oh, you still code in Visual Basic? Fascinating. May I ask what's the use case and how are you finding coding in VB these days?

Not OP, but there are some fairly complex/decent use cases with Microsoft Excel.

Overall not much.

Some could argue that there is value in "bash like" vbscript automations via cscript, but that became legacy after Powershell came along.

Post reply on HN