Live data from Hacker News

Why Programming is Difficult

joearms.github.io

31–40 of 175 posts

Re: Why Programming is Difficult

#31
post #16

Earlier quoted context omitted.

I agree. However, "You know it's dirty back there, but it's not stopping the fridge from keeping your food cold." If you don't properly maintain your fridge and allow too much dust to build up you could end up burning out the compressor. Everything needs to be done thoughtfully, in moderation, and with purpose.

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.

Re: Why Programming is Difficult

#32
post #9

Programming is difficult because people are profiting from the difficultability of it. For as long as you can give someone a money-making machine, but say that it will be 'a lot of esoteric work' to make it, grease it, keep it clean .. there will be development work. By the very nature of the business, if you are not improving something, some human-describable human activity, by using esoteric magic, you're probably…

> Anyone can 'program computers'

No they can't. Anyone can try, most will fail, because few are suited for it.

Re: Why Programming is Difficult

#33
post #8

Most difficult part for me is letting go. I am compelled to febreeze every bit of code smell I come across. I often rewrite large sections of working code into better structures, more readable/concise syntax, better naming of variables/functions, etc. and In the process I have at times introduced bugs. But that isn't enough to deter me. I feel like I've accomplished something but in reality I have done nothing. It's…

Isn't that what unit tests are for? I seem to recall the original XP practices mandated unit tests mostly as a way to allow the programmer freedom to refactor without fear of breaking code.

Re: Why Programming is Difficult

#34
post #28

Good Article, I have found the hardest part of software to be the team work. It's hard to agreement on what's right, to write code that other people understand, to understand other peoples code, and generally just to get a good productive team working. In fact a lot of software design is just for making things easier for humans. Otherwise we could have files that are 14,000 lines long.... The hardest part of software…

> Good Article, I have found the hardest part of software to be the team work. This... I'm trying to work with someone whose only programming experience is with IDEs on Windows that hand-hold every step of the way. Something as simple as creating a file, compiling it and running it in a terminal is something he's never done. I've spent more time trying to explain incredibly basic concepts than actually getting anythi…

Yikes, you may want to join a support group.

Re: Why Programming is Difficult

#35
post #9

Programming is difficult because people are profiting from the difficultability of it. For as long as you can give someone a money-making machine, but say that it will be 'a lot of esoteric work' to make it, grease it, keep it clean .. there will be development work. By the very nature of the business, if you are not improving something, some human-describable human activity, by using esoteric magic, you're probably…

> Anyone can 'program computers'; computers are a universal language.

If that were true, programmers would be making minimum wage and would be ranked alongside people who wash cars.

Re: Why Programming is Difficult

#38
post #10

Here's why I think programming will never get much simpler than it is now...as our stacks and applications become more sophisticated and powerful, so do the relations between the systems...Apple has managed to make things simpler on iOS by clamping down on what developers and users can do, which is one possibility for a "simpler" future. But for those who do want to be developers and have flexibility...complexity wil…

I had a similar experience with a very basic Android app I did for a Coursera class. It took me about an hour to finish it, and then 3-4 hours to figure out that the test cases would only run successfully using one particular Android virtual device at a particular API version. It didn't work on any other AVD's or on my phone. This was an exercise designed by a compsci professor at a major university. Who knows how many additional hours would be necessary to determine the exact reason for the error?

Re: Why Programming is Difficult

#39
post #8

Most difficult part for me is letting go. I am compelled to febreeze every bit of code smell I come across. I often rewrite large sections of working code into better structures, more readable/concise syntax, better naming of variables/functions, etc. and In the process I have at times introduced bugs. But that isn't enough to deter me. I feel like I've accomplished something but in reality I have done nothing. It's…

One thing I'm also guilty of is fixing code that I'm not currently touching. I like consistency and having a project with code from old me (and old others) mixed in with code from new me (and new others) really bothers my OCDness. The problem is that changing working old code in lieu of fixing bugs or adding features is just another form of procrastination.

There is a time and place for code cleaning. If the code isn't something you are already working in, then leave it. If you are tasked to fix a problem or add something to existing code then cleaning it up is acceptable. Keep mind, I'm assuming there are tests written. Nothing pisses off your co-workers more than cleaning up working code and breaking inadvertently breaking something.

Re: Why Programming is Difficult

#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 only gets more difficult as my own time grows shorter and I'm less agreeable to wasting it: Working on teams, under managers, within organisations. Sitting in the third meta-meeting that week, listening to posturers quibble over what Agile means, rolling my eyes thinking obviously it's anything but agile. Performance reviews and arbitrary subjectivity-based rewards dressed in time-consuming process they swear will make it more objective. Perennial "Strategic Roadmap Shifts", listening to yet another CEO spout boilerplate bullshit about how this is the one way to glory, never shall we mention that one from just six months ago - that never happened. And that means another project cancellation. Then one by one the coworkers you like the most get fed up and leave, until the day it's your turn to get fed up and leave. On to greener pastures to enjoy a few months of a semblance of accomplishment before the whole cycle starts to repeat again. All that is what never gets any easier for me. Like everybody always says, "It's the people!"

Post reply on HN