Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There was no need to include a floppy drive though.

Also, Python would have been better than BASIC as the built-in default language.



I don't think Python is better than BASIC. It's more powerful, sure, but it's crazy complex and fussy. Wrong punctuation and your code doesn't work.

If you want Python just use modern laptop, no need to retro anything.

BASIC has command-like statements, no complexity like lambda, classes, modules, etc.


Are you remembering the same BASIC that I’m remembering? With fixed line numbers? Refactoring was near impossible. Spaghetti code was par for the course. You were forced to build everything twice or thrice if you wanted a final product that wasn’t embarrassing.

Just not having line numbers cooked in is a total game changer.

And no GOTO.


I had a C16, and later a C128D (and therefore a C64). The C64 had the most limited BASIC of them all, with v2.0. So many advanced features were hidden behind PEEK/POKE. With BASIC 3.5 on the C16, they added the RENUMBER command, which made refactoring much easier, and it had a SOUND command, despite having a much simpler DSP implementation. The C128 had BASIC v7.0, which included a sprite editor, and much more advanced SOUND command.

If they upgraded the C64's BASIC to 7.0, that would already make a lot of things much more accessible.


> With fixed line numbers? Refactoring was near impossible. Spaghetti code was par for the course.

Yup, even for the old 8-bit computers FORTH would've been a lot more elegant than BASIC. But back in the day BASIC came with highly valued conveniences such as a soft-float implementation that meant support for the "desk calculator" use case was available out of the box, and users could just go on from there.


There are many flavours of BASIC; some with line numbers and GOTO/GOSUB, some without line numbers and real subroutines. FreeBASIC for example doesn't have line numbers. It's similar to Fortran or COBOL, both of whom also started out with line numbers and GOTO-oriented programming. But no one uses those languages like that any more.

No idea what this BASIC looks like though; the documentation seems chaotic and hard to access. Just saying that BASIC does not necessarily mean the BASIC that you or I used back in the day. I also agree that you can do a hell of a lot better than Python to introduce programming to kids.


I mean it's a better language for middle-school kids. They shouldn't be concerned with refactoring.

Important thing about BASIC is that each "command" does a rather limited amount of "stuff". In that way it is kinda similar to assembly language.


Plenty of elementary and middle-school kids learned LOGO which is a vastly more elegant language than BASIC. (It's essentially a LISP with different syntax, the one thing that's inadvisable about it for modern purposes is its use of dynamic scope.)


I think understand of programming as a sequence of commands is necessary before you go to abstractions. BASIC's GOTO is a feature, not a bug: that's how assembly work.

As an adult I'd strongly prefer Lisp over Basic. But I appreciate Lisp or lambda calculus elegance after I spent some time with more basic kind of stuff. Going to higher abstractions right away won't have the same effect


Having a computer that boots directly into a built-in programming language is still compelling though.

It encourages the user to learning programming and develop their own apps.


Python would be the wrong choice. BASIC is the ultimate "batteries included" language. No weirdness hidden behind dynamic types and you can make full games with graphics and sounds (in most implementations) without installing a single external library. BASIC is feature-poor by design and beginners can quickly fully master it. And there are classic variants without line numbers (no need for GOTOs) for those who hate them.

IMHO, humanity is yet to build a better beginner language, at least if you look at the late BASICs such as QuickBASIC.


YMMV but I do welcome the floppy drive.

Besides being integral to the experience / faithful to the prototype C65, it is remarkably reliable storage media that's well-suited for this class of machine, which have very few KBs of RAM.


What you're describing sounds a lot like the OLPC XO.

https://en.wikipedia.org/wiki/OLPC_XO




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: