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

Edit: Aften writing this long nitpicky comment, I have though of a much shorter and simpler point I want to make: Programming is mostly thinking and there are many ways to do the work of thinking. Different people and problems call for different ways of thinking and learning to think/program in different ways will give more tools to choose from. Thus I don't like arguments that there is one right way that programming happens or should happen.

I'm sorry, but yout entire comment reads like a list of platitudes about programming that don't actually match reality.

> Well, you can't write computer programs to do things that you yourself don't understand.

Not true. There are many times where writing software to do a thing is how I come to understand how that thing actually works.

Additionally, while an understanding of physics helps with modeling physics, much of that physics modeling is done to implement video games and absolute fidelity to reality is not the goal. There is often an exploration of the model space to find the right balance of fidelity, user experience and challenge.

Software writing is absolutely mostly thinking, but that doesn't mean all or even most of the thinking should al always come first. Computer programming can be an exploratory cognitive tool.

> So, the first step in becoming a good computer programmer is to learn as much as you can about everything else. Solutions to problems often come from unexpected places, so don't ignore something just because it doesn't seem immediately relevant.

I'm all about generalist and autodidacts, but becomming one isn't a necessary first step to being a good programmer.

> The second step of the process requires explaining what you know to a machine that has a very rigid view of the world, like young children do.

Umm... children have "rigid" world views? Do you know any children?

> Let's say you're trying to get out the door. You ask your child, "Where are your shoes?" The response: "There." She did answer your question.

Oh, you don't mean rigid, you mean they can't always infer social subtexts.

> Flexibility and the ability to make inferences are skills that children learn as they grow up. But computers are like Peter Pan: they never grow up.

Computes make inferrences all the time. Deriving logical conclusions from known facts is absolutely something computers can be programmed to do and is arguably one of their main uses cases.

I have spent time explaining to things to children of various ages, including 3 year olds, and find the experience absolutely nothing like programming a computer.



Are you replying to me or to the author of the quote? :)

> Software writing is absolutely mostly thinking, but that doesn't mean all or even most of the thinking should al always come first. Computer programming can be an exploratory cognitive tool.

Absolutely, explaining something to the child also can be exploratory cognitive tool.


I would say very young children up until they acquire concepts like a theory of mind, cause and effect happening outside of their field of observation, and so on, are pretty rigid in many ways like computers. It's a valuable insight.

Or at least they don't make mistakes in exceptionally novel and unusual ways until they're a bit older.


> I would say very young children up until they acquire concepts like a theory of mind, cause and effect happening outside of their field of observation, and so on, are pretty rigid in many ways like computers. It's a valuable insight.

I don't see any overlapp between the two skill sets, since you do I'd be curious for examples of where you do see overlap.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: