Live data from Hacker News

Why Programming is Difficult

joearms.github.io

61–70 of 175 posts

Re: Why Programming is Difficult

#61
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…

When you start your post with "I have a high IQ so programming's easy for me", I indeed believe that working with other people might be a problem for you.

But I would still add that I'm doubtful that someone can work on large projects and not have communicating and working with other people be an actual part of programming (rather than that "other problem", "people").

If your projects need you to produce code that other people will modify, I would claim that your coding is going to be a matter of communication. Perhaps you write one-shot firmware for toasters or missiles so this doesn't apply. But I think any student of programming in general tends to see the task as a process of communication and not just cleverness. On this subject, I'd recommend Steve McConnell's Code complete.

http://www.amazon.com/Code-Complete-Practical-Handbook-Const...

Re: Why Programming is Difficult

#62
post #58

Earlier quoted context omitted.

Taking a day to teach someone an entirely new (and arguably extremely backward) workflow is exasperating to you?

It's not about the workflow - it's about the fact that things like compiling files, linking libraries, are kind of basic concepts. For his prior apps (flash) he created objects using only a graphical interface (never wrote a single class), and the 'program' was a single 9000 line file where everything (all vars, functions, etc...) was in the global namespace with absolutely no organization, encapsulation, etc... Anyh…

A civilian pilot with 10000 flight his logged is not the same as a fighter pilot with a 1000.

Don't mistake quantity of experience with quality.

Re: Why Programming is Difficult

#63
I don't know whether I think programming is hard or not. I think it's difficult for the fact that it requires a unique way of thinking and it takes a series of consecutive and uninterrupted thoughts in order to form a piece of logic.

I cannot even imagine learning programming and not having instant access to learning material/answers to my questions.

Re: Why Programming is Difficult

#64
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…

Do you think that your inability to relate to other people in your organization is related to your obvious superiority complex? No one cares what your IQ is. There are many different kinds of intelligence and some of them, like social and emotional intelligence, also contribute to your personal success within any particular organization.

I won't dispute that the things called "social intelligence" and "emotional intelligence" exist, but is it really correct to refer to them as intelligence? I think that unduly twists the language to make a social point.

Re: Why Programming is Difficult

#65
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…

Do you think that your inability to relate to other people in your organization is related to your obvious superiority complex? No one cares what your IQ is. There are many different kinds of intelligence and some of them, like social and emotional intelligence, also contribute to your personal success within any particular organization.

I relate to straight shooters who say what they see. I understand that fronting, ass covering, being indirect, and speaking the mel[odious] language of business are ways to play the game.

Mention of IQ induces reflexive invocation of multiple intelligences like ipecac, but IQ-style intelligence is directly relevant to programming.

High emotional intelligence makes it worse when you're in a toxic corporate environment.

Re: Why Programming is Difficult

#66
post #65

Earlier quoted context omitted.

Do you think that your inability to relate to other people in your organization is related to your obvious superiority complex? No one cares what your IQ is. There are many different kinds of intelligence and some of them, like social and emotional intelligence, also contribute to your personal success within any particular organization.

I relate to straight shooters who say what they see. I understand that fronting, ass covering, being indirect, and speaking the mel[odious] language of business are ways to play the game. Mention of IQ induces reflexive invocation of multiple intelligences like ipecac, but IQ-style intelligence is directly relevant to programming. High emotional intelligence makes it worse when you're in a toxic corporate environment…

The only people who are overly concerned with IQ and take advantage of every opportunity to mention their own score are the people who have nothing to offer but an IQ score. You come across as incredibly haughty and condescending.

Re: Why Programming is Difficult

#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 IQ as a point of argument -- assuming the IQ score is real and has created a tangible intellectual outcome.

With all respect.

Re: Why Programming is Difficult

#68
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…

Do you think that your inability to relate to other people in your organization is related to your obvious superiority complex? No one cares what your IQ is. There are many different kinds of intelligence and some of them, like social and emotional intelligence, also contribute to your personal success within any particular organization.

I find it a little amusing that you would talk about social and emotional intelligence, right after you directly accuse someone of having a superiority complex.

No one cares what vis IQ is, but they care how good ve is at programming, and ve attributed vis programming ability to vis IQ. Do you think that connection is false, i.e. that there is only weak correlation between programming ability and IQ?

Re: Why Programming is Difficult

#69
This article only scratches the surface of the "programming is easy, programming is hard" riddle. It's a big question really, linking up with the "mythical man month" and all the paradoxes that commentators have observed since people began thinking about the process of programming.

The way I would put it is that programming gives a person more power to realize their ideas than any other device in existence, in that sense, programming is the easiest thing ever. But since programming put so much power at your finger-tips, it gives you more ways to shoot yourself in the foot than any other activity. So programming while avoiding the pitfalls can suddenly look like the hardest thing in the world.

Arguably humans have a natural facility with language. And I am inclined to believe that our ability to produce programs leverages that facility. But again, the upshot is we wind-up with a really big cannon that, if aimed at all wrong, blows our feet clean away.

Re: Why Programming is Difficult

#70

Earlier quoted context omitted.

Yup, if we want to beat the analogy further, I would say the constant attention to code "smells" and such is like cleaning behind the refrigerator daily when you see dust has landed. I think there is a great middle ground, where you actually consider the possibility that the improvement to the code will be a net loss (time investment to improve code and time it saves in the future). Lots of books about this, many peo…

The analogy falls apart when you consider that: 1. Fridge dust compounds linearly with time. Technical debt compounds faster the more technical debt you have. 2. Most of us aren't in the fridge business. The downside of a burnt out fridge is probably a lot lower than the downside of a terrible code base.

Technical debt only compounds if you're building on top of it. A module that is written once and never needs to be modified doesn't get any worse over time. Therefore, once it is working correctly, there is no point in wasting effort to clean it up until it needs to be touched again.

Note that I assume basic documentation, proper naming conventions, and adequate testing are part of "working correctly". Those are the things you do as you write the code initially. It's the refactoring/rework/gold plating that you leave for later, only if you need it.

Post reply on HN