8 ms·
I often think of the Raspberry PI as the modern equivalent to the c64. Affordable, powerful, educational. It would be great to develop a specialized Raspberry
by KineticTroi 10y ago
I often think of the Raspberry PI as the modern equivalent to the c64. Affordable, powerful, educational. It would be great to develop a specialized Raspberry PI BASIC in tribute to Blitz or QBASIC.
- nom 10y agoYou made me curious and something like that already exists (who would've thought!). RetroPie [1] comes with the VICE [2] emulator. [1] https://retropie.org.uk https://retropie.org.uk [2] http://vice-emu.sourceforge.net/ http://vice-emu.sourceforge.net/
- SyneRyder 10y agoNot quite what you're after, but it might also be worth looking at Xojo, which is a kind of Visual Basic clone that also compiles apps for the Raspberry Pi. (Then if you catch the Xojo bug, it also compiles to iOS and desktop Windows/Mac/Linux.) https://www.xojo.com https://www.xojo.com
- ZenoArrow 10y ago> "It would be great to develop a specialized Raspberry PI BASIC in tribute to Blitz or QBASIC." You may find something you like here: https://www.raspberrypi.org/blog/celebrating-50-years-of-basic/ https://www.raspberrypi.org/blog/celebrating-50-years-of-bas... Also, the following project is only loosely related to your post, but you might like to know about it too: http://eluabrain.blogspot.co.uk/2011/11/brainz-brainz-braaaaaaaaainz.html http://eluabrain.blogspot.co.uk/2011/11/brainz-brainz-braaaa...
- astrodust 10y agoBASIC did enough damage to programmers. It's good that it's dead. Don't bring it back. People mistake BASIC's simplicity with a feature. It's an atrocious language, it encourages the worst sorts of programming, and it's so feeble that doing anything useful in it is painful at best and discouraging at worst. On the C64 with limited memory BASIC was a lot better than nothing, but today, given the vast wealth of documentation, of videos that explain fundamental concepts, there's no need for something as dumbed down and useless as BASIC. Lua, Python, Node.js, Ruby, anything modern on the Pi is a vastly better learning experience because not only can you pick up the basics, but you can apply that to real-world problems, possibly even get a job, and carry on learning. With BASIC and hacking around in ignorance you're going to do everything wrong, and reversing all those bad habits is really tough to do. It takes years. If you want to learn how to program the C64, stick to assembly. This used to be a dark art back in the 1980s, reference material was thin, examples scarce, but now there's an enormous wealth of that you can pick apart and learn from.
- rbanffy 10y agoBASIC on an 8-bit computer is a bit closer to the underlying hardware than C and it's a worthy educational experience. You have to be clever to work with all global variables and subroutines instead of functions and you'll have to invent your own stack to express recursion.
- tluyben2 10y agoIn old 8-bit Basic it was, many times, a kind of battle between interpreter and assembly. I would write things in Basic, then see if it was fast enough. If it was not it usually was pretty obvious where the issue was; if the code was complex I would rewrite it to a version that more or less would convert to assembly naturally and then test again. You would have to lose basic pretty quickly especially for games, so in the end (of the 80s basically) I started straight in assembly. And that is what I missed and found again now in limited resource embedded chip programming; doing almost all the actual work in your head and on paper instead of trial and error everything.
- astrodust 10y ago> BASIC on an 8-bit computer is a bit closer to the underlying hardware than C ... Well, that's wrong. There's nothing about BASIC that has anything to do with hardware. If anything it made the computer feel like a rubber mallet when inside that hardware was some real power, if only you had the knowledge to unlock it. I always felt cheated, that no matter how well I knew BASIC my programs would be stupidly slow compared to someone who knew assembly. C wasn't an option on something like the C64 since there was no C compiler. It was BASIC or, if you were bold, hand-written machine code. The tools were very primitive, very expensive, or both. BASIC is junk. Get rid of it. Teach proper programming. If you really need to squeeze a lot out of your hardware, and on the C64 you absolutely need to, then it's assembly or machine language.
- rbanffy 10y agoThe point is not being fast, but easy. BASIC has GOTO and GOSUB, IFs (which take the place of conditional jumps), no stack (that you can use yourself), no named functions (except branchless one liners) and a meager set of primitive types which are handier than the 6502 registers. Ever tried floating point on a 6502? Even with the routines in ROM, it was all pain and suffering. I am sorry you had such a bad experience with BASIC, but, for teaching the very basics of programming, it was a useful tool. In order to teach assembly you'd need a text editor, an assembler and a floppy disk. BASIC came up when you powered your machine on. I used Aztec C on the Apple II and, while it was painfully slow, it was a reasonable C for the time and, IIRC, it had a C64 version.
- rbanffy 10y agoIt's too complex. The thing with machines like the C64, 8-bit Ataris and Apple IIs is that they were simple and easy to fully understand. Even the hardware of a Pi, with its multiple buses, protocols and embedded controllers running their own OSs, would require a degree in engineering to fully grasp. On the software side, there are multiple man-centuries invested.
- tluyben2 10y agoI like this[0] on small Linux systems; easy to set up so you get that C64 feel in a modern setting. [0] https://github.com/antirez/load81 https://github.com/antirez/load81
- jonjacky 10y agoHow about this one: "RaspberryPi BASIC is an homage to the Commodore 64; a bare-metal operating system that boots directly to a BASIC prompt, similar to early computers." https://github.com/steventroughtonsmith/rpi-basic https://github.com/steventroughtonsmith/rpi-basic