4 ms·
GWBasic was good resource to get into programming world during my teenage. Now I want to teach coding to my 10 years old son. Will you still recommend GWBASIC/Q
by pknerd 6y ago
GWBasic was good resource to get into programming world during my teenage. Now I want to teach coding to my 10 years old son. Will you still recommend GWBASIC/Quick basic or Python or other languages for kids?
- HenryBemis 6y agoI don't know Python, but I saw online (amazon and the likes) that there are plenty of books on Python for kids (search for that and many similar titles will come up). I was thinking of Python because it's a language that is useful to learn and make it more fun by learnyht it together.
- adzm 6y agoJavaScript since they can make web pages that do things in browsers they are familiar with, which is a huge motivation. Lua so they can mess with Roblox scripting. Then C# mostly for the dev environment And strong types, and Python for the expressiveness. In my humble opinion and experience at least. It's almost always most important to start with something that will augment what they are already interested in.
- pknerd 6y agoI personally don't like JS, how can I teach him? Plus working on JS involves many things for a beginner, you know HTML, you know a bit CSS too.
- axus 6y agoThese days you might use Roblox Studio.
- the_af 6y agoPython is probably a better intro language than GW-BASIC ever was. I say this with all the reverence and fondness I still have for the latter.
- analog31 6y agoI learned BASIC as a kid (first on a mainframe terminal with line numbers), and use Python today. I think the language is not as important as other issues: 1. Computers are so much more advanced now, that the obvious gap between beginner and commercial software is vast. This can be discouraging. When I learned BASIC, I could write programs that didn't look any more crappy than typical commercial software, even if there was a performance gap. 2. There's more magic involved today, meaning that when you run into an obstacle, you wave a wand and a library or stackoverflow post magically appears. To do something in the old BASIC, you had to figure out a way to compose it out of the 13 keywords that you had already learned. So you were forced to think about algorithms, right off the bat. 3. You were closer to the hardware, which was more exciting if you were interested in things. I could kinda explain what the computer was actually doing. I loved math as a kid, but I also loved electronics. The day that I programmed a thing to do something (maybe just a blinking LED) was like the rapture for me. What's closest to the old experience for me is not a language, but a thing: A microcontroller board. Out of the box, it has no GUI, so no expectations for what "cool" software looks like. And you can make it do things that have an immediate sensory effect. You can now put CircuitPython on a Teensy 4.0 board, and sidestep having to learn C, at least for a while. And your son can really own the thing that he's programming. As a minor suggestion, you can also get closer to the computer and to programming by making more use of the command terminal when showing your son how to do things. A final word, don't be heartbroken if it doesn't click. It might not. This is also something parents are told when their kids start music lessons.
- contextfree 6y agothanks for the interesting & thoughtful view. I learned BASIC as a kid in the mid-eighties and already then felt a big obvious gap between what I could write in BASIC and commercial software like Nintendo NES games or even Commodore 64 games, that were written in assembly language.
- analog31 6y agoAssembly language was easier too. ;-) I found a book, I think it was published by Howard Sams but sold at Radio Shack, on the Z80 microprocessor. Now I had no particular reason to favor the Z80, but it was available so I bought it. There was another book on TTL logic. The Z80 book was so well written that I gained a grasp of how a microprocessor works, back when there weren't things like pipelines and microcode to blow your mind. But I learned about how pointers work, buses, etc. The closest thing I'm aware of today, that are actually useful, are the 8 bit PIC chips.
- perl4ever 6y agoA large part of why I (and I assume others) started with BASIC was because it was accessible. I really wanted to do "real" programming, but C compilers were expensive and there was no internet connection when I was in grade school. Now you can just download Linux and practically infinite languages. Also, I can't help thinking of how it can be counterproductive to try to push someone in a certain direction. A lot of times showing what you value and want for yourself tends to have more influence than what you try to get others to value.
- cachvico 6y agoCheck out Scratch, from MIT. https://scratch.mit.edu/ https://scratch.mit.edu/
- ArnoVW 6y agoScratch is great. If you want something like that but less open ended and more directed (with exercices and training videos) try https://code.org/ https://code.org/ It also helps they use known franchises like minecraft or angry birds =)
- pknerd 6y agoI know about Scratch. The only issue I have that real-world programming environment is different than Scratch one.
- pknerd 6y agoBTW, Paul Graham (pg) using online Repl to teach GWBasic to his son.
- int_19h 6y agoTry Python with Thonny. Python itself is great because it has all the right batteries included. It's easy to get started - you don't need to explain "import" or functions to write a basic hello world type app with console input and output. Then you can gradually build it up from there, introducing turtle graphics, databases (SQLite), and finally GUI (Tk) - all of which are present in the standard library. And Thonny, well - it's self-explanatory once you see it: https://www.youtube.com/watch?v=nwIgxrXP-X4 https://www.youtube.com/watch?v=nwIgxrXP-X4