4 ms·
I personally wouldn’t teach children mutable imperative programming. I think functional, data driven, declarative, “data first” programming would be a better in
by pass_the_salt22 3y ago
I personally wouldn’t teach children mutable imperative programming. I think functional, data driven, declarative, “data first” programming would be a better introduction to the subject. We’ve essentially broken our own brains training ourselves to think the imperative/mutable style is normal
- semitones 3y agoThe underlying hardware is mutable / imperative. Load number into register A -- Load number into register B -- Add A B and store result -- Functional and data-driven / declarative interfaces are only made possible because of the imperative "ugliness" (reality) that supports it. In order for students to understand computing e2e, they need to understand imperative programming. In order for students to become capable of designing robust, powerful, and elegant systems, they will need to understand functional/declarative programming.
- hk__2 3y agoOP is talking about children, not computer science students.
- erikerikson 3y ago"students" doesn't exclude children.
- pass_the_salt22 3y agoI agree with you. I probably wouldn’t invest much time learning patterns for solving higher level problems in an imperative way, but spending some time with a breadboard, then some circuit emulators, then machine code -> assembly -> systems programming will definitely give kids (a bit older than the target for this tool perhaps?) an important basis in the underlying physical reality of their programs.
- maweki 3y agoThe children know school math. And their blackboard is declarative and not imperative. Why would you suddenly introduce implicit state? i=i+1 is just confusing without a good and formal introduction. And once you have that introduction, your most of the way to modelling state in a functional declarative computing model.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- nocsi 3y agoSomething like Roc-lang, where it’s a stripped down yet capable language seems to be a good fit. But I agree solving problems with a functional approach would better develop the foundations.