Live data from Hacker News

Why does programming suck?

medium.com

11–20 of 90 posts

Re: Why does programming suck?

#11
I'd be sympathetic with someone saying that software development sucks...in the same way that writing doesn't "suck", but having to be a published writer, e.g. someone who has to churn out something that people notice and will pay for, could be a sucky existence (until you're JK Rowling)

But programming? It's an expression of the mind, and as a nice side benefit, the ability to communicate explicit commands to tireless machines to act on our behalf. There have been a couple of long, recorded speeches that I need to transcribe (for searchability and research purposes) and so I've been checking out the various speech-to-text APIs (Watson and Oxford) as a first step (e.g. before sending it to Mechanical Turk) in automating the process. The APIs are so easy to tinker with that I thought it'd be fun to pass in clips of Malcolm Tucker to see how well the APIs did. Then I remembered the IDEA project (a collection of audio of people all around the world with various accents attempting to read English) and thought it'd be interesting to gauge which accents are the hardest for machines to figure out...and all it takes is some scripting to automate the feeding of these recorded clips into the APIs (the analysis is tricky because of the high variance in audio quality, never mind the accents themselves). All of this is useful in figuring out a solution to my original problem, except it's a lot more fun and I get to think a lot more about how language works.

If I weren't a programmer? I'd set aside a day, brew some coffee, and manually do the tedious work of transcription by re-listening to those speeches several times over just to get them into a text format. How boring.

Yeah, programming can be difficult, but it is completely the right level of difficulty for the power it gives us. Even the things that make me nearly throw my laptop into the wall -- such as string encoding -- are a result of something kind of wonderful...the attempt at having an automated, standardized way to translate every squiggle among the hundreds of human languages, and cultural quirks, too, such as a pile of poo.

I don't think I've said anything the OP would disagree with. But I kind of checked out after he got into ranting about JavaScript, as if the world needed more bundles of words that insinuate that programming == web development. Things could be smoother, and they are getting that way because of how programming coordinates the flow and storage of information and assertions...but a lot of the OP's essay is not much more useful than someone ranting about how literacy sucks because we all can't agree what makes for great literature these days.

Re: Why does programming suck?

#12

Programming sucks if you're not interested in programming.

According to the author programming sucks for the following reasons: * costs and time, difficult to maintain * difficult to hire developers, difficult to learn * no diversity in industry * users have no influence on product Well, yes. Software is a labour intensive task. But given the number of jobs digitization has destroyed and the immense gains it provides, I don't think it so bad. Despite the authors criticism it…

Programming is not designed to solve those things - they're not problems created by programming, but by:

  * Incompetent management
  * Lack of communication
  * Rush to market, rather than integrity of solution
  * No solid requirements
The unfortunate irony here is that the startup mentality promotes the above problems because it's generally not trying to solve a problem, but make money.

Re: Why does programming suck?

#13
post #4

Programming sucks if you're not interested in programming.

I agree. I haven't read the article, but the first thing that came to my mind was: "it doesn't suck". Rather, I find it a fun activity. There's so much creativity one can put into programming. Especially when programming for oneself and not for Super Evil MegaCorp (not the actual game dev company [0]!). Sometimes it feels to me like art, for example when creating games. My older brother, at some point in his live, he…

Regarding programming as art, I like the quote from Fred Brooks comparing it to poetry:

"The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of imagination ... yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself"

That's one of the reasons why I still love programming (after programming professionally for almost 25 years): http://henrikwarne.com/2012/06/02/why-i-love-coding/

Re: Why does programming suck?

#14
[meta] The title of this article sucks, really, it's a bait, which is sad because the article is actually interesting. Why do blog post titles about programming have to suck in order to attract readers ?

> Lots of rework happens because of miscommunications with the user. Other times, the user doesn’t fully understand their problem (there’s not much we can do about this)

Agreed. That's where "lean programming" comes into play. If you have the capacity to make the code change as requirements change then I think the issue is pretty much solved. However, not all languages/solutions are equal in that matter. Obviously TDD, Agile techniques help.

> If we assume that typing code is the way to program, we will never look for better alternatives.

Typing code is a medium. The fact is, for an engineers it usually the most convenient way to create a program.

> But without an end goal, of course you have millions of developers releasing Javascript frameworks every day

How many of these are still maintained 1,2,5 years after?

https://www.nczonline.net/blog/2015/12/why-im-not-using-your...

So I don't think that is really a problem, there is an handfull of well maintained frameworks and libraries in the JS world. Most are not. Most are flashy with a nice "flat" page then you never hear about them again.

It's easy to produce shitloads of code, it's harder to maintain it and build a real community around it.

> Building software is 90% a human problem

Agreed, but like everything humans do.

> What would programming be to you in an ideal world?

There is no general answer to that question. That's why we have all these languages, frameworks and libraries yet we keep on creating languages,frameworks and libraries.

What drives me as a "programmer" isn't the medium, but the goal, the product.

Creating something useful. Languages, frameworks and development methods are the necessary constraints.

Re: Why does programming suck?

#15
Here's the thing: everything sucks. Every industry, profession, even hobby is full of seemingly arbitrary limitations, poor tooling, quirky hacks you have to work around, little bits of required know-how that seem ancillary to the central goals. Ask your friends in other engineering disciplines, politics and public policy of all kinds, finance, medicine, and energy. Everything sucks because the world is complicated and path dependency calls the shots. The question to ask is whether things are getting better or worse.

And things in programming are getting emphatically better! For all the incidental complexity and pointless thrashing about [1], almost everything about writing software is better than it was just 10 years ago, which is not a very long time. The people who say things like "nothing ever changes" or "we're just reinventing old technology" have some seriously rose-tinted glasses. It's so much easier to do just about everything. The tools are better, the hardware is better, the quantity and quality of information is better. And we have better, bigger software doing more important things, which is why the industry is doing so well. The sky is doing the opposite of falling.

That isn't to say there isn't room for improvement, or that complaining about broken things is wrong. That lets us keeping fixing things. It's more that "everything is broken and stupid" isn't a very useful lens, and leads to fool's errands like this:

> It’s time to kill the aimless, bottom-up, ad-hoc incrementalism in programming in favor of purposeful, top-bottom and planned innovation.

I'll stick to my massive pile of working software that solves real problems, warts and all. And I'll continue to help improve it wherever I can so that it works better.

[1] I joked recently that Javascript library developers would be more efficient if they had their CI servers deprecate their APIs automatically before releasing them

Re: Why does programming suck?

#16

Here's the thing: everything sucks. Every industry, profession, even hobby is full of seemingly arbitrary limitations, poor tooling, quirky hacks you have to work around, little bits of required know-how that seem ancillary to the central goals. Ask your friends in other engineering disciplines, politics and public policy of all kinds, finance, medicine, and energy. Everything sucks because the world is complicated a…

> leads to fool's errands like this:

>> It’s time to kill the aimless, bottom-up, ad-hoc incrementalism in programming in favor of purposeful, top-bottom and planned innovation.

Agree. Let the author put his money where his mouth is first, then we can discuss where he's right.

He wants programming to be "easier." Well everybody wants everything easier. It's easy to have just one thing easy scarifying other dependencies. But the limitations exist everywhere. And it was damn hard to even come this far and maintain the state we are here now:

Louis C.K's take:

https://www.youtube.com/watch?v=uEY58fiSK8E

Re: Why does programming suck?

#17

Taking the creativity out of an inherently creative process. Imagine you're a painter and then comes some moron (who is probably not a painter) yelling at you: - Why are you holding the brush that way? Also, I don't know that brand. - You should make thinner strokes, and always start coloring the surroundings so you don't go over by mistake. - Do not bother with the first brushes until you have a clear pencil sketch.…

In pure software engineering there is much less creativity needed than most people want to admit.

While the UI/UX people gather requirements and work with the client to work out how the app should look and behave, sure, they can use their imagination. But once the requirements are set then in many cases a software engineer can sit down and build the software. There is no creativity needed to decide whether to use a vector or a double linked list if you need to prioritise fast append and prepend. After all, if you break down software to its basic building blocks, it's all mathematics and logic. And there is no creativity in Mathematics.

Re: Why does programming suck?

#18
It's worth mentioning that Chris Granger wrote an excellent blog post[0] that's similar to this one, but far more succinct. While I don't use Light Table, I'm still a huge fan regardless.

>What would programming be to you in an ideal world?

More visual, especially when observing execution.

When you're debugging anything non-synchronous—be it events, messaging, distributed systems—it usually sucks, even in the rare case that you do have good tooling.

I'd like to create, view and debug my code in an almost entirely visual fashion. I want to see events and messages perfuse through the structure of what I'm building, with complete temporal control of the view.

[0] http://www.chris-granger.com/2014/03/27/toward-a-better-prog...

Re: Why does programming suck?

#19
post #18

It's worth mentioning that Chris Granger wrote an excellent blog post[0] that's similar to this one, but far more succinct. While I don't use Light Table, I'm still a huge fan regardless. > What would programming be to you in an ideal world? More visual, especially when observing execution. When you're debugging anything non-synchronous—be it events, messaging, distributed systems—it usually sucks, even in the rare c…

By "more visual" do you mean diagrams?

Re: Why does programming suck?

#20

Earlier quoted context omitted.

According to the author programming sucks for the following reasons: * costs and time, difficult to maintain * difficult to hire developers, difficult to learn * no diversity in industry * users have no influence on product Well, yes. Software is a labour intensive task. But given the number of jobs digitization has destroyed and the immense gains it provides, I don't think it so bad. Despite the authors criticism it…

Programming is not designed to solve those things - they're not problems created by programming, but by: * Incompetent management * Lack of communication * Rush to market, rather than integrity of solution * No solid requirements The unfortunate irony here is that the startup mentality promotes the above problems because it's generally not trying to solve a problem, but make money.

Wow, I am not in a startup but a well-established company, yet your list of issues is exactly the issues I am currently facing!

Sad really.

Post reply on HN