Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The author is not talking about "professional programming" but about a field called "end-user programming" or more generally "end-user development", which is a whole academic field with the goal os allowing end-users to develop their own solutions.

From this field came things like Scratch [1].

If you're interested a very important paper in that area (from the philosophical aspect) is "Meta-Design: A manifesto for End-User Development". [2]

[1] https://scratch.mit.edu/ [2] (PDF) http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68....



HyperCard, Excel, and (at the upper end) Flash are basically end-user programming that allowed for some really great creativity. I get the feeling most corporate programmers want to ban Excel and force the users to had over their code to have it properly programmed. The other two were gotten rid of. Instead of making easier and easier tools, we've gotten harder and harder. I still contend that NeXTSTEP was an easier programming environment than the web of today.

Javascript is not a beginner language anymore. It has a lot of edge cases and traps that defeat the average person.


> Javascript is not a beginner language anymore.

Why not? You can still write vanilla JS the same way you could decades ago without much (any?) change.

> It has a lot of edge cases and traps that defeat the average person.

It's always had that. In fact, I think the reason it feels less like a beginner language is that the solutions we've created to handle the edge-cases and traps have been solved for professionals. It's more that the way we teach it has changed. It's now a "professional" tool, so most content out there is aimed at people endeavoring to become professionals, needing to deal with all the complex realities of professional-grade problems. But you can still teach it in the same beginner-friendly way you could in the early 2000's.

I've seen this teaching my son (using JavaScript). My instinct is to direct him to use all of the techniques I use because it's the "right" way. But a beginner doesn't really care about the problems that the "right" way solves. They don't even know about them yet. So it's overkill. Forget Typescript, webpack, eslint, Angular, node, etc., let's just write everything in one HTML file (not even using <script> to include a separate .js file yet) and focus on the thing he's interested in making. We'll get to all that other stuff eventually, and then he'll actually have enough foundation and context to understand and appreciate (not to say all the complexity we've built is perfect).


HyperTalk was a language that a beginner could use. Javascript is directed towards pro programmers and things that don't help the beginner like comparison and breaks in return statements.


> The author is not talking about "professional programming" but about a field called "end-user programming" or more generally "end-user development"

I do think VisualBasic(6) had a thing there. It was so easy to visually design a GUI and slap some code into it.

That said, as a "professional programmer" I once had to maintain such a VB6 application that was developed by someone that wasn't a professional programmer and that application was absolutely business critical for that company.

It wasn't fun to put it mildly. So my take on this is that it probably died for a reason.


> So my take on this is that it probably died for a reason.

Yes, Microsoft killed it.

Up to the point when Microsoft killed it, it did nothing but grow. And for years after Microsoft killed it, it did nothing but grow.

Microsoft killed it because it was a mess on every level, and they didn't like the part they were the ones maintaining. But lack of demand certainly wasn't a factor there in any way.


That's not a problem unique to VB6, there is a lot of crap code out there.

Also I've seen some strong programmers being very productive with tools like VB6 and Delphi.

I suspect the main reason for its demise is corporates don't like installing software on client machines. It's much easier for them to deliver everything through the browser.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: