Live data from Hacker News

30 years later, QBasic is still the best

nicolasbize.com

261–270 of 308 posts

Re: 30 years later, QBasic is still the best

#261
post #93

Earlier quoted context omitted.

Is it simple to draw a line in JS? Like in one line of simple and straight code, yes? I mean, not adding some divs to some DOM, but actually drawing a line or circle. Drawing is simplifying things for kids.

Sure! Just locate the element you want to draw in, set up a 2d context, start a path, move to one end of the line, draw a line, and then stroke that line so it fills in! How much simpler could it be really?

This was intended as sarcasm ;)

Re: 30 years later, QBasic is still the best

#262
post #258
post #243

Earlier quoted context omitted.

yeah, i agree canvas is too low level, that's why i suggested one of the game engines that use it under the hood (thus abstracting a lot of the complexity). Phaser is a pretty decent "batteries-included"-style engine (definitely easier to use than pygame, despite js not being as nice as python). A good summery/list in general can be found at https://html5gameengine.com/

Be sure to look into LÖVE2D. A bit distantly similar to Pygame but completely self-contained and in Luna, so no dependencies to worry about. Installation couldn't be simpler.

LÖVE2D is fantastic, wish I had known about it cause it is exactly what I was looking for when I tried to help my oldest son, thanks. When my youngest son decides he wants to do sound I will start both of them down that path.

For now I've thought a bit and it would be pretty easy for me to abstract sprites and text drawn to a canvas with clicking and keypresses so I think I will do that first when the time comes. My youngest son was EXTREMELY happy this morning and began porting letters2player to JS before school.

Re: 30 years later, QBasic is still the best

#263
post #160

Earlier quoted context omitted.

Or How to Design Programs with Dr Racket. Same effect.

I was actually suggest Racket as a great platform for learning programming (it's a "real" language/platform, decent IDE, support for building stand-alone executables, great documentation, sold cross-platform support) - but was a little surprised that I couldn't find a BASIC #lang-uage extension for Racket. It would seem that a BASIC mode and maybe a pure turtle graphics mode should be pretty trivial to make for Racke…

Racket is a very nice scheme setup. As a SICPer I initially wondered if I should use a scheme variant for my oldest son but I thought back to my youth and decided against it. in HS I wrote a TP program that plotted functions for my math class. It would run through the line entered looking for whitespace operators like * and + and only keywords like sin before (. Then it would write a .BAS file and run it in qbasic to plot ;) Having later taken SICP in first year CS was mind opening regarding REPL, but I really appreciated having that earlier experience and honestly I needed a certain maturity for the mental abstractness. There's a time for scheme, about the time someone is ready for learning calculus.

Re: 30 years later, QBasic is still the best

#264
Oh man I am having a nostalgia heart attack right now. I remember coding a "guy shooting falling aliens from the bottom of the screen" game and hilariously having the aliens move not only through a timer but ALSO when you moved since there was no threading. Classic.

Re: 30 years later, QBasic is still the best

#265

What's nice with BASIC is that no context is required from the programmer: you don't need to know about the call stack or about variable scope. It's the programming equivalent of WYSIWYG. It also doesn't hurt that BASIC used to be resident in ROM (thinking back of the Sinclair ZX Spectrum), and that there were nice and simple primitives for drawing on the screen. I agree with the blog author, and I still think it's t…

You do need to know about variable scope with modern BASICs like FreeBASIC and GAMBAS.

Re: 30 years later, QBasic is still the best

#266

Earlier quoted context omitted.

I learned through logo in middle school. A language sophisticated enough to later (high school) write programs that would take equations and graph them. Plus who doesn't love writing software to create spirograph graphics.

I come back to Logo probably once every 2 years, for about 15 years now. First used it in primary (elementary) school but never really progressed past spirographs. I think I'll fire it up again this weekend - any hints?

I haven't used it years unfortunetly. Fractals where fun in logo. Making coastlines was always fun too.

Re: 30 years later, QBasic is still the best

#267
post #87

Earlier quoted context omitted.

https://processing.org/ I absolutely love Processing. It's a subset of Java with a dead simple IDE. Bonus points for exporting to Android, javascript, and executable jars for the desktop. Comes with excellent examples. The community is generally quite supporting and open as well. And to answer your question "why can't we get a simple way to create a simple 100x100 box for kids to draw in?" Here's the processing code…

Processing is a great and fun way to learn programming! I learned it that way, and I found that it kept my interest cause I could use it in a creative way while it also was easy to use.

[deleted]

Re: 30 years later, QBasic is still the best

#268

Author is spot on. My son and daughter have about 2 and 4 years to go before I probably intro them to programming. When I do, it's going to be a C64 all the way. And a real one. With a real old school monitor and a luxury a didn't have for about a year or two: a floppy drive. I've get a lot of the start with JS comments. But that would be the last thing I do. As a child learning, you need to remove the complexities a…

The keyboard on the C64 is terrible though. I recently tried to get into C64 programming but got turned off by the tired and mushy keyboard.

Re: 30 years later, QBasic is still the best

#269
post #263
post #160

Earlier quoted context omitted.

I was actually suggest Racket as a great platform for learning programming (it's a "real" language/platform, decent IDE, support for building stand-alone executables, great documentation, sold cross-platform support) - but was a little surprised that I couldn't find a BASIC #lang-uage extension for Racket. It would seem that a BASIC mode and maybe a pure turtle graphics mode should be pretty trivial to make for Racke…

Racket is a very nice scheme setup. As a SICPer I initially wondered if I should use a scheme variant for my oldest son but I thought back to my youth and decided against it. in HS I wrote a TP program that plotted functions for my math class. It would run through the line entered looking for whitespace operators like * and + and only keywords like sin before (. Then it would write a .BAS file and run it in qbasic to…

Sure. But there's no reason one couldn't start with a BASIC-like language in Racket. Someone would just have to implement it and support it. It's crazy powerful, see eg:

"Creating Languages in Racket - Sometimes you just have to make a better mousetrap." http://queue.acm.org/detail.cfm?id=2068896j

Re: 30 years later, QBasic is still the best

#270

Earlier quoted context omitted.

Yeah.. kids are tougher than we tend to give them credit for. I got an Amiga 500 when I was 10 years old, try playing Carrier Command, Elite or something like that without a manual and no clue what any of the words mean :) We sometimes didn't get very far, or missed out on many aspects, but there was still so much we did get out of it, so we kept hanging on, and with everything we understood, other things became easi…

Ah, Carrier Command... I'm going to have to play that again. Powered on my Amiga 500 on my desk yesterday after almost two years, and to my amazement the battery kept the correct time. $c00000 - FAKE FAST LOCATED

My A4000T is also still working fine (last time I checked), but of course the HD died. One of these days I will get a CF or even SSD in there, maybe get a nice mouse and indulge myself to bits. http://aminet.net/ is still here and nice things still get made, after all :)

What miss most is using tools like ExoticRipper to grab music modules from memory after reset, to then play them at leisure and examine/change them with a tracker. Or playing around with the "Action Replay" modules I-III, that blew my mind too. Making a pause toggle by connect the mass of the case to a specific pin of the extension slot, haha, I was so scared doing it and so shocked it actually worked. I may not have learned so much I ended up still using (except today I prefer Renoise to all other DAW), but I sure learned a lot about learning, that is, wildly poking around to figure things out.

Post reply on HN