Happy Birthday, BASIC, you wonderful language you!

I remember when I was ten or so years old. I asked my father a question that changed both of our lives. My Dad was an engineer. He was also what we would consider now to be a nerd. A geek.  Above all, though, he was very smart and he was MY Dad.  He could build anything out of what seemed to be random little bits of stuff.  To a ten year old, it was akin to magic.

So, what was that question?

“Dad, what’s a computer and how does it work?”

He didn’t give me a whole answer right away. If I remember, it was something like ‘a machine that can think, sort of.’ ‘Lets find out.’

Weeks later, he started getting packages. Those packages contained the magic wand, magic dust and … paper. Manuals, to be specific.

Out of those packages, my Dad built the Mark IV Mini-Computer, as written about in Radio-Electronics Magazine.  Now, this computer was primitive, even then. Something like 128 bytes of memory, which he expanded to 1K or something like that.  Anyway, that computer didn’t  answer our question.

So, he built another. And another.  That third computer, based on the Signetics 2650 microprocessor, was THE ticket.  This computer, had lots of memory (4K?) and, most importantly, had a keyboard and tv like screen. Oh, this thing called ‘Tiny Basic’.

I was hooked.  I eagerly soaked in all I could about this ‘Tiny Basic.’  I quickly learned that there were LOTS of Tiny Basics and even something just called ‘BASIC.’  So, what was this ‘BASIC’?

Simply put, BASIC was (well, IS) a computer programming language. And, during the 1970’s, it was pretty much the only way someone like myself could interact with the computer. It was easy to learn and use. I was typing in programs from my Dad’s books and magazine, having to alter them to work with the primitive version I had to use.  One day, I decided to start writing my own.  Finally, we had our answer. Collectively, we figured out what these computers were and what one could do with them. My Dad tackled the hardware, I tackled the software and, in the process, laid the foundation for my career.

And, it was all because of BASIC.

BASIC, developed in 1964 at Dartmouth University by John Kemeny and Thomas Kurtz. BASIC was designed for teaching the fundamentals of programming and to make the computer more accessible to non-programmer types.  It slowly grew out of Dartmouth and, by 1970, had spread all over the country.  It gained so much popularity, that it caught the eye and wrath of many professional who held it high in disdain. No matter, the genie was out of the bottle.

In the early 1970’s, when microprocessors became affordable and home computers took off, others were writing dialects of the language to run on these tiny machines.  The most notable being Micro-Soft Basic, co-developed by Bill Gates and Paul Allen and sold by MITS for the Altair computer. Unfortunately, it was priced so high that a black market for the language began, prompting a whiny ‘don’t copy our software’ letter from Bill Gates.  Whiny, but necessary. Software piracy was a huge deal at the time.

Around 1975-76, another dialect of the language came out and this one was affordable. Tiny Basic was a grass roots effort to develop the language so that it would work in very small memory footprints and on pretty much any computer.  Numerous version were released by companies and individuals.  Tom Pittman’s Tiny Basic was probably the most notable, followed by Lawrence Livermore Labs.  Oh, and the one that Steve Wozniak wrote for the Apple ][.

Kemeny and Kurtz hated the versions of their language for microcomputers, especially those of the ‘Tiny’ variety and anything out of Micro-Soft.  See, Micro-Soft, soon to be Microsoft, supplied a version of the language for pretty much all of the big commercial home computers: Apple, Atari, Tandy, Commodore, TI, Mattel and more.  Kemeny and Kurtz wanted to reel it back in with ‘True Basic’. Unfortunately, they discovered it was not that easy to do.

As time went on, however, the language grew and became a powerhouse for professional developers thanks to the efforts of Microsoft.

Microsoft included QBasic in its DOS product. They also had QuickBasic, which could compile code into true executables. For professional development, they had the Professional Development System, sort of a forerunner to todays Visual Studio product, only it was DOS based and character mode.

In the early nineties, they introduced Visual Basic, a Windows programming environment.  Shortly afterwards, Visual Basic for MSDOS was released. I had the opportunity to develop with this version for about two years. It was such a difference from what I was used to: object oriented and event driven. Suddenly, I had to think in terms of USER control of the application and not vice-versa.  It really opened my eyes as to how truly interactive computers could be.  Its overlapping text mode windows, mouse and relational database allowed me to create some really nice front end software for the video rental chain that employed me. It was a treat.

VBDOS didn’t live long.  Time and technology quickly outdated it.  VB for Windows evolved.  VB6 became THE development platform.  VB.NET was the future. Or, so we thought.

Microsoft’s run in with Sun Microsystems over Java led to the creation of C#: a modern programming language that was modeled after java with roots in C.  Interesting combo, but it wasn’t going to go anywhere. Microsoft was just trying to rattle Sun’s chains. That was my thinking. Boy, was I wrong.  Soon, the call for C# was on the rise while VB waned.

While BASIC no longer has the draw or the need, it is still there.  There’s a growing rank of people who are using as a hobby language again.  VBScript and VBA continue to dominate in the scripting arena. You really cannot beat it to do quick, repetitive tasks. It is great for automating mundane things.

And, Tiny Basic has made a come back of sorts. It is used on microcontrollers like the BasicStamp, Arduino and the PIC family of controllers.

While many probably wished it had died fifty years ago on May 1, it is far from death. In fact, this post is a celebration of not only its birthday, but the life it gave to an entire industry and its active future. 

I can’t say how much I owe this terrific language, it is truly immense. My life has been driven by many things, but I’d say BASIC was right up there with my parents and family as the most influential thing in my life.

Happy Birthday, BASIC!

Advertisements

BASIC Stamp, VB.NET and LED’s=a great Starship Simulation

sttrk2While taking a break from my XGS PIC Tiny Basic project, I’ve been experimenting with my Basic Stamp Homework board.  While playing around with the seven segment LED counting circuit, I realized that I had a pretty nifty little computer that could interact with software on my Windows computer while also making something happen on it, something that interacts with the physical world. Like lighting up an LED or moving a servo.  That got me thinking about interactive smart games.

While pondering this, I was also looking for a small, Star Trek game that I could adapt as an example game for my XGS PIC Tiny Basic project.  Suddenly, I remembered an article in an old Interface Age magazine that outlined a very complex starship simulation. In the article, the author wrote about networking several microcomputers (it was a late ‘70s magazine) that would each run part of the simulation and one ‘central’ micro would bring it all together. Hmm…Star Trek, BASIC Stamp, Windows…

So, I whipped up a two LED circuit (ok, I ‘built’ it from the book) with a red and a green LED.  I wrote some simple code to:

  • light up the appropriate LED based on the ‘ship condition’
  • search for the nasty Borg (I updated the game)
  • alert the Windows computer when a Borg cube was ‘found’
  • the Windows computer displays the Borg threat on an Next Generation style screen
  • do not much else at the moment.

Now, when I’m done with the Tiny Basic project, I’m going to explore this game a bit further. Imagine having several of these Basic Stamps connected, each running, say, a borg simulation, the ships computer or even another alien species hunting both down. You could get quite elaborate and since each Basic Stamp would be dedicated to a specific function, you only need to worry about communicating with the Windows computer and that is something that the Basic Stamp does very well.

An enterprising soul (hmm) could build a Next Gen looking housing and mount switches, LED’s, etc. for an even more engrossing game.  The possibilities are endless.

Slow day at ZDNet? They don’t think the Raspberry Pi is a real computer

RaspPiBefore I begin my rant, please take a moment and read this post: How I spent almost 150 on a 35 computer.  Go on, I’ll wait.

Read it? Good.

OK, now on one level, Mr. Hess is correct: if you do not already have spare keyboards, mice, SD cards, etc., then, yes, the Pi WILL cost you more. BUT…on every other level, he wrong and wrong by a long shot.

First, lets get this out of the way: NO MATTER WHAT IT COST, it is still a computer. It fits every definition of a computer. It has input. It has output. It has a CPU. It has memory. It is programmable.  What it does not have, and the Foundation NEVER claimed that it did, are the PERIPHERALS that make it usable for humans.  The fact that it does not come with a monitor, keyboard or mouse does not disqualify it for a computer. Hell, if it did, the Apple Mac Mini would fail that definition as well. When I bought my Mini, I had spend almost another $100 JUST TO MAKE IT USABLE, and that did not include a monitor, which I already had. If I had to buy a monitor as well, the Mac Mini would have been nearly $300 more, at which case, I could have purchased a sweet Windows laptop. (Which, in hindsight, I should have done.)  So, if the Mini did not come with anything other than a power cord, does that disqualify it? No.

Now, Mr. Hess works in a very large datacenter with, presumably, some very large computers as well. I’m sure that not all of them have keyboards, mice and printers attached.  They very likely also lack monitors.  The datacenter in my former employer’s satellite office is full of computers that do not have anything other than network gear attached.  They are still computers.

Back to the Pi.

Yes, I will agree that you do need to spend more on it if you do not have everything. My Pi cost me right at a hundred dollars, but that is because I purchased a Motorola Atrix Laptop Dock and made the Pi a laptop. I also had to buy a special HDMI cable to connect it to the laptop dock. However, if I only used one of my small televisions, it would have cost me ten dollars more for the WiFi dongle I bought. I already had a few, but I wanted one of those tiny ones that do not stick out.  So, ten bucks more. I wanted the sharp HDMI display and integrated keyboard/mousepad that the Atrix Laptop Dock had, and I do not regret it.

And that dongle brings me to another one of Mr. Hess’ invalid points: the USB.  My Pi has a keyboard, mouse and WiFi and all are USB. To be fair, one of the Pi’s USB ports is taken up with the Laptop Dock, which includes two additional ports and the keyboard and mouse are built in, but are, nonetheless, USB. USB hubs have gotten very small and would work well on a Pi.  My desktop computer needed two hubs for all of its peripherals.

I have yet to acquire a computer that did not cost me more money a short time after purchase/acquisition. EVERY PC that I have purchased has resulted in a trip back to the store to purchase something additional.  Hell, the iPad cost me almost twice as much when you add in the extra power cable/charger, keyboard dock, camera kit, cases, Bluetooth keyboard,etc.  My Kindle Fire, which is not expandable, at all, still cost me extra since I bought a case and software.  My Asus Windows 8 tablet cost nearly a hundred bucks more since I had to buy a huge SD card and an external bluetooth keyboard.

I don’t know if Mr. Hess had nothing else to write about, or if ZDNet was just having a slow day, but this piece of drivel is just embarrassing for them.  Clearly, Mr. Hess does not ‘get it’.  The Pi and pretty much every other computer like it (including the awesome little Basic Stamp next to me right now) are for educational, hobby and other types of development. They are not meant to be used like a $299 computer you buy at Wal-Mart. Although the Pi is just as capable, though a bit on the slow side.

Ultimately, his post is his opinion and he is free to share it.  The problem, though, is that someone who may not know any better may not consider the Pi now because this man doesn’t think it is a computer. The Pi is perfect for young and old alike to learn the fantastic world of computing.  Once they are comfortable, they move on and pass the Pi to someone else.

I wonder what he thinks of the millions of computers you could buy in the late 1970’s through the very early ‘90s. Most of them lacked monitors, mass storage, some did not have keyboards and most did not even have a gui and, thusly, did not need a mouse.  I don’t know, I loved my TRS-80 Color COMPUTER.  All 32k bytes and 16 colors of it.

Oh, I almost forgot…appearing with Mr. Hess’ post…I saw this.

It’s the BASIC Stamp!

IMG_2395I was at a local Radio Shack store today and came across a sweet little deal on a BASIC Stamp experimenters kit. Called BASIC Stamp Homework, this little gem contains the BASIC Stamp 2, serial to USB, a prototype board and several bags full of parts, including photocell, resistors, old school seven segment LED, servo and more. 

The BASIC Stamp microcontroller, unlike other similar controllers, uses a flavor of Tiny Basic instead of something like C.  This makes it a good candidate for teaching both programming and electronics to kids and adults. The included book is easy to understand but does not talk down to those who may be experienced and just want experiment with microcontrollers.

In the little bit of time I’ve played with the kit, I was able to program the controller to interpret the amount of ambient light and flash each outer segment of the seven segment display at a rate that corresponded with the amount of light the photocell received as well as make the display count to ‘F’ in hex.  Simple, but oddly satisfying.IMG_2394

When my XGS PIC Basic project is complete, I’m definitely coming back to the BASIC Stamp. I have some ideas that this will be perfect for trying out.

The kit retailed for $99, but was being clearanced by Radio Shack for $29.95. You may or may not find at your local Shack. (Radio Shack, by the way, has a really nice line of do it yourself little kits and a full line of Arduino, Propeller and BASIC Stamp kits, sheilds and parts.)