Are You Keeping Up with the Commodore?

Started by Mr. Analog, November 16, 2006, 10:05:23 AM

Previous topic - Next topic

Mr. Analog

This blog makes a case for the venerable Commodore 64 as a learning platform for the 21st century.

Are You Keeping Up with the Commodore?
By Grabthar's Hammer

Lazybones

Interesting.. However I am sure there is still plenty of education software for modern PCs.

Hmm brings back memories, I made a math tutor type program in high school for my computer course.

Darren Dirt

#2
Quote
In addition, I hope to eventually teach my child BASIC. I learned BASIC when I was 8 years old, and my own son is only a year and a half away from that point. I?m hopeful that he?ll be able to grasp the concepts of old-style BASIC. At his age, complex languages like C and Java are too abstract to be of any use. Yet running a BASIC interpreter on a modern machine only results in the student becoming distracted by the OS around them. The older machines had a certain ?feel? to them that is difficult to replicate on a modern, multi-GHz machine.

In part, that feeling may have been caused by the slowness of the machines. Not only did the BASIC instructions execute slow enough for humans to keep up with, but the programmer was free to peek and poke at memory without concerns that he would accidently corrupt his OS or change a permanent setting. In fact, the Commodore 64 could not be harmed by any program as long as the disk drive was disconnected. The lack of permanent storage meant that a simple reset would bring the system back to its default state.

EXACTLY.

I tried to teach my son the basic concept of variables and looping, but since I did it in Javascript in a browser within a Windoze machine there were all these extra "layers" that somehow in a way kept him at a distance from the goodies, that I recall in my Atari 400/800 and ST days, wasn't an issue. I still have some of my old "Peek and Poke" books, and a box with an Atari ST and dozens of floppies, and a *working* 20MB SCSI hard drive. On those floppies were a few neat games I had thrown together just for fun, using bitmap setting and getting that is pretty much impossible nowadays without advanced C or Java knowledge.


The next generation of developers are gonna be either Macromedia experts, or Visual Studio indoctrinated, methinks. Either way, the low-level assembly concepts that most of us just ended up learning "cuz it was cool" might be more and more rarely understood...


Hope-filled article, btw -- educational games CAN be fun for even TODAY'S kids, even if text-heavy without cartoon rabbits and whatnot 8)



Quote
Addendum
As I ready this article for publication, I find myself reacting to the words I wrote above. You see, between the time that I wrote them and now, I offered my son to learn BASIC as a lark. Given his age, I didn?t expect that he would progress farther than a simple ?Hello World? program. Yet again, he surprised me.

In the few sessions we?ve had, he?s already learned about line numbers, variables, and user input. The programs are simple, but the lessons appear to be effective. He keeps talking about how he?s going to write the next Mario game once he knows how to program.
lol, that's it, I'm going to dig thru my crap and see if I can find those trusty old "Compute!" magazines with all the "type in this code" articles (including some pretty damn cool games!), and a decent Atari ST emulator (still have my uniquely wonderful structured-language interpreted-but-with-compiler GFA BASIC hiding somewhere...)

Ah, such fond memories of trying to fudge the Syntax Proofreader thingie, and changing a value of 254 to 255 in the assembly code "just to see what happens" ;D
_____________________

Strive for progress. Not perfection.
_____________________

Mr. Analog

A good place to start might be Java, you can write some really basic stuff and compile & run it with DOS.
By Grabthar's Hammer

Tom

I wasn't aware there was a Java VM for dos :o
<Zapata Prime> I smell Stanley... And he smells good!!!

Lazybones


Shayne

Why not just download C# Express?  With a drag and drop interface they could see results in seconds, but the more advanced stuff still requires logic.  I cant see how teaching an antiquated language is useful.

Tom

I think its very usefull to learn how computers work FIRST, then how to do WYSIWYG programming.
<Zapata Prime> I smell Stanley... And he smells good!!!

Lazybones

Quote from: Tom on November 16, 2006, 08:23:38 PM
I think its very usefull to learn how computers work FIRST, then how to do WYSIWYG programming.

A) Knowing  how to make it do what you want in an efficient time saving manor allows you to get paid.
B) Knowing how it works, lets you find more efficient ways to do "A" but if you only know "B" you won't be employed long, but it can be a fun hobby.

Tom

Knowing how it works lets you find the source of possible problems lots sooner than if you had to hop around and guess.
<Zapata Prime> I smell Stanley... And he smells good!!!

Lazybones

Quote from: Tom on November 16, 2006, 08:33:57 PM
Knowing how it works lets you find the source of possible problems lots sooner than if you had to hop around and guess.

Aww but that is where the wonder of debuggers come in where you can setup a watch to see the value of a variable change and step line by line through your code.

Modern editors allow you to toss together the GUI elements of an application effortlessly, yet you still need to write the code that does something with the information.

Knowing binary, how write a sort algorithm, has little place in the business application world, where you use a database to store, sort and retrieve your data. Instead you need to know how to write efficient SQL statements, or you spend your time figuring out how to most efficiently balance client side and server side tasks.

Now if you are a game developer, and you are the one writing the engine, knowing the guts is very important, however such high performance programing jobs are few and far between. Most of the work it seems is in storing, sorting and presenting business data, a task that is heavily separated from the hardware it runs on.

Shayne

How does BASIC teach you how a computer works?

Tom

QuoteHow does BASIC teach you how a computer works?
How Doesn't it? You have to start PEEKing and POKEing to get any sort of decent performance.

I still believe that knowing WHY something is wrong, is about 90% of knowing HOW to fix the problem. Course if all you do is managed C# or Delphi with no pointers, I suppose you can get away with not knowing how computer memory works, or why the stack is important. Knowing binary is deffintely not important, but knowing the binary operators imo is, at least to C/C++ programmers. I don't doubt that a DBA won't need to know or care about them.
<Zapata Prime> I smell Stanley... And he smells good!!!

Shayne

Why though?  With modern languages handling things like memory allocation and garbage collection why should we be bothered to continuously reinvent the wheel?

I turned out alright as a programmer and I have never seen a single line of BASIC.

Mr. Analog

Quote from: Shayne on November 16, 2006, 08:20:47 PM
Why not just download C# Express?  With a drag and drop interface they could see results in seconds, but the more advanced stuff still requires logic.  I cant see how teaching an antiquated language is useful.

The way I see it is that in a line or two you can teach someone the basics of logic. If you drop someone into an integrated IDE they will have a million questions about what's going on that do not focus on the core of what programming really is; giving commands to the computer.

Teaching a child how to write I/O, assertive statements and looping structures I think is far more beneficial than showing them how to use the features of a particular language / IDE wizard tool. At least that's where I got my start in, and love for programming.

Different strokes for different folks I guess.
By Grabthar's Hammer