Live data from Hacker News

Why Programming is Difficult

joearms.github.io

71–80 of 175 posts

Re: Why Programming is Difficult

#71
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

My IQ is 10 non-standard deviations above and my Mensa membership card is twice-laminated. Beat that. :B

Re: Why Programming is Difficult

#72
post #67
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

> I attribute this to: 1) IQ 3 standard deviations above. (...) A person with an IQ at or above 145, who is also fully conversant with reality, would know that IQ testing has a reputation nearly as bad the field of psychology that popularized the activity in the first place. http://en.wikipedia.org/wiki/The_Mismeasure_of_Man > 2) I've been practicing hard, 25 years. A person of your age should know better than to use…

I don't agree.

I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement. I just assumed it was like most of the other tests I did well on, and filed it away.

You're paying more attention to it than I am.

Re: Why Programming is Difficult

#73
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

After 10 years in the industry I relate to that second paragraph far too well. What makes programming hard is that people who aren't programmers don't understand what we do.

Part of the job is helping others understand what you do, in a way that's convivial and not condescending.

Re: Why Programming is Difficult

#74
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

Rather than focusing on the IQ remark, I'll mention that the entire point of this post is that programming is not just “sit[ting] down to code something”. A program written in a vacuum when you're sitting in your chair is useful to precisely one person at precisely one point in time: you, right now.

When you're working on teams, under managers, within organizations, you're working to build something that's useful for other people. One of those other people may, coincidentally, be you, but you are not the only such person. Even more importantly, you're working to produce code that can be understood by other people. But that doesn't require an IQ 3 standard deviations above anything, it requires understanding how the people around you think and how you can put your thoughts in a way that they can understand.

Now I'm not saying that there aren't useless meetings in the world, the world is full of them. And your ultimate conclusion is, like Joe Armstrong's, that the difficult isn't in producing stuff the computer can understand; the complexity lies in the fact that it's for people. However, programming without an understanding of the people who will use your program is like a factory worker whose job is putting a screw in the right place on the car. The work is pointless if the end result isn't a car someone wants to use.

If we could specify software as easily as a single model year of a single car, we could factory work that software and you could just code without worrying about people. But we don't seem to be able to do that, because software is so malleable that we can't resist the innate desire to reshape it constantly.

Anyway, back to the point: yes, the difficult part is the people. But it's also the most important part. Here's a suggestion for avoiding the feeling of wasting time: try to embrace the fact that people are important to the process, and challenge your intellect by trying to understand what those people want and how you can match users' expectations while keeping the overhead for developers to a minimum. It's a hard problem, but once you get your head into it it can be as fun to solve as how to architect an application.

Re: Why Programming is Difficult

#75
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

Try programming in a language with dependent types.

Re: Why Programming is Difficult

#76
post #72
post #67

Earlier quoted context omitted.

> I attribute this to: 1) IQ 3 standard deviations above. (...) A person with an IQ at or above 145, who is also fully conversant with reality, would know that IQ testing has a reputation nearly as bad the field of psychology that popularized the activity in the first place. http://en.wikipedia.org/wiki/The_Mismeasure_of_Man > 2) I've been practicing hard, 25 years. A person of your age should know better than to use…

I don't agree. I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement. I just assumed it was like most of the other tests I did well on, and filed it away. You're paying more attention to it than I am.

> I don't agree.

Evidence trumps opinion.

http://en.wikipedia.org/wiki/Intelligence_quotient#Criticism...

> I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement.

It isn't remotely a "solid measurement", in fact it's a field surrounded by justified controversy on multiple grounds. The two primary objections are that (a) the tests favor certain population groups and discriminate against others for reasons other than intelligence, and (b) existing tests only really measure a person's ability to take intelligence tests.

> You're paying more attention to it than I am.

Yes, but I'm paying exactly the same amount of attention to it as the original poster, with a different perspective.

Re: Why Programming is Difficult

#77
post #57
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

Paraphrasing Feynman: You do not understand "ordinary people." To you they are 'stupid fools' -- so you will not tolerate them or treat their foibles with tolerance or patience -- but will drive yourself wild (or they will drive you wild) trying to deal with them in an effective way. Find a way to do your programming with as little contact with non-technical people as possible, with one exception, fall madly in love!…

And this attitude is why humanity is doomed. Smart people sit in private and we are governed by idiots.

Re: Why Programming is Difficult

#78
post #52
post #49

Earlier quoted context omitted.

Just because you feel things are easy doesn't mean you're doing it right ;) http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

Just because the Dunning-Kruger effect exists doesn't mean that skilled people who can accurately self-assess don't also exist.

Just because a possible alternate explanation is put forward does not imply that explanation is deemed probable. It can simply be more information to consider.

Re: Why Programming is Difficult

#79
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

Rather than focusing on the IQ remark, I'll mention that the entire point of this post is that programming is not just “sit[ting] down to code something”. A program written in a vacuum when you're sitting in your chair is useful to precisely one person at precisely one point in time: you, right now. When you're working on teams, under managers, within organizations, you're working to build something that's useful for…

This is why, when I see 22-year-old kids in interviews claiming 10 years of programming experience, that's a negative signal for me. Commercial programming is solving problems you didn't choose, in a language that's not your favourite, using existing code you didn't write, for people you would never have met outside the job, in less time than you would like. In most real situations writing the code is the easy part, figuring out what it should actually do is the hard part. Claiming 10 years experience only shows that this candidate doesn't even know what experience is.

Re: Why Programming is Difficult

#80
post #40

I think programming is easy. When I sit down to code something, it feels deterministic, and everything falls into place. I attribute this to: 1) IQ 3 standard deviations above. If I hadn't been this way when I started, I probably wouldn't have started. 2) I've been practicing hard, 25 years. That's a lot of time to try a lot of ways to do a lot of things, and find what works. Here's what's difficult for me, and what…

> I think programming is easy.

What sort of programming do you do?

Post reply on HN