2 ms·
I know, and they (like Python) all make excellent second steps. The line numbers are bad for structure, but good for stage 1 learning is what I am saying. In
by jimnotgym 8y ago
I know, and they (like Python) all make excellent second steps. The line numbers are bad for structure, but good for stage 1 learning is what I am saying. In fact, letting people find the limitations of line numbers and GOTO statements is an excellent way to show them why you would want something more structured, rather than just telling them.
- jacquesm 8y agoI do not know about that. Teaching people something bad first only to show them a better way later still wastes their time and ingrains bad habits. Personally I prefer teaching the better way right from the beginning (assuming I know what the better way is).
- jimnotgym 8y agoSo we should skip Scratch for kids and go straight to Java? Static types and Object Oriented Programming are better ways, I think most of us will agree? I want to give noobs a taste of the magic of programming immediately 10 Print "hello" 20 GOTO 10 Is something anyone who can read could understand. Even the relatively simple while True: print("Hello") Has several concepts to explain before you can understand it.
- jacquesm 8y agoI do not think the Scratch vs Java comparison is a fair one here. There is nothing wrong with Scratch. But bad Scratch vs good Scratch or bad Java vs good Java would be a fair comparison and in those cases I would advocate for teaching the right thing from the start.
- protomyth 8y ago> Static types and Object Oriented Programming are better ways, I think most of us will agree? I'm pretty sure you won't find near universal agreement on either.
- reificator 8y ago> Static types and Object Oriented Programming are better ways, I think most of us will agree? No.... I'm with you on static typing but disagree with OO. I know other developers I strongly respect with every permutation. Personally, I probably wouldn't object to OO so much if Java weren't such a commonly taught first language, which gets right back to the discussion at hand.
- stevekemp 8y agoAfter I got the tokenizer working the first thing I did was implement "PRINT" and "GOTO". Specifically so that I could write: 10 PRINT "STEVE IS AWESOME!" 20 GOTO 10 Everything else was added after that, which is why the PRINT function is the oldest and worst code (until this evening).
- jacquesm 8y agoI still have a BBC basic re-implementation in C floating around here, code written in 1989, would that help you? If so I'll be happy to tar it up and send it to you.
- dragonwriter 8y agoProgramming without language-level support for structure isn't “something bad”, and in practice it resulted in learning how structure is implemented at a low level. Plus, mandatory line numbers is what enables having a REPL that's also a program editor, which is a big win.