Live data from Hacker News

The problem with programming and how to fix it

alarmingdevelopment.org

91–99 of 99 posts

Re: The problem with programming and how to fix it

#91

Earlier quoted context omitted.

> No it's not a good idea to make programming more accessible. We don't have easy literature, we don't think someone who reads and writes solely with fridge magnets (#) has mastered the language. You're mixing up the content of writing with the methods of writing them. Writing "a rose by any other name would smell as sweet" is still as poetic when using fridge magnets. Because of that, you fail to see that modern wri…

Programming does not have a nice alphabet because it has to be unambiguously defined for stupid computers to understand. There is no such thing as a programming alphabet.

Do you have trouble with metaphor, perhaps?

Because "alphabet" happens to be the fundamental writing system for human languages and therefore crucial to enabling literacy. I am simply using it as an analogy for us needing better programming environments to enable better programming literacy.

Re: The problem with programming and how to fix it

#92

Earlier quoted context omitted.

Programming does not have a nice alphabet because it has to be unambiguously defined for stupid computers to understand. There is no such thing as a programming alphabet.

Do you have trouble with metaphor, perhaps? Because "alphabet" happens to be the fundamental writing system for human languages and therefore crucial to enabling literacy. I am simply using it as an analogy for us needing better programming environments to enable better programming literacy.

How would that better environment look?

So far, we had fails like Squeak and relatively low succeesses like Jupyter and Delphi.

The root of the problem is that humans communicate in extremely ambiguous and convoluted ways which makes programming quite atypical.

Re: The problem with programming and how to fix it

#93
post #79

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…

conceptually simple, perhaps, but in practice they are far from it. HTML, CSS, JS, and web server tools are complex because web pages are extremely parameterized over different content, client sizes and types, user preferences, and data. From being a long time web developer, the graphical layout tools are basically only useful for graphic design, because they output code that only works for the exact layout and conte…

Thanks for the thoughtful reply.

I was thinking at a more abstract level:

> because web pages are extremely parameterized over different content, client sizes and types, user preferences, and data

You've taken this as a given. Why does it have to be like that? If we're defining the standards, we can make the web whatever we want it to be. And I think if your explanation of why it is complicated is the above (and I think that's only a small part of why it is such a mess), then let's modify some of those assumptions to make it easier to simplify.

Re: The problem with programming and how to fix it

#94

Earlier quoted context omitted.

An ironic answer would be, yes that’s his point. I think the problem is: Programming is designed for and by a small group of programmers who enjoy making it difficult. The solution is to create industrial societies / institutions / guilds etc. who can encourage a transition away towards simpler and more accessible programming approaches.

Please describe some of those "more accessible" approaches and I'll probably tell you that they are already here and/or have already failed. Otherwise the idea is completely not constructive.

I'd say your comment is not constructive: you're asking me to name all the solutions, otherwise my observation has no merit?

I'll expand a little. Let's take a single example: developing a single page web application.

To know how to do that, I need to learn HTML, CSS, JS Frameworks, web pack or whatever. Linters, preprocessors, package management ....

Contrast that to building flash app where a designer could use a GUI to produce a beautiful interactive app in no time at all.

Yep, we all hated Flash, but in terms of accessibility to creators, it was beautiful compared to the mess we've made.

A little off-topic but good for perspective: https://www.youtube.com/watch?v=lKXe3HUG2l4

Re: The problem with programming and how to fix it

#95

Earlier quoted context omitted.

Please describe some of those "more accessible" approaches and I'll probably tell you that they are already here and/or have already failed. Otherwise the idea is completely not constructive.

I'd say your comment is not constructive: you're asking me to name all the solutions, otherwise my observation has no merit? I'll expand a little. Let's take a single example: developing a single page web application. To know how to do that, I need to learn HTML, CSS, JS Frameworks, web pack or whatever. Linters, preprocessors, package management .... Contrast that to building flash app where a designer could use a G…

Also, pretty much anything Bret Victor has done.

e.g. https://www.youtube.com/watch?v=8pTEmbeENF4&t=11s

Re: The problem with programming and how to fix it

#96

Earlier quoted context omitted.

Please describe some of those "more accessible" approaches and I'll probably tell you that they are already here and/or have already failed. Otherwise the idea is completely not constructive.

I'd say your comment is not constructive: you're asking me to name all the solutions, otherwise my observation has no merit? I'll expand a little. Let's take a single example: developing a single page web application. To know how to do that, I need to learn HTML, CSS, JS Frameworks, web pack or whatever. Linters, preprocessors, package management .... Contrast that to building flash app where a designer could use a G…

Aren't you then asking for a WYSIWYG editor or a CMS that includes something like that? Many of those exist and are suitable for a lot of web development. You step into the lower level for customization that is difficult or just flat out not implemented in the higher level tooling.

Re: The problem with programming and how to fix it

#97

Earlier quoted context omitted.

Do you have trouble with metaphor, perhaps? Because "alphabet" happens to be the fundamental writing system for human languages and therefore crucial to enabling literacy. I am simply using it as an analogy for us needing better programming environments to enable better programming literacy.

How would that better environment look? So far, we had fails like Squeak and relatively low succeesses like Jupyter and Delphi. The root of the problem is that humans communicate in extremely ambiguous and convoluted ways which makes programming quite atypical.

> How would that better environment look?

Come on, what kind of question is that? If I knew how to improve it I wouldn't be chatting here with you, I would be doing something about it.

Also, you should probably watch Bret Victor's videos, especially "The Future of Programming", if only to realize that we have been improving the programming environment since the days of punch cards, and are still in the process of doing so.

https://www.youtube.com/watch?v=8pTEmbeENF4

Re: The problem with programming and how to fix it

#98

Earlier quoted context omitted.

I too, don't understand why people think anyone could be a programmer if it wasn't for the existing programmers. What is considered a good grade in school? I think most parents would be happy with their children coming home with 90% grades. That's 1 error in 10 attempts. That is a pretty abysmal fault rate in an actual computer program. Even most experienced programmers fail to consider everything that can go wrong w…

You do this by involving mathematical proofs at every stage. That is expensive, but sometimes done. Strict functional languages are a step in the right direction. As are verifiers as done in Rust.

Some use cases and bugs are not amenable to proof. For example, how do you mathematically prove that your rendering engine is cutting off the bottom of the g of your new font?

Not all requirements of a system can be expressed a priori. I think proofs will never be enough to make a bug free system. Working as intended is a very frustrating response to a perceived bug for a user.

Re: The problem with programming and how to fix it

#99
post #71

Earlier quoted context omitted.

Yo, I have to say something about the sexism in the parent comment for this thread. Specifically: > You want my mother to be programming? My sister? This is sexist because it assumes that those people (women) can't / shouldn't be / aren't programmers. It's exclusionary and has the effect of making people who aren't male / professional programmers feel unwelcome. If instead you specified something like "people without…

Let's be ageist instead, since that is apparently more acceptable. /s > you want my granddad to do programming?

You can skirt being prejudiced toward a specific group by just using the general case of someone inexperienced with programming.
Post reply on HN