Hacker News new | ask | show | jobs
by mmjaa 3010 days ago
> forgotten realm of democratising programming

This phrase reminded me of a thought I once had, that the removal of the compiler as a first-class application in user-centric OS distributions was an imperial gesture to enforce class hierarchies among end-users: you were either a user, incapable of making your computer do new things, or you are a developer, who must be convinced to make computers do new things using rules and policies (and tools) that were forced upon you by the Powers That Be™.

I think one thing we should be demanding, as computer power users/developers, is the return of software development tools to the forefront of the computing experience. It is unacceptable that computers are being shipped today without the means of making them productive, other than participation in a walled garden.

I know its a tall order, but I'd love to see an OS vendor make a serious point of making their users better developers, not worse.

4 comments

No computers actually come without the means of making them productive; they all have a JS engine. It's how I learned programming, almost twenty years ago - IE5 on a public computer.

That said, I do agree that programming should be made more accessible. Bret Victor and others seem to be exploring new ways of doing that, besides making computing more physical:

https://dynamicland.org/

https://news.ycombinator.com/item?id=15962730

There are many who think that JS is not an acceptable means of developing applications for computers. It may be effective, but not acceptable.

(Disclaimer: I'm one of them, so this argument doesn't really appeal to me personally. I'd rather there were tools that don't require me to have a lobotomy to use them..)

Those people are universally wrong
Rubbish. Javascript is far from acceptable as a first language to learn and use.
Nah. Any language is acceptable as a first language. I started writing BASIC. Gatekeeping is for losers.
If there was a standard IDE for using js, HTML and CSS to build desktop apps and games that shipped with major OSs I bet it would get used a ton. Click icon, start new template project. Any more steps required to get started and it will be ignored.
I suspect that there were a number of things going on:

- The bundled development tools were usually still there, but they took a form that those of use who grew up with computers in the 1980s were less likely to acknowledge. Consider how web development took off soon after more traditional languages were removed.

- People are more interested in programming when new technologies appear. There are more itches to scratch, opportunities available, and the barrier to entry is lower.

- Programming simply became more complex. It used to take one line of code to do something. Between the OS and languages requiring more (initialization, boilerplate code, etc.), programming became less appealing. While tools like HyperCard addressed some of this, the distinction between "real" programs and these environments was quite clear.

All of this is driven more by the end user than by industry. And if end users are less keen on programming, why should businesses make the investment in creating tools for them?

> - Programming simply became more complex. It used to take one line of code to do something. Between the OS and languages requiring more (initialization, boilerplate code, etc.)

It's important to acknowledge that we have done this to ourselves. The amount of job-justifying unnecessary complexity found in today's programming environments make me wonder how the field hasn't yet toppled over itself

> And if end users are less keen on programming, why should businesses make the investment in creating tools for them?

Alas, I feel that if we don't make it easy for users to become developers, they stay users.

Its not the other way around - clearly there is a market for developers/users. Its just that I think the dividing line is completely arbitrary, and enforced by marketing decisions - not technical or ethical ones.

The culture behind this went away with the advent of mobile. Now that tech is mainstream the majority of users see their computing devices as appliances, not tools.

I personally think this tools vs. appliances distinction explains a lot about tech culture nowadays and I would love it with we nerds could collectively exile the computing "mainstream" to mobile so we power users can have our tools (computers) back.

Microsoft, Google, and Apple et al are muddying the waters, by trying to shove mobile square pegs into desktop's round holes

I'd like to see development democratised as well, but I think the reason for the change is that not expecting users to be developers made software easier.

Not just the failure of desktop Linux, but also Windows, which still asks regular users if they want to 'debug' a crashing app. To most people, 'debug' means 'fix' and the button just doesn't work.

It is going to require a shift in perspective to make headway on this issue, I feel. I don't really see it happening except perhaps with some of the more cocktail Linux distros... but honestly, I think that a lot of it has to do with the quality of the tooling. Users don't have time for error messages or debug buttons. Developers barely even do, also.