Live data from Hacker News

The problem with programming and how to fix it

alarmingdevelopment.org

61–70 of 99 posts

Re: The problem with programming and how to fix it

#61

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

HTML in my opinion indeed is both much more accessible and more inclusive than many technologies that preceded it, particularly layout tools.

QuarkXPress, LaTex, visual GUI builders. These are different layout tools for very different purposes but they all have in common that they’re not as accessible (with Delphi / RAD Studio in the GUI builder category as the only exception that comes to mind) as “View source” or a simple text editor.

Granted, setting up a new web app with a modern framework such as Angular or React is way more complex than that. However, you also have tools like WordPress that allow you to publish content in a decent layout with little to no experience at all.

Re: The problem with programming and how to fix it

#62

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.

True that, but those do-it-yourself people use different tools and methods compared to professional architects and builders. So maybe the original article should be read as ”why there are not more dedicated, simple tools for non-educated do-it-yourself tinkerers”. A sensible question as such, but I don’t buy the conclusion that we should blame the nerds / academia.

If some business owner finds a way to monetize such tools, nerds will be happy to implement. Just as those do-it-yourself fix-your-home books and tools have been monetized and implemented.

Re: The problem with programming and how to fix it

#63

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 (w…

I’m actually saying that we have made it simpler (compare implementing full-stack web service using punch cards vs modern languages and frameworks), but at the same time it requires more education to use the new tools and methods (one machine code manual vs all the cources and documentation those languages, algorithms, and frameworks require).

Re: The problem with programming and how to fix it

#64

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…

> As for programming. Abstract thinking and clear, explicit communication of ideas is not trivial to automate.

There are many more people capable of abstract and clear thinking than there are programmers. IMO we should be giving them the tools necessary for them to not build programs, but to solve problems in their field with computers.

Re: The problem with programming and how to fix it

#65

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…

> As for programming. Abstract thinking and clear, explicit communication of ideas is not trivial to automate. There are many more people capable of abstract and clear thinking than there are programmers. IMO we should be giving them the tools necessary for them to not build programs, but to solve problems in their field with computers.

Sure there are, but not all athletic people end up playing hockey. I don’t see how that invalidates the point that people without those qualities can not become programmers, no matter the tools available.

edit: to add, those people already have the tools they need to automate the things they want. They just lack the will to learn to use the tools.

edit2: to continue the analogy. I can drill a hole to a wall but if I need to dig a big hole, I can either learn to drive a tractor shovel or hire a professional to do it. But I’m not complaining why tractors are so hard to drive..

Re: The problem with programming and how to fix it

#66
post #45

Earlier quoted context omitted.

I’m interested as to whether there really is complexity that can’t be simplified in general. Here’s an obvious example where it could be: web apps are mostly conceptually simple: a thin client which is basically a UI framework talks to a process on a remote server. So you need something to develop the UI and something for the server. But instead of the “web UI toolkit” (which could mostly be a graphical tool) we have…

Web apps are mostly conceptually simple: a thin client which is basically a UI framework talks to a process on a remote server. So you need something to develop the UI and something for the server. But instead of the “web UI toolkit” (which could mostly be a graphical tool) we have JavaScript, CSS, HTML, jquery, a gazillion hacked front end frameworks trying to (imperfectly) fix the mistakes of everything below it, a…

WebAssembly sounds great, although you could argue that running things in a sandboxed JVM in the 1990s was basically there already.

But it doesn't magically remove the problems we have made, for no real reason, at the front end in terms of UI.

Re: The problem with programming and how to fix it

#67

I disagree. The world we have today couldn't be built on simple tools like Spreadsheets and Visual Basic. The amount of complexity in programming is necessary, and the outcome has been tremendous and miraculous if you think about it. And we don't want to build a future where the masses should be programming! You want my mother to be programming? My sister? Why? I work as a software engineer and most of the time progr…

> You want my mother to be programming? My sister? Why?

Um.... yes? I think a better question is why not? Do you also not want your mother and sister to write or do math even if they are not authors or mathematicians?

Re: The problem with programming and how to fix it

#68

This is like trying to suggest we need more women in the NFL. Programming is an extreme sport where geeks excel - men and women, but mostly men - who else has the patience to deal with the minutia? Maybe I'm just biased towards rhetoric that suggest we should remove extreme variations between populations of humans, as segmented by occupation (or whatever). Let's embrace our differences. If programming was easy to do…

> who else has the patience to deal with the minutia?

Women. What the hell is this?

> If programming was easy to do at high levels of excellence by anyone

We're not expecting programming with high levels of excellence from no programmers. Just some basic programming would be nice without having to spend a week setting up a dev box before "Hello World" even can be attempted.

Re: The problem with programming and how to fix it

#69
post #8

> Programming today is exactly what you’d expect to get by paying an isolated subculture of nerdy young men to entertain themselves for fifty years. You get a cross between Dungeons & Dragons and Rubik’s Cube, elaborated a thousand-fold. This is vague and insulting. Many of us programmers spend a lot of energy to keep systems simple, to a point that one could mistakenly conclude that they were easy to write. We don't…

By the way, claiming a statement is vague is quite disingenuous if you take the quote out of context. Especially when the author explains what they mean in the next four sentences:

> Programming today is exactly what you’d expect to get by paying an isolated subculture of nerdy young men to entertain themselves for fifty years. You get a cross between Dungeons & Dragons and Rubik’s Cube, elaborated a thousand-fold. I’m serious: Dungeons & Dragons requires mastery of an encyclopedia of minutiae; Rubik’s Cube is a puzzle requiring abstract mathematical thinking. That is programming in a nutshell. As a bonus you also get a toxic culture of intellectual one-up.

Re: The problem with programming and how to fix it

#70

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

> 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.

The phase change was later, and it wasn't so much a cliff in innovation but a change in focus. There are plenty of programmers “using languages and tools designed for simplicity of learning and use in solving relatively pedestrian problems” still, and plenty of things being built to support them—they're the people doing CRUD apps in Ruby/Rails or building utilities for simple problems in Python that, as Edwards described being historically the case, the people doing “systems programming” continuously look down on.

(There's also a bigger huge group of people doing what is more like what was actually described as application programming historically, that is, solving relatively pedestrian problems in languages designed for industrial use rather than ease of learning, like the people building the guts of enterprise applications that don't require scale, and are largely CRUD plus business rules, using C# now, or the people doing LOB apps in any of a variety of [often proprietary] languages historically.)

> Before the web was popularized, designing a layout meant a using a simple layout tool.

One might argue that the complexity of design and the complexity of programming are different things, or one might observe that graphical UI builders exist for the Web (including as part of platforms designed specifically to support “application programming" for the Web), and that people doing the less sexy kinds of programming use them all the time.

Post reply on HN