8 ms·
Fifty Years of BASIC
- configX 13y agoBaCon is a nice BASIC to C converter: http://www.basic-converter.org http://www.basic-converter.org.
- laumars 13y agoA tool to convert BASIC to C seems more niche than 'nice'. I mean, I'm not normally one to criticise other peoples choice of languages, but I can't think of many occasions when I'd find such a tool useful. And if I was forced to recommend a simple language with C-like performance, I certainly wouldn't suggest BASIC even with this converter. But each to their own I guess.
- pjmlp 13y agoNot to mention that back in the day we had real BASIC compilers.
- laumars 13y agoYou still do today. There's a modern version of Qbasic (QB64) which compiles to standalone executables.
- pjmlp 13y agoYes, but it does not offer the features we are used to in modern environments.
- dragonbonheur 13y agoSuch as?
- pjmlp 13y agoSomething like Real Basic (now Xojo it seems) provides a much better developer experience, while offering native compilers. If I am not mistaken, QB64 is just a plain command line compiler, from what I could find.
- dragonbonheur 13y agoAs long as it can call external DLLs it's OK. It would not be hard work to use IUP or GTK+ with QB64 if one wanted to. QB64 offers a better environment than python so it's not that plain - one does not need to look for an external library to make games for example. It's a compiler that can compile to Windows and Linux too, as well as Android. A very versatile tool.
- pjmlp 13y agoThe thing is that while I learned BASIC in a ZX Spectrum back in 1986, I came to appreciate the Xerox PARC ideas of live coding, some of them present in current IDE environments and environments like IPython and Mathematica. Hence my remark.
- mkd1964 12y agoNo, I don't work for them but, has no one here heard of PowerBasic? it started out as BASIC/Z, the first interactive compiler for CP/M and MDOS. It was then extended MS-DOS/PC-DOS and was then published in 1987 as Turbo BASIC by Borland. When Borland discontinued it - the Author, Bob Zale, re-released it as PowerBasic. A very modern compiler with extremely similar syntax to QB (at least in the text-mode version). Comes in a Windows version as well. Both compilers are written in assembly. No runtime. Extremely small, fast executables. Supports inline assembly (mix BASIC and assembler in the same procedure). Windows version creates stand-alone executables or DLLs. Supports user-defined marcros. Regular Expressions. Supports both OOP and procedural style programming. Too many features to list here. Complete manuals available for free on their site (powerbasic.com) This would be a good BASIC to start a kid off with. Check out the forums. Especially the source code forum. There are some very talented people there. Not free but very reasonably priced compared to MS products.
- pjmlp 13y agoMy first programming language! ZX Spectrum 48K BASIC back in 1986.
- acheron 13y agoAs for many of us I'm sure. For me, it was GW-BASIC on an XT clone around 1986 as well.
- Jare 13y ago48K eh? Ahh rich kids... :) What blew my mind shortly after getting my hands on a ZX Spectrum was to find out that most computers of the time (Dragon, Oric, Apple, Commodore, etc) had significantly different versions of BASIC. The next thing that blew my mind was to learn that editing computer programs could be done full screen instead of line by line and that, in fact, most programming environments did not use line numbers except as visual aids.
- gadders 13y agoDragon 32, with the basic interpreter written by Microsoft. Helped me a lot when I had my final year university project in VB 1.0.
- dmoo 13y agoFirst basic used was on the oric-1 http://en.wikipedia.org/wiki/Oric#Oric-1 http://en.wikipedia.org/wiki/Oric#Oric-1 Also had the joy of VB 1.0 for work http://en.wikipedia.org/wiki/Visual_Basic#History http://en.wikipedia.org/wiki/Visual_Basic#History
- valarauca1 13y ago>BASIC was first successfully used to run programs on the school’s General Electric computer system 50 years ago this week–at 4 a.m. on May 1, 1964, to be precise. Sounds like the project deadline was May 1st. Glad software engineering hasn't changed much in 50 years.
- notacoward 13y agoThe developers actually called it "April 31" because they were supposed to ship in April.
- nhebb 13y agoShit. It's bad enough that I turn 50 this week, but I was born on BASIC day?!? Sigh.
- coldcode 13y agoLearned to program in Dartmouth Basic on a teletype in 1974 in school. Teletype = clanky uppercase only terminal that printed on paper at 110 baud and saved to paper tape. The world sure has changed since then.
- rootbear 13y agoPretty much my story as well. A teacher at my High School in 1972 had an account on a local time sharing service. He sponsored a computer club, probably unusual for the time in a High School. We dialed up the service with an acoustic modem connected to an ASR 33 teletype. I still have some sheets of the old yellow roll paper with my first BASIC programs on them.
- VLM 13y agoOn a slight side tangent a discussion of related old fads in IT might be interesting. Some eternally reoccur like a wheel, some haven't returned... yet. Whats changed since then, is more than just the syntax of if/then statements. GOTO automatic / implicit strong typing of variables (and believe it or not, a FORTRAN "feature" to change how the automatic name based typing operated resulting in eternal confusion from that day onward) Intermediate code (tokenized basic, pascal P-system, JVM). And unlike the p-system or JVM, virtually every tokenized basic was incompatible with every other tokenized basic. Line oriented program editing and its companion, the line number. I think the concept of a line number might freak out modern noobs more than the concept of line oriented editing, hard to say. To some extent, backward compatibility is seen less and less as a feature as time goes on. Your computer powers up and boots in less than a second to a REPL for BASIC. Numeric / non-humane usernames Direct access to hardware with no "OS" in the way
- wprl 13y agoREPLs are great way to teach kids about coding. For me: Applesoft BASIC (Apple ][e) -> Level I BASIC on TRS-80 -> FutureBASIC (Mac 68k) Those are the BASICs I learned before moving on to Java, C#, then JavaScript. FutureBASIC was really ahead of its time. You could drop into assembly, make direct system calls, didn't need line numbers, it supported proper functions, and it was event-based and somewhat asynchronous. For ~$300 it was a pretty big deal for Mac users at the time. I think MPW was still several thousand dollars and open source compilers were largely unavailable.
- forinti 13y agoBBC Basic (from 1981) let you mix 6502 assembly in your code. But you had to have line numbers and this caused me a bit of a headache when I got to learn Pascal. Things just seemed to be floating around. Which is funny, because Perl is now my weapon of choice.
- antimagic 13y agoHa! I'm glad I'm not the only one that found the lack of line numbers disturbing (I also went from BASIC to Pascal). It just felt weird - mostly because I hadn't yet got my head around not using GOTOs. Once I got how functions worked though, there was no looking back. There's a very good emulator of my original computer available online: http://compucolor.org/emu/ccemu.html http://compucolor.org/emu/ccemu.html It boots you straight into the BASIC REPL. There are still games that I can write from memory for that thing :D
- brudgers 13y agoDropping into assembly and making direct system calls were exactly the sort of things that were of BASIC's time. These are operations oriented downward toward the layer of Von Neumann architecture. It's virtual machines and garbage collection that are the stuff of today...and of course yesterday as well. But the reason for their popularity is that a quest for 7ever more sophisticated abstractions is the impetus behind most programming languages. It's 39 -> JMP -> GOTO that gets us multiple dispatch. None of which is to say that languages with REPL's or even only with REPL's [aka interpreters] aren't a great tool for learning...better than IDE's in my opinion...then again so are text editors, but that's a story for another day.
- markbnj 13y agoBASIC was my own personal intro to programming. First on an HP3000 mainframe while in high school in the seventies, and later GWBASIC on a Columbia luggable in the 80's. Someone... I think it may have been David Brin, wrote a great article a few years back about the lack of an ubiquitous, easy to access interpreted language that any kid with a computer could discover and begin using. I think it's a valid complaint, but probably not addressable given all the platform and library dependencies these days. Python comes close.
- Spearchucker 13y agoMy favourite language. Started with a ZX Spectrum, then did GW BASIC at school. My first job (1990) was maintaining Thoroughbred BASIC apps. Now using Visual Basic for the biggest project I've ever worked on (https://www.wittenburg.co.uk/Entry.aspx?id=0a505400-5bf6-4a6d-b107-6b4b797f33ae https://www.wittenburg.co.uk/Entry.aspx?id=0a505400-5bf6-4a6... ). In the years this project has been going I've written over 500 KLOC of VB.NET code. The current desktop app (third re-write, only about halfway done) clocks in at 40 KLOC of VB.NET code. No libraries. Just Visual Basic and the .NET framework.
- deleted 13y ago[deleted]
- bjourne 13y agoSoapbox time! Basic has a bad rep almost everywhere in the industry because it is interpreted (yes there are compiled variants), case-insensitive, optional brackets and doesn't lend itself to structured programming very well. But ask any talented developer in his 30-40:s (yes we were almost all men!) how he got started? Basic! QBasic, Commodore Basic, Amiga Basic (and Amos) etc. Here is how you put a white pixel on the center of the screen in qbasic: SCREEN 13h PUTPIXEL 160, 100, 15 That's how easy it was and what got me hooked and I still remember it by heart over 20 years later. I feel sorry for the kids starting out today with Java, C# even Python and Ruby requires more knowledge to get stuff done than what qbasic did. And you have to know about them and their packages, while qbasic came with everything you needed preinstalled with the computer. Computer programming is unquestionably much less beginner friendly today than it was two decades ago. And no, Javascript isn't the answer.
- dragonbonheur 13y agoDoes QBASIC really have a putpixel command or the pset and preset ones? You're right about everything else.
- bjourne 13y agoNope I goofed. It should be PSET not PUTPIXEL. And SCREEN 13 or SCREEN 10h, not SCREEN 13h.
- higherpurpose 13y agoWhat's your opinion on Scratch or similar kid-friendly languages?
- dragonbonheur 13y agoNo full screen - full resolution applications. As if MIT never thought beyond 320x200.
- higherpurpose 13y ago
- spingsprong 13y agoOne of the best things about BASIC in the 80s was the immediate and interesting results. Just a couple of lines and I could get colourful graphics, and interesting sounds. It grabbed my attention very easily as a kid. If I had to jump through all the hoops you have to today, there's a good chance I wouldn't have got into programming.
- lotsofcows 13y agoNot a single mention of BBC Basic. I get that Time's US-centric but it still leaves me a bit sad.
- DanBC 13y agoI've mentioned it a few times before but here's a project where a simple computer (using VGA and a PC keyboard) runs BASIC. http://geoffg.net/maximite.html http://geoffg.net/maximite.html > The Colour Maximite is a small and versatile single chip computer running a full featured BASIC interpreter with 128K of working memory and eight colours on a VGA monitor. It will work with a standard PC keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs.
- fit2rule 13y agoIn the same spirit, you should check out LOAD81 (from antirez, the redis guy): http://github.com/antirez/load81 http://github.com/antirez/load81 Really wonderful toy!
- fit2rule 13y agoI'm still using BASIC. I use it to teach my 6 year old son (and his 3 year old brother) to use computers. We have many, many solid quality hours as a team, huddled around my still-working old 8-bit machine, typing in programs, playing existing games, and so on. The old 8-bit machine is the only system in the house that I can reliably leave my two boys with, knowing they won't get up to any mischief (no Internet!) and which they can fully control, themselves. I'm constantly having the thought that its sort of a travesty that 8-bit, low-power machines like this are out of style - they're still highly useful machines. And I'm pretty sure my kids will know how to push pixels before most of the other kids in their social group even get their first XBox ..