Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't think this is the right mental model of coding.

It seems a bit too similar to the idea that "most people simply cannot read".

We all accept that nobody can read without instruction, practice, and feedback. Why is coding somehow different? If anything, I think reading is more foreign/difficult, because coding is explicit thinking, and we all think. Whereas reading is a completely synthetic act that starts with arbitrary symbols that must be memorized by rote before you can even take the next step of using them.

None of us start out life being literate, but few people lack the ability to become literate. Why is coding different?



>None of us start out life being literate, but few people lack the ability to become literate. Why is coding different?

To elaborate on the sibling comments, coding is generative work instead of passive consumption like reading. This split becomes easier to see when looking at a bunch of domains.

Most of people can learn to read a book but very few can write a good book. Similarly, it's easier to re-tell someone else's funny joke than be creative and write original comedy.

Many people can learn basic physics equations like "f=ma" is "force equals mass times acceleration" but fewer are able to be generative and discover new physics equations that are accepted by the science community.

Most people can listen to music and appreciate it, but a smaller percentage can play instruments. And then within the set of musicians, an even smaller percentage can compose new original music. There must be something more to it than "training and practice" to explain why a 19-year old Chopin can compose sophisticated piano compositions while most 70-year old professional concert pianists that have performed for decades with more repertoire than Chopin have written no notable original music.

Coding may not be as hard as creating "Theory of General Relativity" but it's not the same as reading literacy.


Generative work is not all created equal. Most of programming we all do is like applying physics equations in practice. A tiny portion is truly on the cutting edge, more akin to physics research.

Likewise, a lot more emails and discussion comments and school reports are written, per volume, than masterpiece books.


I'd be willing to bet that

{people who can look at a real world problem, choose an appropriate physics model, and apply the right equations, correctly}

and

{people who can look at a real world problem, choose an appropriate logical model, and apply the right language/frameworks/code, correctly}

are probably really quite similar sets.


I look at a coding problem and think, what problem did I or somebody else solve in the past that looks similar to this new problem? What’s different about this new problem? What’s the same? In that sense coding is more like reading, in that it is about pattern recognition and “reading the pattern”, then it is about creating something new entirely.


> It seems a bit too similar to the idea that "most people simply cannot read".

Most people can read in that they can translate text into sounds. However most people cannot read if require that they can accurately comprehend what the text says, just look at the results of reading comprehension tests, a majority scores horribly on them.

> Why is coding different?

You can get by just fine in life without accurately understanding text, but you can't get by just fine as a programmer without accurately understanding what code does.


I think the more apt analogy would be that most people can follow a recipe, but not many people can invent new recipes from scratch (let alone achieve a specific food effect with said recipe).

Most people can modify a recipe, if the modification is natural or easily comprehended. For example, adding extra ingredients to flavour a food. But to invent one from scratch would be akin to creating a new type of food, or new way to cook, or a new way to combine cooking methods.


Elaborating a bit more on this, I have made the observation that again those _most people_ don't care much reading (good) code from other people. There are many outstanding examples of code quality out there. For instance, I've found many good patterns and solutions by simply reading the Chromium source code, many of which I can apply directly to similar problems I'm facing myself for any given software project I'm doing.

The same holds true for literature, I think. Surely, there are many people how can read and write a piece of text. However, there surely is a qualitatively difference between a gossip article from the magazine and Shakespeare's Hamlet.


> I have made the observation that again those _most people_ don't care much reading (good) code from other people

Yes. Lack of reading is observable even inside code bases themselves.

Some contributors are more prone than others to not read the codebase they're working on and break patterns, use different file naming and folder structures, disregard currently existing code and re-implementing things from scratch, use a completely different code style, use tabs instead of spaces.

I don't think it's fair to assume that those people are doing this out of malice, or even to push their own style, because as soon as you mention that to them, they admit they were just not paying attention.


Simpler still: they have a style and don't have the ability to change it on a dime. So they continue as they're accustomed to.


Wanted to point out that parent is referring to people who are somewhat in occupation where "coding" is a requirement and probably all those people he is referring to had training or extensive training in that.

I do not think parent poster is referring to junior developers or just people on the streets.

Even though they work as developers and have experience they still don't get it. Just like people who mechanically read symbols and put it into words but don't get the meaning behind paragraphs or whole stories.


> It seems a bit too similar to the idea that "most people simply cannot read".

Remember that most people require extensive schooling for the better part of a decade in order to learn how to read.


> similar to the idea that "most people simply cannot read".

I think you're probably right, but in a strictly semantic way: I think it's feasible that nearly everybody (excluding, say, the severely mentally handicapped) could learn to program to a reasonable level of proficiency, with enough effort. However, most people won't, so it ends up being the same as if most people can't.


HN is a self-selecting population of higher=than-median IQ people with specific interests. Outside of that population, skill levels look like this:

https://www.oecd.org/skills/piaac/Country%20note%20-%20Unite...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: