Perhaps a good way to teach people beginning programming would be to show them how to use a simple web framework.
It would have to be something purpose built to be easy though probably with a dedicated language.
A bit like this:
No libraries or APIs , everything required is built into the standard library.
Database is a simple key/value store that can be used transparently within the language. Something like "Store X = 3" and "Get X" where X is the key name.
Of course you would need some form of lists too, not sure what a friendly syntax for that would be.
Very simple looping syntax, in my experience beginning programmers struggle with this more than anything else.
Something like, "do X 3 times" where of course X would be a a subroutine, this would make functional programming seem quite natural later.
A WYSIWYG HTML editor that can integrate seamlessly with the language itself. Save teaching HTML/CSS until later.
Very friendly error messages that provide links to simple documentation that explains where they have most likely made the mistake.
Documentation should include many videos as well as text.
Graphical debugging should also be taught through a super simple debugger that just dumps the values of every variable at a breakpoint and allows users to browse the DB.
It would have to be something purpose built to be easy though probably with a dedicated language.
A bit like this:
No libraries or APIs , everything required is built into the standard library.
Database is a simple key/value store that can be used transparently within the language. Something like "Store X = 3" and "Get X" where X is the key name.
Of course you would need some form of lists too, not sure what a friendly syntax for that would be.
Very simple looping syntax, in my experience beginning programmers struggle with this more than anything else.
Something like, "do X 3 times" where of course X would be a a subroutine, this would make functional programming seem quite natural later.
A WYSIWYG HTML editor that can integrate seamlessly with the language itself. Save teaching HTML/CSS until later.
Very friendly error messages that provide links to simple documentation that explains where they have most likely made the mistake.
Documentation should include many videos as well as text.
Graphical debugging should also be taught through a super simple debugger that just dumps the values of every variable at a breakpoint and allows users to browse the DB.
One click "deloy to web"