Live data from Hacker News

Why does programming suck?

medium.com

71–80 of 90 posts

Re: Why does programming suck?

#71
post #24

Some contradictions I found: > Of course we have never questioned any of this. We don’t have a direction, a path or an overall goal for programming! > Let me ask you this: What would programming be to you in an ideal world? > We don’t know! We’ve never asked ourselves this question! When at the start of the "essay": > Turns out, we are horrible at predicting the future and we end up discarding that extra complexity.…

author here. Thanks for your point.

You hit the spot. Yes, who is it to say that we reinvent programming tomorrow and it useless by next week. Great point.

My answer is, don't look at it from a black and white perspective. I'm not aiming for a 100% future proof solution, that is impossible as you pointed out. But we can make something much more future proof that what we have right now.

Re: Why does programming suck?

#72
post #25

We don’t have a direction, a path or an overall goal for programming! We (who do we mean when we say "we", anyway?) don't have a direction, path or overall goal for life, society, the human race and so on. I don't even have a plan for what I'm going to have for lunch next Tuesday. Programming is contingent and incremental because rationality is bounded and the future is uncertain. We don't know what will be successfu…

hi, author here. Thanks for your comment.

Personally, I don't think we could reinvent programming and make it 100% future proof. But if we reinvented programming it will be much more future proof that what we have now. The reason is that our current stack was not invented in the first place, kind of evolved upwards organically. If we did something it will at least be purposeful.

Re: Why does programming suck?

#73
post #63
post #21

One of the premises of this article - that "competing standards" exist primarily because of political reasons or shallow decision making - demonstrates a fundamental misunderstanding of software engineering. Sure, some engineers (especially junior ones) enjoy reinventing the wheel more than using something that already exists to solve users' problems. We all like to trick ourselves into thinking we're unique snowflak…

author here. Thanks for your comment. I clarified that "Sometimes" the causes are political, it used to say "Usually". But if after a 30 minute read you picked up on a stupid example and you started a discussion on XML vs JSON you are just proving my point. The expectation in the 60s was that machines will figure out protocol, even make protocol, on the fly, by asking about each other. Yet, you want to have another d…

Machines do figure out the protocol on the fly by asking each other; see the Accept and Upgrade headers in HTTP, for example. Of course, HTTP is itself a protocol, because you can't "ask each other", or do any kind of communication at all, without a common protocol to start with.

As for making protocols on the fly, that makes roughly as much sense as two people inventing their own language to talk to each other.

Re: Why does programming suck?

#74
post #70
post #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…

author here. Thanks for your thoughtful comment. > [meta] The title of this article sucks, really, it's a bait, It was not intended. The title just tries to summarize the post. Still, so much to learn about writing! >> 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 prog…

> Humans are the weaker link in software development, we should do like with other things that humans don't do anymore, figure out a solution and put our time to do something else.

WALL·E would disagree, and so would I.

Re: Why does programming suck?

#75
post #69
post #8

The article is a long rant, but wrong on more premises and conclusions. And yet, by quoting the people who were actually right in the cases they wrote about, it appears more correct than it is. There are too many wrong "conclusions" and premises in the text, just an example, here's the author writing about Babbage's and his Analytical Machine: "he was focused on doing math fast and without errors. He didn’t care how…

author here. Thanks for your comment. > Of course, not true, Babbage had to care reference? In any case, the main point is that he was making tradeoffs for his math machine, not for modern software development. Not blaming him, just pointing out it was suboptimal for us. > The whole article is, unfortunately, like this I'd love more examples. I have definitely a lot to learn about writing. > The author just doesn't u…

> I don't see how "a lot of money was invested" proves how there is no alternate hardware that would make programming more productive.

Couldn't maybe the reason for not understanding be not knowing enough about the theoretical and practical aspects of the hardware development? How about suggesting any reasonable direction for improvement? Practically everybody who's involved with hardware and software constantly tries to make something better, somehow you posit that all of them are wrong for doing what they are doing?

It's simple: people propose, sometimes also implement the "alternate hardware." Hardware evolves to the demands, what we have is a result of the evolution. Unsuccessful fail, successful survive. Success is measured in people being ready to invest billions just to be able to produce a new generation of the CPUs, because that's how much it costs. There's no cheaper known way. If you invent something better than the existing state, and it's provably and significantly better, it is going to be accepted. That's how we have today ARM, that's how we don't use Itanium, that's why Intel uses some technology developed by AMD. The leading position of Intel x32 and AMD x64 architectures on the desktops and servers was decided exactly because it was "easier" to program them compared to some other solutions (and the computations were also faster). ARM dominates for having some specific other advantages. All aspects, including these you recognized as important, are actually factored in the success of the current hardware.

> the main point is that he was making tradeoffs for his math machine, not for modern software development

And this doesn't mean that people just blindly reproduced what he did during the following 150-something years. Instead, just like he did, people constantly questioned what they did and decided based on the limitations they had, just like he. His design was more "mentioned" than actually used. It's the opposite, once more or less independent development recognizes which ideas are the "best" in the given time and the given limitations, people who study the old research recognize that the same ideas were considered or even followed in some older designs. Now we have enough experience that we can study the failed and successful attempts that already answer some questions somebody new to the field can have.

> I have definitely a lot to learn about writing.

If you write about the possibility of a "better hardware" familiarizing more with the computer hardware and the theoretical and practical basis and limitations would help not sounding uneducated. Rules are to be broken, the "well known truths" are to be questioned to make a change, but the questioning has to be based on some knowledge, when it's in the field where so much is dependent on the knowledge.

Re: Why does programming suck?

#76
post #63

Earlier quoted context omitted.

author here. Thanks for your comment. I clarified that "Sometimes" the causes are political, it used to say "Usually". But if after a 30 minute read you picked up on a stupid example and you started a discussion on XML vs JSON you are just proving my point. The expectation in the 60s was that machines will figure out protocol, even make protocol, on the fly, by asking about each other. Yet, you want to have another d…

Machines do figure out the protocol on the fly by asking each other; see the Accept and Upgrade headers in HTTP, for example. Of course, HTTP is itself a protocol, because you can't "ask each other", or do any kind of communication at all, without a common protocol to start with. As for making protocols on the fly, that makes roughly as much sense as two people inventing their own language to talk to each other.

And of course, since it doesn't make sense to you, it is impossible.

Turns out that people invented their own language by talking to each other.

Re: Why does programming suck?

#77
post #66
post #56

Earlier quoted context omitted.

I've tried this, some two decades ago: https://en.wikipedia.org/wiki/Rational_Software "The development of Rose 2.0 combined a Windows-based Booch notation editor called Object System Designer (acquired from Wisconsin-based Palladio) with a new intermediate representation, and with new semantic analysis, code generation, and reverse engineering capabilities. The latter, which allowed prospective customers to analyze…

Author here. Thanks for the discussion. UML didn't pick up for whatever reason and visual programming fell into the valley of deception. I expect that with more UI/UX research we can get to the plateau of productivity in the next decade. Btw, there is a variant of UML that is executable. https://en.wikipedia.org/wiki/Executable_UML

> there is a variant of UML that is executable.

If you believe it's a good way, you should certainly go that way. Please write about your experiences afterwards.

Rose 2.0, I've mentioned and quoted explicitly, produced the code from the diagrams (that's the "code generation" from the quote). And it was tragedy. Maybe you find somebody's experiences on the web.

Re: Why does programming suck?

#78
post #76

Earlier quoted context omitted.

Machines do figure out the protocol on the fly by asking each other; see the Accept and Upgrade headers in HTTP, for example. Of course, HTTP is itself a protocol, because you can't "ask each other", or do any kind of communication at all, without a common protocol to start with. As for making protocols on the fly, that makes roughly as much sense as two people inventing their own language to talk to each other.

And of course, since it doesn't make sense to you, it is impossible. Turns out that people invented their own language by talking to each other.

I never said it was impossible.

Re: Why does programming suck?

#79
post #34
post #16

Earlier quoted context omitted.

> 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 dependenci…

Loved the Louis C.K video! Are any of his shows based somewhat around this topic or is it only on this talk show that he talks about this?

> Are any of his shows based somewhat around this topic

Not that I know. It wouldn't be appropriate for a general audience he targets. Anyway, there's a pattern, as soon as almost every stand up comedian becomes reasonably successful he starts to travel a lot by plane and the gags start to revolve about that. We just got lucky with his take to make it meta enough, recognizable and hilarious at the same time.

Post reply on HN