|
I can't believe that APress just published (Dec. 2018) this book.
Amazon.com: Beginning Programming Using Retro Computing: Learn BASIC with a Commodore Emulator eBook: Gerald Friedland: Kindle Store[^]
Author says: True story. I was looking for a system that would help 7-year olds teach themselves programming. Hey it's 2018, right? After looking through what's available, the two major issues that I have with the current tools are: 1) Many of them require the Internet (too dangerous for self learning) 2) most, if not all, of them are drag and drop. I wanted a non-distracting environment where the kids practice reading and writing while learning to program. The sensation of causing an action simply by typing a word is priceless.
I don't know. Maybe just use JavaScript in a browser to teach. It's much more relevant and has far fewer barriers to entry.
I mean I would've really liked this book back in 1990 or before, but not sure this one will have a market.
|
|
|
|
|
I don't know. I collect old computer equipment and it's becoming a big thing now to write old style computer games running on new equipment. The 8-bit guy on Youtube has a lot of cool videos showing his RPG running on old and new equipment.
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
Donathan.Hutchings wrote: I don't know. I collect old computer equipment and it's becoming a big thing now
Yeah, I see what you mean. I follow a guy on Twitter who does a lot of retro.
It's just that I would expect it to be more of an advanced book instead of a beginner's BASIC learning book.
|
|
|
|
|
That's true, but there are a lot of "old school" gamers who never learned how to program. It's also a cool way of getting your kids grand kids into it.
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
Donathan.Hutchings wrote: It's also a cool way of getting your kids grand kids into it.
Kind of a "spread the infection" type of thing, I guess.
It's a good idea because we don't have enough platforms (web (5 browsers), iOS, Android, Windows (7,8,10), plethora of Linux distros) as it is.
|
|
|
|
|
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
Small Basic would have done the job
|
|
|
|
|
|
But why inflict line numbers when you don't have to?
|
|
|
|
|
That's structure!
Yes, I'm kidding. Good point.
|
|
|
|
|
This thing that we do, is not for everyone. Society is "trying" to make it accessible to everyone, which is great in theory, but in practice, only a very small amount will continue the journey, and it will NOT be from learning how to program using a Commodore Turd Emulator.
|
|
|
|
|
Slacker007 wrote: This thing that we do, is not for everyone. Society is "trying" to make it accessible to everyone,
Oh, Remy..."Anyone can cook!"
https://i.stack.imgur.com/r43lb.png[^]
I agree with you.
|
|
|
|
|
Pshaw. I can do ancient BASIC on my MicroVAX -- in the interactive environment. (Yes, it is precisely why I bought a VAX.)
Unfortunately I have found that Turbo BASIC does not run on Win 10 x64.
|
|
|
|
|
raddevus wrote: Maybe just use JavaScript in a browser to teach. It's much more relevant and has far fewer barriers to entry.
By "non-distracting environment", I'm assuming the author meant to avoid exactly the sort of thing you're proposing with JavaScript: Do you try teaching what'll work on all browsers, or only those from a certain generation forward? Do you bring in (or even mention) the plethora of frameworks? How are you going to teach basic file I/O when you can't escape the browser sandbox? Or are you going to do server-side JavaScript such as Node.JS where you can do these operations? How do you gently introduce (to newcomers) the distinction between server-side and client-side code, and debugging on each? Are you going to get into packages? So many questions to answer, and justify.
Perhaps the author's point is that because these older environments are much more limited in what they can do, you're forced to focus on the "common fundamentals" without all the other "distractions" (as he puts it)...
All of that said--and while I've learned on the C64 myself and might see his point--I have to think a Raspberry Pi might still be a better starting point, if only (as you suggested) in terms of relevance.
|
|
|
|
|
Yeah, those are good points. Every web browser is almost like it's own OS.
But you could even set out the rule that the reader could use FireFox, Chrome or Edge and then say, "ok, hit F12" (dev tools)
type: 2+2<enter>
Works in all 3 of those browsers.
After that, there's a lot you could teach directly from the console.
I think a lot of books that try to teach JavaScript do overwhelm with all the node.js, extra libraries (even jQuery) stuff.
If you're learning JavaScript you should learn the good old fashioned way.
document.getElementByID(), etc.
|
|
|
|
|
The problem with that approach is, can you really make a "complete program" you can package and share with someone and use elsewhere ? You could with the author's original approach. How would that work with a browser? That would be clumsy at best.
|
|
|
|
|
dandy72 wrote: he problem with that approach is, can you really make a "complete program" you can package and share with someone and use elsewhere ?
I think so. I think it is even easier actually if you think about SPA (single page apps).
Here's some very basic and (possibly) interesting JavaScript I created to create a very small "game".
You can see it in your browser right now (without all the deployment challenges you'd have with Commodore BASIC) at :
Robot Dots - HTML5 / JavaScript sample[^]
The code to do that is only 271 lines long.
You can read the article that explains the code (and see an animated gif of it in action)at:
HTML5 Canvas : Clean JavaScript & Code Organization Allows Faster Dev, Easier Extensibility[^]
I'm not saying that is a completely introductory article -- because there are some slightly advanced topics -- but I think you could get the interested party there very quickly.
And, yes, JavaScript is limited in many ways (cannot write to file system, etc) but again I'm saying it is a nice language for getting new devs interested -- not as the final long-term goal. And if they are going to learn it as the long-term goal there are lot of caveats.
|
|
|
|
|
Well, I think the author wants his child to simply learn the basic imperative programming, at first.
And I agree, maybe because I ancient enough to start programming in 1984 on a ZX Spectrum in basic and then fallen in love with Assembler up to today; I still remember very well how satisfying it was to literally conquer & dominate a routine, to move an 8x8 pixels little shape in a rudimentary maze, respecting walls and obstacles!
Back to the book, it could be a good solution to start the hard way, especially if it contributes to create a special father-son link.
|
|
|
|
|
The thing to remember is that nowadays kids are used to playing amazing games on smartphones, so making them work hard to just move a few pixels on the screen may be difficult.
|
|
|
|
|
I have a child 6 years old, and he's fond of games so much, too.
Being my wife a primary teacher involved in [try to] teaching coding, too, we approached some tools, Scratch in primis, and we took some experiment with our son; but I found that these tools are somehow too... funny: just like the platform overloads young children, creating more distractions than focus.
My very personal experience is that less may be more at these ages, in terms of the challenge the child is asked to solve, even if you carefully follow them side by side.
However, we are in Italy, so we have nothing professionally helping in teaching coding, just the good will and deep personal motivation.
|
|
|
|
|
Hey Voracy I am Italian too and I had the same impression about Scratch and similar environments when some friends asked me to help their young sons experiment some coding.
I would be very interested if you could share yours and your wife's experience and some suggestions - next Monday a friend will visit with his young son to chat a bit since the boy seems interested in programming.
Thanks in advance.
In theory, there is no difference between theory and practice, but not in practice. - Anonymous
A computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match. - B. Bryson
|
|
|
|
|
voracy wrote: I still remember very well how satisfying it was to literally conquer & dominate a routine, to move an 8x8 pixels little shape in a rudimentary maze, respecting walls and obstacles!
Great memory. I understand what you are saying. I had a Coleco Adam[^] and would faithfully type BASIC programs from Family Computing magazine in...and ultimately hit some bug I couldn't figure out.
Since computing wasn't everywhere we knew we were part of something mysterious and fascinating and everything was simpler and more difficult then. All of us who were fortunate enough to experience it often want to get back to it.
|
|
|
|
|
I wonder if there are examples available on a 5 1/4 floppy so I can read them into my Commodore that is packed away in the loft?
Then I can see how I should have written my first program on a 'PET'.
|
|
|
|
|
My first programming experience was on a Commodore PET 8K.
As rudimentary as it was, that set my path in CS.
|
|
|
|
|
Likewise: I remember the fun I had using overlays - read from the cassette tape - because there wasn't enough space in that 8K.
|
|
|
|