News for hackers. Stuff that matters.
Re:Why 80s BASIC still matters by klodolph on Monday February 25, 2019 @09:03AM (#19245632)
Even in 1985, the things that a child could produce in BASIC weren't "interesting". Children in that era could make a few dots appear on the screen, or make a prompt that asked questions and responded, or maybe draw some interesting procedural graphics. It's not much when you compare it to games like The Bard's Tale, Ultima IV, or King's Quest II. But it was enough, because programming was by itself an interesting puzzle to solve.

It's not the result that's interesting, it's the process of programming.

Re:Why 80s BASIC still matters by stcredzero on Monday February 25, 2019 @02:06PM (#19248378)
Even in 1985, the things that a child could produce in BASIC weren't "interesting". Children in that era could make a few dots appear on the screen, or make a prompt that asked questions and responded, or maybe draw some interesting procedural graphics.

Prior to 1985: (As a child.)

I wrote "snake" and independently came up with the circular queue data structure. I wrote a "Bezerk" clone in low-res graphics, where everything was just a dot. (I had no idea how I could handle the AI at the time, so baddies just moved randomly.) I wrote a "skiing" game that exploited text scrolling for the vertical scrolling. I wrote a "Star Wars" game where you tried to "fly" a ship with a joystick first person to line up Tie Fighters in the crosshairs. It was a clone of one of the demo games which came with the Apple II, but mine had a "horizon." I wrote the start of an Asteroids style game, where I got a swarm of 50 ships to chase each other around in a massive "dogfight." All of the above was done with BASIC, except for the last, which was done in a BASIC derived macro language called Macrosoft.

More recently, a few years back I taught a class for high school aged women, where we used Unity 4 to create a 2D shoot-em-up game in just one afternoon. 18 of the 19 students rated the class highly. Granted, we had to "pre-fab" a lot of things for the students to keep things moving. The actual point of the course was to give the students a taste of what they could do.

It's not the result that's interesting, it's the process of programming.

Some years back, back before Arduino was even a thing, a friend of mine (who looks a bit like a cross between the stereotypical 50's geek and Kyle Maclaughlan) and I spent an entire evening bringing an embedded computer to life. We got an LED to blink then awkardly high fived. His wife just shook her head.

Re:Why 80s BASIC still matters by js2 on Monday February 25, 2019 @10:44AM (#19246398)
Funny enough, Ultima I was originally written mostly in Basic (with graphics routines written in assembly).

The stuff I was able to do in Basic in 1981 as a ten year old kept me interested. Then like now I enjoy programming, but mostly as a means to an end. If anything, the fact that what I could program wasn’t as “interesting” as a commercial game (say) was motivation to keep learning.

Re:Why 80s BASIC still matters by Falkon1313 on Monday February 25, 2019 @06:56PM (#19250683)
> the things that a child could produce in BASIC weren't "interesting"

That's just not true. For I/O you had keyboard input, screen output, and maybe file I/O. 3 basic things that pretty much all programs used. Most commercial programs were 80x25 text mode with 16 color attributes. If you could learn to read scancodes from the keyboard, write text to the screen, and save/load files, (along with a few fundamental ideas like loops and conditionals) you could do almost anything that a commercial program did. With just that basic knowledge of a few simple things.

It was simple because it was direct, there weren't 72 layers of abstraction and UI libraries that you had to know before you could even begin. You could also do pixel graphics, and again it was pretty simple - just set the screen mode and go with DRAW, LINE, CIRCLE, POKE etc. Again, no layers of indirection or libraries or window managers or canvases or DrawableObjectFactoryManagerFactoryInterfaces needed.

One of the problems of modern attempts to recreate that feel is just that there is so much between the programmer and the hardware and it's so much more complex. Back then, we had single-user, single-process systems with direct access to simple hardware. Everything you needed to do was either a built-in part of the language or a BIOS/OS interrupt that you could call just as easily. It's hard to recreate that on a multi-user multitasking system with indirect access to more complicated hardware and countless layers of software between the programmer and the machine and BIOS/OS interrupts. Sure you can do more powerful stuff now, but it's not as interesting.

Re:Why 80s BASIC still matters by klodolph on Monday February 25, 2019 @07:45PM (#19251042)
Direct access to hardware is not the difference. It is easier to get things done today. You can argue that it was simpler in 1985, but I don't think that simplicity is the right way to measure things. You can present an easy-to-use programming environment to people, accessible to newcomers, usable by experts, and it doesn't have to be simple but it has to be possible to use it in simple ways.

Just personal observations here. Someone with a computer in 2019 can download Unity, which is free, and watch a tutorial on YouTube, which is also free. With near zero understanding of what is going on, and no prior experience, they can have some kind of rudimentary platformer working within hours. This is then a good starting point to learn programming (you can dive into C#) or you can continue to jumble together copy/pasted bits of code that you see online (kind of like how I remember doing with BASIC and library books).

Sure, there are a bunch of layers of abstraction, and those abstractions will break down all the time. You don't need to learn those abstraction layers, you can stay at the top layer and still get good work done, maybe working around a few problems that you don't understand from time to time by futzing around with stuff until it works. Or you can dive in and try to understand what's underneath an abstraction. That's the whole point of having abstractions in the first place. They exist to hide the complexity, to let you get work done without understanding the entire system. 72 layers of abstraction is a bit of an exaggeration. I'd say if BASIC has three layers (interpreter/machine code/hardware), Unity only has six (editor/scripts/engine/os/machine code/hardware), but who knows how you count them.

In my experience, watching people learn how to create things, it has never been easier to learn programming and start building things. The main difference is that in 1985, programming was considered an essential computer skill, and in 2019, you're expected not to program. BASIC was amazing because it was what you saw on the screen when you turned your computer on, nothing more.

Re:Why 80s BASIC still matters by Fjolsvith on Monday February 25, 2019 @09:07AM (#19245661)
I wrote a fun game on the C64 as a teen - the starship Enterprise drawn as an "O" with lines behind it. You could steer it with arrow keys to aim at klingon warbirds, and fire phasers with the space bar.
Re:Why 80s BASIC still matters by klodolph on Monday February 25, 2019 @09:47AM (#19245952)
I suppose this exposes some assumptions I was making. When I think of children learning programming with BASIC, Scratch, or Logo, I'm usually thinking of pre-teens or young teenagers, say 10-14 years old. Or younger, say 8, for some kids.
Re:Why 80s BASIC still matters by Fjolsvith on Monday February 25, 2019 @12:49PM (#19247615)
When my daughter was three, I built a Windows 95 computer for her and installed a load of preschool games on it. She could power the computer up, find her game, play it, close it and shut the computer down at that age. She learned to read from those games.
Re:Why 80s BASIC still matters by lightedman on Monday February 25, 2019 @10:37AM (#19246357)
6 years old for me, TI 99/4A. Yay double-interpreted garbage!
Re:Why 80s BASIC still matters by everdev on Monday February 25, 2019 @09:53AM (#19245998)
I learned BASIC in 5th grade and instantly fell in love with how quickly I could read and understand the code and modify it to do what I wanted.

Sure, when I wanted to make games I moved to C++ and Perl for web apps, but without programming experience those languages looked like a mass of symbols while BASIC looked like sentences.

For an entry level language it was perfect for me.

Re:Why 80s BASIC still matters by ddingus on Monday February 25, 2019 @12:55PM (#19247671)
In 1985, putting your own pixels on the CRT was a pretty big deal.

We used to write goofy games, share them, hack on all of it, and had lots of fun. Imagination.

Now, the blue dot is the baddie, and you....

Re:Why 80s BASIC still matters by stcredzero on Monday February 25, 2019 @02:08PM (#19248394)
#IDARB stands for "I Drew a Red Box."

http://www.idarb.com/

See if you can find the GDC presentation they gave. It was the most entertaining presentation of that year I can remember.

Re:Why 80s BASIC still matters by ddingus on Tuesday February 26, 2019 @12:37PM (#19256452)
I watched a couple of things. Yes! That is exactly that old 80's feel in a current game. Really cool story. I have to go play this damn thing.
Re:Why 80s BASIC still matters by cbsks on Tuesday February 26, 2019 @01:39AM (#19252439)
Is this the presentation you are referring to? https://youtu.be/0MJ_oxzJ2zc
Re:Why 80s BASIC still matters by u801e on Monday February 25, 2019 @11:06PM (#19251893)
> Even in 1985, the things that a child could produce in BASIC weren't "interesting".

Back then, as a child, my parents purchased books that contained basic programs that one could manually transcribe and save onto tape or disk that were actually interesting. IIRC, those books did contain an overview of how the program worked.