Hacker News new | ask | show | jobs
by mhuffman 1777 days ago
>This is bad for IT.

Maybe for how we do IT. But consider the future where 99% of apps are developed on a tablet or phone (for a tablet or phone) using a cloud web interface with mostly low-code or no-code widget drag and drops.

4 comments

"Low code" and "no code" solutions have existed for as long as computers exist (for instance to automate tasks, author shaders, or describe simple gameplay logic), yet they were always specialized niche solutions and never replaced "freestyle coding". If such a thing has been tried over and over again for half a century but hasn't had a breakthrough and replaced the alternatives I think it's likely that this also won't happen in the next 50 years.
I feel like many people forget how many "no-code" solutions have existed over the decades. It's been the dream that so many people have chased.

The solutions get better over time, but the issue is the people who can code don't consider them as anything more than toys, while the ones who are empowered by them, now make things they couldn't before.

Even in mathematics, a field which is much more amenable to graphical representation, textual descriptions still dominate textbooks and graphics are only used to help illustrate certain concepts with simplified problems.

Part of the problem there is dimensionality, a 2D surface can only show a projection of a problem in 2D space. The highest level of dimensionality that most humans can reason about when projected onto 2D space is 3D. There are workarounds for this, such as show multiple different dimensions projected onto 2D space side-by-side, but there are limits to the effectiveness of this and the amount of screen available.

A graph can easily show you that a ball thrown in the air will follow a parabolic path, but can it a single graph also incorporate factors such as ball diameter, wind direction, initial velocity, gravity, and atmospheric density? A creative graph maker might be able to capture some of these elements together, but not all. A program must capture them all together.

Most programs have an extremely high degree of dimensionality, so they are innately poorly suited to generalised description with graphical approaches.

The most we can ever really hope for is visual domain specific languages that restrict the dimensionality of manageable levels.

There's a natural limit to what may be achieved with a low/no code tool. Kids might be able to drag a few elements on screen to create charts and games, but that sort of work doesn't really advance the field.
>There's a natural limit to what may be achieved with low/no code tool. Kids might be able to drag a few elements on screen to create charts and games, but that sort of work doesn't really advance the field.

Ahhh, who said the point in the future would be to advance the field? That is how we think. Future generations might be content with a few "programming geniuses" and everyone else making simplistic apps for work for fun.

You could see this future coming. It is already onerous to be a desktop developer on Windows or Mac. It is purposely easier to develop and deploy simplistic mobile apps that can be controlled and monitored by the "stores" that distribute them.

A bit like today, I feel like a toddler playing with Java coloured cubes, while the “real programmers” are the Linux contributors, people who write drivers and so on. Tomorrow it will be 3 layers: The C programmers, the people from Atlassian or Apple who build the platforms, and us, programming with the subset of the language they give us.
Every generation has been okay with having multiple tiers of skillsets and domains.

That's just natural. Even in the early days of computing, you'd definitely have people split between low level and high level code.

The fact is, everytime new technology comes along that reduces the barrier of entry, you're going to have some people who will be lower level developers and many who will be high level due to being able to do things more easily.

You can apply this to most consumer friendly domains.

> But consider the future where 99% of apps are developed on a tablet or phone (for a tablet or phone) using a cloud web interface with mostly low-code or no-code widget drag and drops

This will simply never happen. Just given the history of low-code / no-code, they are great for prototypes and small apps but as soon as you do anything more then that's when things start falling off a cliff. Of all the apps I've been contracted to build or help build I can think of maybe one that we could have glued together using low-code. Everything else just has too much custom logic behind the scenes.

Drag and drop HW drivers, or similar, in a cloud IDE? I'm skeptical.
>Drag and drop HW drivers, or similar, in a cloud IDE? I'm skeptical.

Perhaps you are thinking too "now".

In the future why would you personally need hardware drivers? Any hardware that you subscribe to (ownership will be a thing of the past) would have factory-installed drivers constantly updated from the few reified "real" programmers that work for a few dozen mega-corporations.

For that matter, I could imagine a future where there are only a few dozen hardware drivers approved and any new hardware that is approved to be sold to the public must conform to one of them.

And the path to this, is to raise a constant stream of vulnerabilities. Therefore you need a constant upgrade from upstream. Therefore insurances only cover you if you are using a maintained system. And since there are distributions with vulnerabilities, insurances will only insure you for public service if you use a few pre-approved OSes.

Or just use the cloud provider who has all the preapproved workflows. The world just needs a little notch to tip into regulating the provision of services to the public, and at that moment, any independent OS will be dead, and we’ll be forever tethered to the cloud.

“He didn’t use a safe OS”, we’ll say, of everyone using an independent Debian version and meeting a vulnerability. “It’s only fair he’s the hammer fell on him.”

I just finished reading two articles from Agre and your comments literally make my head hurt now. I'm sorry.
Agre?
And "the few reified 'real' programmers that work for a few dozen mega-corporations" are organized in an union. Sounds like fun times!