Live data from Hacker News

Why Programming is Difficult

joearms.github.io

21–30 of 175 posts

Re: Why Programming is Difficult

#21

Earlier quoted context omitted.

strong ideas that are held weakly! I try my hardest to cultivate a mindset that allows people to speak freely and express their ideas and also drop said ideas when a clearly better idea arises. Every idea brought to the table should have a counter argument, we should all carefully discuss the pros and cons of everyone's ideas, and we shouldn't hold so tightly onto a pipe dream because we really want to use xyz tech o…

So true, then there is also the fact that some conversations aren't even worth having....

change conversations to meetings and you've got yourself a huge win.

Re: Why Programming is Difficult

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

This happens to me too, but I try to take a more optimistic look at it. I've found that code that I've written that turned into a monstrosity is code that I'll rarely want to touch again. If I don't want to touch it, then I'm less likely to add (or remove) features, fix bugs, etc.

But if I find the time to clean that code up---make it simpler and clearer, usually---then I find that I'm no longer fearful of touching that portion of code. I'm reinvigorated to fix bugs, add/remove features, etc.

So yeah, while the intangible effect is, "oh I've made the code simpler that really does feel good," I've also found tangible effects because I'm more motivated to work with that code in the future.

Re: Why Programming is Difficult

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

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.

That's sort of like throwing a punch so hard that you throw yourself off balance.

I would suggest that you take that energy and first write unit tests or a code coverage tool or an assertion framework that doesn't intrude on production. (I've done all of the above, but I may have been "cheating" by using a language with exceptional access to the meta-level.)

This would allow you to refactor with greatly reduced introduced bugs. That would be more like keeping your balance thus staying in a good position to exploit an opening.

Re: Why Programming is Difficult

#26
post #16
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…

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 people don't get the full theories, and instead take the talking points (x lines of code per method, don't do Y, do Z, etc).

Re: Why Programming is Difficult

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

Same here. My solution: address only the projects that really matter and to hell with the rest. The ones that matter you make perfect.

For example, I presently dance around about 6 projects. Only one really matters.

Re: Why Programming is Difficult

#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 anything done.

Re: Why Programming is Difficult

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

> Programming is difficult because people are profiting from the "difficultability" of it

That's backwards. Not "anyone" can program computers. Anyone can try, but most will fail. Just like "anyone" can "do math" or "do chemistry" or "do anything", but most will fail. The reason programming is lucrative, whether as an employee or entrepeneur exploiting programmers' labor (or supplying their own technical labor), is exactly because not everybody can program well enough to meet a market need.

It's a curious thing, this misplaced, or in some cases faux-humility about programming, or any other academic/intellectual endeavour. It dovetails very well with certain business interests who would love for nothing more than programming to be as commoditized as, say, janitorial work is. These interests are definitely getting their wish in some areas (e.g. web/mobile development).

Re: Why Programming is Difficult

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

At my current job I was introduced to the notion of 'past you' and 'future you'. I hadn't really thought about actions in those terms exactly, but the act of doing something today so that in the future when you come back to it you'll be in a better position, is the essence of the philosophy.

I have found that taking the time to rewrite the code that finally works into something that I can explain to myself in the future has paid dividends when I came back to it, and when I have not done that, we'll that can be annoying.

Post reply on HN