8 ms·
Qbasic is something that simply has no modern-day parallel. It started very simple, PRINT and GOTO were enough to get you started. It had the tools to expand a
by ashleyn 9y ago
Qbasic is something that simply has no modern-day parallel.
It started very simple, PRINT and GOTO were enough to get you started. It had the tools to expand along as you learned, and a great community of amateurs who would make cool games with it. Eventually, you'd grow out of it and try your hand at C, because by that point you were encouraged to learn so much (and with a gentle curve) that you exhausted its capabilities. It was an excellent educational tool, an excellent way to get kids "hooked" into "real programming".
Learning programming today isn't quite as simple as it was with Qbasic. It involves setting up a large toolchain, and for a beginner, the experience is daunting as the language community reviled both anything imperative and unstructured. There's no easy way to do anything other than text from the command line, which makes for some thoroughly uninteresting demos and examples. Qbasic wrapped an IDE and graphics library around the language in an all-in-one solution; it was so cool seeing colourful, pseudo-graphical demos like Nibbles or Gorillas. If a beginner wanted to do anything "cool-looking" today, this same beginner programmer would need to set up render to texture on an OpenGL surface. Yuck! And so they lose interest, believing programming is the mysterious and complex domain of gods.
This market did not go away. I don't quite think QB64 fills it, being little more than a nostalgic, artistic homage to Qbasic. If someone were to design a programming language with a learning curve as gentle as Qbasic, and wrap a simple IDE and graphics library around it, all while modernising some of its more dubious qualities...you'd have a real shot at recapturing the magic for a new generation of young programmers.
- digi_owl 9y agoI found myself reminded of Blitz Basic. https://en.wikipedia.org/wiki/Blitz_BASIC https://en.wikipedia.org/wiki/Blitz_BASIC Seems it has since been open sourced.
- fuball63 9y agoI immediately thought of Blitz Basic too, which is how I got started programming. They recently took down the website for it, which made me sad, as I used to frequent the forum a lot.
- paulasmuth 9y ago> If a beginner wanted to do anything "cool-looking" today, this same beginner programmer would need to set up render to texture on an OpenGL surface. Yuck! And so they lose interest, believing programming is the mysterious and complex domain of gods. Or just use the web platform: JavaScript, HTML5 Canvas API, WebGL, all of that. I think it's pretty close in terms of getting a pretty (motivating) result quickly without much prior experience. (Unrelated, but I can also remember writing the first lines of code of my life in qbasic on a dos machine in ~1998; the blue screen definitely invokes childhood memories!)
- pvg 9y agoThe conceptual load of these things is much, much higher than QBasic, though, they're not nearly as easy to 'just use'. There's this: SCREEN 13 PSET (1,1), 43 And then there's this. https://stackoverflow.com/questions/4899799/whats-the-best-way-to-set-a-single-pixel-in-an-html5-canvas https://stackoverflow.com/questions/4899799/whats-the-best-w...
- evincarofautumn 9y agoMy preferred term for this is “zero to pixels”. QB’s was very low—basically unmatched by most modern environments, which require considerably more setup; although that’s partly because they’re intended for more “serious” programming. We need more unserious, fun programming environments for beginners. :)
- badsectoracula 9y agoOver the years i made a few languages and environments for fun that included exactly that sort of low "zero to pixels" idea, mainly inspired by QBasic: 1. SimSAL Workshop [1], made years ago using a scripting language (SimSAL) i wrote at some point in Lazarus [2]. I originally wrote it because up to that point i used QBasic in DOSBox now and then to try out algorithms and i wanted something similar running natively. Although these days i tend to use Lazarus directly. 2. VitriolBASIC [3] (sadly the site i had it is down and only that image remains from archive), a simple QBasic-like interpreter written in Java. Written purely for fun, i lost interest when i realized how hard and annoying it was becoming to run Java stuff on the browser (today you cannot do that at all unless you pay the certificate mafia and even then you get tons of scary messages). 3. WinLIL [4], this is just a playground for my LIL scripting language [5] [6]... i just wanted an excuse to shove it in yet another program. But it is a single self-contained EXE file that includes the interpreter, a simple programming environment, some extra commands for graphics and all the documentation i have available :-). [1] https://i.imgur.com/AuLjMsP.png https://i.imgur.com/AuLjMsP.png [2] http://www.lazarus-ide.org/ http://www.lazarus-ide.org/ [3] https://archive.is/s3Qf6/9ef5d8071b45fe792347b0dc12a1de8bfaea36fe.jpg https://archive.is/s3Qf6/9ef5d8071b45fe792347b0dc12a1de8bfae... [4] http://runtimeterror.com/tech/lil/winlil.png http://runtimeterror.com/tech/lil/winlil.png [5] http://runtimeterror.com/tech/lil/ http://runtimeterror.com/tech/lil/ [6] http://runtimeterror.com/rep/lil/ http://runtimeterror.com/rep/lil/
- smogcutter 9y agoClosest thing I can think of today is https://processing.org https://processing.org. Processing has some serious flaws, but it's an all in one IDE with a library that makes it extremely easy to draw to the screen.
- mcphage 9y ago> If someone were to design a programming language with a learning curve as gentle as Qbasic, and wrap a simple IDE and graphics library around it, all while modernising some of its more dubious qualities...you'd have a real shot at recapturing the magic for a new generation of young programmers. They did, years ago. It’s called “Processing”, and it’s very popular. It’s also used by a lot of artists to let them make active or interactive art pieces without needing to be an experienced programmer.
- vram22 9y agoCool! I haven't tried out Processing, but I have tried out the JavaScript port of it (processing.js), initially created by John Resig, who also created JQuery. https://en.wikipedia.org/wiki/John_Resig https://en.wikipedia.org/wiki/John_Resig https://en.wikipedia.org/wiki/Processing.js https://en.wikipedia.org/wiki/Processing.js https://en.wikipedia.org/wiki/JQuery https://en.wikipedia.org/wiki/JQuery
- MichaelMoser123 9y agoi took a look at the examples here [1] and the syntax looks similar to Java. I wonder if it is really that easy to teach programming with this language? [1] https://processing.org/examples/ https://processing.org/examples/
- mcphage 9y ago> the syntax looks similar to Java Syntactical it is similar to java, although only the simplest Java. No generics, no inner classes, etc. And let’s face it, even at its most complicated, Java isn’t syntactically complicated. > I wonder if it is really that easy to teach programming with this language? Well, it’s been in use for a number of years, and is popular among non-traditional programmers, so the answer seems to be yes.
- vitoralmeida 9y agoPICO-8 (https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php) is a good alternative to a very simple system with a focus on game programming. It captures that vibe of an old computer system (where you turn it on and are ready to program immediately) with simplicity and an awesome community to learn from.
- anta40 9y ago>If someone were to design a programming language with a learning curve as gentle as Qbasic, and wrap a simple IDE and graphics library around it, all while modernising some of its more dubious qualities...you'd have a real shot at recapturing the magic for a new generation of young programmers. I first learned QB maybe in 2001, during high school days. Then I learned Python. Writing graphical programs in QB was pretty easy. There were PSET(), LINE(), CIRCLE() that were straightforward. But with Python, I had to learn this thing called "Tkinter". What the hell these "root", "unpack", "mainloop" mean? :D
- timClicks 9y agoIf you're running in Python, there's also import turtle: https://docs.python.org/3/library/turtle.html https://docs.python.org/3/library/turtle.html
- cwyers 9y agoMicrosoft still ships SmallBasic, for free. http://smallbasic.com/ http://smallbasic.com/
- tim333 9y ago>Learning programming today isn't quite as simple as it was with Qbasic. It involves setting up a large toolchain... It can be complicated but you can always open the console on your browser, or jsfiddle and type some javascript. An you can ignore the critics and do the w3schools course in a day or so.
- simonh 9y agoEvery Windows computer comes with VBScript that’s just as streightfirward and a lot more powerful. Macs have AppleScript and Python among others. Even on the iPad and iPhone there are quite a few simple, powerful options like Codea and Pythonista. There are loads of great ways to code on modern systems. What they don’t have is the low level, close to the metal feel the old BASICs has. Even though they were interpreted, you could address hardware such as video memory and devices directly which made them a great gateway to low level programming.
- pentagonpapers 9y agoI learned on just basic about a decade and a half ago and it was my segue into becoming a developer
- deleted 9y ago[deleted]
- Fr0styMatt88 9y agoThere are actually quite a few applications around that attempt to do this. Some examples worth trying: - PICO-8: A 'fantasy console' that you can code within itself in Lua; absolutely amazing, not the least of which because you can inspect the source of every game made in it and there's a huge amount of games you can explore from within a game browser inside PICO-8 itself. There's also a version for Raspberry Pi: https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php - TIC-80: A PICO-8 like, a little more powerful. Runs standalone, in the browser or on Android: https://tic.computer/ https://tic.computer/ - LIKO-12: Another PICO-8 like. Runs standalone, in the browser or on Android. At first glance it seems like a more powerful LIKO-12, like one of the more powerful late-80s home computers: https://ramilego4game.itch.io/liko12 https://ramilego4game.itch.io/liko12 - BlitzBasic / BlitzMax: https://github.com/blitz-research/blitzmax https://github.com/blitz-research/blitzmax (and see also https://en.wikipedia.org/wiki/Blitz_BASIC https://en.wikipedia.org/wiki/Blitz_BASIC). Blitz was amazing. The thing that always impressed me about BlitzMax in particular was just the amount of actually completed (and often commercially sold) games made by people with the platform. Incredibly impressive. I never got to try Blitz BASIC on the Amiga, though I have plenty of fond memories of AMOS BASIC and the Blitz experience on PC very much reminded me of that. - Monkey2: From the creator of the Blitz languages. More powerful than Blitz. See http://monkeycoder.co.nz/ http://monkeycoder.co.nz/ (and also https://en.wikipedia.org/wiki/Monkey_X https://en.wikipedia.org/wiki/Monkey_X). - FUZE BASIC: I haven't tried this one but only heard about it because it has an upcoming release on the Nintendo Switch. Looks very much like that late-80s computer experience though. It looks like they even make a Raspberry Pi-based computer around it in the style of the BBC Micro: https://www.fuze.co.uk/ https://www.fuze.co.uk/ Needless to say, there's no shortage of these environments out there :)