BASIC History: Kemeny & Kurtz
erco
Posts: 20,256
Good article on the origins of BASIC at Dartmouth. Andy Bernard (of Cornell) would be jealous!
http://www.i-programmer.info/history/people/739-kemeny-a-kurtz.html
http://www.i-programmer.info/history/people/739-kemeny-a-kurtz.html
Comments
+1
+1
Sounds silly given that doing anything interesting in BASIC is all but impossible.
Of course things improved with Microsoft's Visual Basic and such. But they are not children of BASIC as much as they are children of ALGOL.
-1
On applications where speed doesn't matter, imagine having twice the battery life.
Heater, I have said this before: Parallax is an embedded control company. Do you notice how the Propeller was designed with concerns about determinism, not database programming? If you go to learn.parallax.com, there's robots and stuff, not cloud services.
-1
Do those performance BASIC compilers of yours build for general computing platforms?
So if the platform DID come into play, I guess it would have to be Stamp or Propeller.
Ouch! Got some down votes there.
What I said was "..doing anything interesting in BASIC is all but impossible"
Well, has anyone tried to write an expression parser or tree traversal algorithm in BASIC?
I mean good old Dartmouth BASIC. Not the newer BASICs that are children of ALGOL.
The_Master, Please, I am not a spring chicken web developer. I have spent a good chunk of my life creating real-time systems. Starting on the first 8 bit microprocessors. Even punching our code into the ROMs in hexadecimal because there was no assembler available.
Imagine how hard it is to get four Intel 8085s to work together with shared RAM. A Propeller at that time would have been great! Hmm...You might have to specify what BASIC you are talking about. There are so many. In my experience it's hard to beat a C compiler even writing assembler by hand. Almost never worth the bother.
http://www.i-programmer.info/history/people/739-kemeny-a-kurtz.html?start=2
Just above the pic of the vanity plate
You mentioned that you were once in business for yourself, I have been since 1987, thanks to Gates' QuickBasic. By 1989, I was turning-over > $800K, 1993 was $7M.
I hired two REAL programmers (from Westinghouse) who both worshipped their K&R bibles and it was agreed that they would be allowed to re-write the code in C. It never happened because once they started to work in MS-PDS 7.1 (professional QuickBasic), they realized the possibilities such as not having to compile-link (threaded p-code) until after debug.
I skipped VB in favour of PowerBasic.
Business is booming for me and my programming is ALL Basic + a small amount of asm for the deterministic stuff.
When BASIC was the thing, think C64, Sinclair, etc it was more like: Then run out of the store that was demoing such machines.
Kids learn fast.
Ah, happy times.
Despite my downer on BASIC, David, you are right. For that first introduction to even the idea of programming BASIC works just fine.
Regardless of the landscape of languages today, BASIC had a profound impact on spreading an interest in programming and home computers. As a one-afternoon lesson, it's still a great way for tweens to learn the basics of coding.
I don't think Gates would really believe he could code DOS or an applications program in BASIC, but he was a champion of the language, having written a version for the Altair back in 1975. It's what prompted his now-famous anti-piracy plea. He made sure it remained prominent in PC/MS-DOS. Microsoft still offers Small Basic, which is pretty neat for teaching kids. It includes a turtle object similar in function and design as that in Turtle Logo.
You could use Goto if you wanted.
The few platforms decades ago that used line numbers for Basic also used them for other languages. Line numbers definitely aren't what defines something as Basic.
"Kids today" who think of 'Basic' might think of the Basic Stamp, or VB, and have no idea what those line numbers are. Time to enter the 80's, dude.
BASIC always stayed a very safe language, with thorough bounds checking and immune to things like buffer overflows. Strings did not have to be declared for length and elaborate manipulations were both safe and efficient. In the 80's garbage collection glitches were still apparent but at some point in the 90's Microsoft managed to make them invisible. VB3 was still a token interpreter that couldn't compete with "real" compiled languages, but VB4 sported a surprisingly good compiler. For rapid application development it ran laps around C, and ruled the GUI world until Microsoft stabbed everyone in the back with the thoroughly incompatible dot-Net which was not so much BASIC as C# with different keywords.
BASIC might have faded in the 90's except for VB3 reducing "hello world" for Windows from several hundred lines of code back to one line. And BASIC was the perfect language for that seduction of the application programming community. Even bloated up to automate the making of GUI programs and handling of other common business logic, the basic efficiencies built into the language made it perfect for those early machines to deliver a graphical user interface.
I still use VB6 for most PC development; as long as you avoid glitchy plugins (I code everything to the API) it's stable, efficient, and runs on everything including Mac and Linux via Wine. Array functions aren't as advanced as Javascript's but are much faster and predictable. Megabyte strings are handled without obvious GC glitches. The time and date functions are among the best ever deployed. The byte codes are no more and the compiler is fast, the compiled code is fast, and it's a mature product that hasn't given me a buggy surprise in many years.
VB is indeed very bloated compared to legacy BASICs, but that's because it runs on fantastically powerful systems where that bloat isn't costly. And it is still a recognizable relative of legacy BASICs. You can easily transition back and forth, because when you strip out the features in VB that obviously can't work on a VIC-20, what you're left with is pretty close to VIC-20 BASIC.
Currently I have to be prepared to roll up my sleeves and deal with Pascal, C, C++, Go, Java, Javascript, Python, PHP.
For fun I mess with the Propeller and Spin.
Good grief, what more do you want? That is a funny thing. In 1974 when I was first introduced to programming we were shown BASIC and assembler. Guess what, BASIC had line numbers, the assembler had actual labels.
Admittedly there was FORTRAN which I think had line numbers, and I know nothing about. But by 1976 we were into ALGOL which did not. Neither did other languages you may have heard of, like C. Actually, I think it does.
When you get away from line numbers you are recreating the ideas of ALGOL and it's descendants. Not following the BASIC lineage. Please don't be so rude as to call me "dude". I'm probably old enough to be your grandfather.
In the 1980's we had things better than BASIC. One of them was PL/M.
You've obviously never had to edit BASIC programs on a KSR33 Teletype terminal.
-Phil
The article also compares with today's general computing uses only. Ending with references to BASIC being ideal as a teaching aid for the uneducated. I'm happy to say that's exactly how I got started. There was no-one providing any leasons at school, I taught myself on the only computer the school had. It was a CPM machine that had a floppy disk with BASIC preconfigured to boot straight to the interpreter. BASIC was all I used, I never knew what CPM was until years later.
"Around 1975 or so we ceased using line numbers at Dartmouth, and what a relief"
Thomas E. Kurtz
Co-inventor of BASIC
That's over 4 decades ago!
-Phil
However, IIRC, the benchmarks published on this forum (can't find them) show that PropBasic is the most efficient HLL available for the Prop. Not bad for something that Bean APPEARS to have just thrown out there, how many years ago?
Presumably, C is now able to get close.
That is an interesting factoid about line number free Dartmouth BASIC that I did not know before.
Of course that change did not reach any machine I had access to up until the last year I had to use BASIC, 1976. Soon after that the world was flooded with microcomputers that came with BASIC with line numbers, Apple, Commodore, Sinclair, etc, etc. Thank you Bill Gates.
@Mickster
PropBASIC is impressive. Not sure why it's got BASIC in the name. It does not look like a BASIC.
Perhaps I should fire up my Z80 emulator for the Prop and have a play with Microsoft's 4K and 8K BASIC. For old times sake.
http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/dartmouth/BASIC_4th_Edition_Jan68.pdf
Contrast with FORTH, which was the only real alternative that could run on a similar low-powered machine without needing disk drives and such. FORTH was/is faster and more powerful, but much harder for a beginner to learn and likely to crash the computer very often during development without even trying.
?SYNTAX ERROR
READY.
-_-