Live data from Hacker News

The problem with programming and how to fix it

alarmingdevelopment.org

51–60 of 99 posts

Re: The problem with programming and how to fix it

#51
"Everything Should Be Made as Simple as Possible, But Not Simpler"

Programming is always a tradeoff between ability and knowledge of the programmer, time he can invest, performance the product must deliver and the unpredictable future of the product. Nothing can be perfect because nothing is perfect.

Re: The problem with programming and how to fix it

#52
Enterprises, with the best of intentions, routinely opt for what appear on-paper to be lowest-cost developers which end-up being the most expensive option when factoring in the resulting delays, faultiness and complexity of what is built.

Generally speaking, complexity of a software system is inversely proportional to the collective skill and experience the development team.

If I want quality products or services, in any field, I shouldn't expect to get it from the lowest-cost option.

Re: The problem with programming and how to fix it

#53
post #50

Earlier quoted context omitted.

This is vague and insulting. Good. It should be. Get mad about that. Get so mad that you devote time and effort to fixing it. Programming compared to other disciplines is what might arise from a Lord of the Flies situation. Like the end of that novel, we should stop, fall at the feet of a comparison of programming to other disciplinnes, and weep tears of shame.

> Get so mad that you devote time and effort to fixing it. Interestingly, I feel that insulting people is one of the worst possible ways to get them to change their behaviour.

But if you're so cynical you just want to help people more quickly seek their own doom...then pass the popcorn! This should be good!

Re: The problem with programming and how to fix it

#54

Earlier quoted context omitted.

This is vague and insulting. Good. It should be. Get mad about that. Get so mad that you devote time and effort to fixing it. Programming compared to other disciplines is what might arise from a Lord of the Flies situation. Like the end of that novel, we should stop, fall at the feet of a comparison of programming to other disciplinnes, and weep tears of shame.

The easiest fix is to debunk the article. Which reflects the author not spending enough time writing kidding critical software and too much with cool startup kids. There is no technical solution to a social problem caused by hiring cheap young and naive programmers.

While I agree that it's a social problem I think it's more of an industry problem than a hiring problem. The industry generates sales by putting new tech first over solving business problems. So you have customers like big companies and consulting companies that hire "cheap young and naive programmers" with little experience who are willing to jump any hype train. After all it is easier to just learn the latest bunch of technologies opposed to recap decades of computing history. Then the young programmers implement proof of concepts in, say, cloud, containers, serverless and BigCo execs are satisfied because they can proof they are trying out new stuff. It doesn't matter that it's not maintainable or sustainable because it's thrown away after one year anyway, when the cycle starts over.

Obviously I am exaggerating but it's still a huge part of reality.

Re: The problem with programming and how to fix it

#55

> What reason is there to believe we can improve programming technology to be vastly easier and more accessible? To start with, spreadsheets. So many failed efforts to make programming vastly easier and more accessible have started with almost this exact line. I think it's possible that there is a seductive trap there. We see spreadsheets and we think, “programming that doesn't have the downsides we associate with sp…

> Unfortunately application programming got trampled in the internet gold rush. No, it didn't I think if you don't rely on memory but examine the history as Jonathan Edwards has done, you would be surprised to find that the late 1990's was, indeed, a big cliff in terms of application development innovation. You can argue the reasons -- maybe it's not about the internet gold rush -- but you would have to do a small fr…

_Frankly, I'm not sure you know what you're talking about. Before the web was popularized, designing a layout meant a using a simple layout tool. Now it's a stack that is at least HTML, CSS and JS, and often more. We're doing more, to be sure, but you can't honestly claim, without a deep ignorance of the past, that it's easier or more inclusive._

Maybe developing web application is harder now (and i may disagree, react and node are really an improvement compared to 2013 SenchaJS imho). Also, CMS now exist for minimal programming.

But you're looking application-wise, not tooling-wise:

- Javascript is safer and easier to use with the last ES iteration (ore maybe it's just me, but my last pet project was really easy to complete with the new javascript).

- OpenBLAS now exist, and libraries were written around this fantastic piece of software. Compare a jupyter notebook to matlab, and appreciate how easy it is to do math on a computer now (and i had to use matlab in college for my math bachelor degree, so i KNOW it is less complex for young mathematicians right now)

- I've wrote stuff in C89 (gcc option, for school related work). Then i was allowed so use C99 (still for school). C99 was easier to write and to optimize. Also, my current collegues were using C in the early 90s, and for them debugging was a pain, while to me, C is one of the easiest language to debug thank to gdb (using the TUI or not).

- Sytem building automatisation is easier (not painless yet, but easier). You can argue it's more complex, but automated stuff i always more complex than manual (but faster too). And in the 90s, system automation was Perl job. I like Perl, but let's agree ansible is less complex.

- System monitoring is easier now too.

And i'm a relatively young programmer, with 2 languages i'm comfortable using for professional work (3 with bash, 4 with ansible, if it count). I'm pretty sure experienced programmers who can use other stuff than C and python have plenty of other experiences. Also, consider compiling your own kernel, writing your own filesystem and/or paquet manager. Would you rather do it in 2018 or in the early 00's? It is a second year project in my school. Second year. It use to be a master degree assessment in college.

Tools are easier to use, and information easier to get.

Re: The problem with programming and how to fix it

#56

Earlier quoted context omitted.

This is vague and insulting. Good. It should be. Get mad about that. Get so mad that you devote time and effort to fixing it. Programming compared to other disciplines is what might arise from a Lord of the Flies situation. Like the end of that novel, we should stop, fall at the feet of a comparison of programming to other disciplinnes, and weep tears of shame.

The easiest fix is to debunk the article. Which reflects the author not spending enough time writing kidding critical software and too much with cool startup kids. There is no technical solution to a social problem caused by hiring cheap young and naive programmers.

The author is Jonathan Edwards who was a fellow at MIT and is an eminent Computer Scientist.

The article stands true on its own, and is not a simple indictment of a class of programmers.

Re: The problem with programming and how to fix it

#57
post #50

Earlier quoted context omitted.

This is vague and insulting. Good. It should be. Get mad about that. Get so mad that you devote time and effort to fixing it. Programming compared to other disciplines is what might arise from a Lord of the Flies situation. Like the end of that novel, we should stop, fall at the feet of a comparison of programming to other disciplinnes, and weep tears of shame.

> Get so mad that you devote time and effort to fixing it. Interestingly, I feel that insulting people is one of the worst possible ways to get them to change their behaviour.

He's not actively insulting anyone; he's calling a spade a spade, he's telling the truth, and if you find that insulting then change that reality.

Re: The problem with programming and how to fix it

#58
post #50

Earlier quoted context omitted.

> Get so mad that you devote time and effort to fixing it. Interestingly, I feel that insulting people is one of the worst possible ways to get them to change their behaviour.

He's not actively insulting anyone; he's calling a spade a spade, he's telling the truth, and if you find that insulting then change that reality.

The person you replied to called it insulting. It's not really about what you think they should do; all I'm saying is what I think it's likely people will do. Formulating criticism in a way that the people it applies to are not insulted is, I think, the best way to actually get them to fix it.

It's hard, I know. But all I'd do when someone refers to Rubik's Cubes and DnD is shrug it off and think it doesn't apply to me.

Re: The problem with programming and how to fix it

#59

Lemme use an analogy: Why is building a house not accessible to all? Surely house building could be more like building with legos. Building a proper house is so much more that just piling rocks mixed with mortar. You have to take into account the ground composition, moisture, light, ventilation, red tape, usability, safety, etc. In other words: it takes a huge set of skill. You can use advanced tools, like a tractor…

Not all programming is akin to building a house. Some of it is similar to hanging a shelf in the kitchen. Why should it take an architect to drill the holes and fasten the wall plugs to hang a spice rack?

Sure it might need some training, but it should be the kind that can be explained in a DIY TV show.

Re: The problem with programming and how to fix it

#60

Lemme use an analogy: Why is building a house not accessible to all? Surely house building could be more like building with legos. Building a proper house is so much more that just piling rocks mixed with mortar. You have to take into account the ground composition, moisture, light, ventilation, red tape, usability, safety, etc. In other words: it takes a huge set of skill. You can use advanced tools, like a tractor…

Up until the 19th century, construction was an extremely bespoke process. There was no standardization on tools and materials which made everything much more difficult. It was always hard, but it's much, much easier now -- and maybe there's a way it can be even easier still with 3D printing techniques.

Saying, we can't make it simpler is a cop-out. It used to be simpler. The question isn't whether we can do better (we know we can) but how to find the will, effort and funding to accomplish it.

Post reply on HN