Linked by Kroc Camen on Mon 21st Jun 2010 19:49 UTC
General Development "For three years [my] son Ben, and I have engaged in a quixotic but determined quest: We've searched for a simple and straightforward way to get the introductory programming language BASIC to run on either my Mac or my PC. Why on Earth would we want to do that, in an era of glossy animation-rendering engines, game-design ogres and sophisticated avatar worlds? Because if you want to give young students a grounding in how computers actually work, there's still nothing better than a little experience at line-by-line programming." Looking beyond the immediate fear-inducing acronym BASIC, this article delves deeply into what it means to simply be in control--via a basic understanding of under the hood--of your own computer, and how our whiz-bang world of technology today is failing to bestow this understanding on this generation of would-be hackers.
Permalink for comment 431503
To read all comments associated with this story, please click here.
Quag7
Member since:
2005-07-28

I'm in a situation where I am not a developer, but from time to time I need to extract data and generate reports from massive logs, or automate tasks or do math.

I grew up, like many here, with a Commodore 64. I ran a BBS for awhile back in the 80s on C-Net, which most Commodore people will remember if they dialed out. The BBS software was written with the lower level routines in some kind of compiled format (maybe assembler?) and whatever could be done in BASIC was done in BASIC.

This allowed for extraordinary extensibility and modification of the code. As such, almost everyone who wanted to run a BBS learned Commodore BASIC as a matter of course.

I think what I learned is still applicable today. If I decided to be a professional programmer with my lack of formal training and skills, professionals would be right to scoff, but you know what? My code *works*.

It may not be the fastest code. But it is well commented, even if amateurish. I have several dozen scripts (mostly Perl) I've written that I use daily, and all do the job they were written to do.

I think if you're going to be a professional developer, you have a whole host of separate concerns. But I think one thing we have lost is the idea that you can be a non-technical person - hell, you could be out of the workforce entirely - and still benefit from knowing how to automate tasks in whatever language works for you.

And I say this because I was maybe 12 years old when I learned Commodore BASIC from the manual that actually came with the machine. And I've been automating tedious tasks ever since. You could own a floral shop and probably find ways to save yourself time if you just knew a bit of programming or scripting or whatever you want to call it.

I've long observed that if you encounter an inefficient, repetitive user behavior which could be automated away, and you did some math with someone who is not computer savvy, calculating that:

8 hours to learn enough of PHP or Perl or Python to automate a task, plus another 8 to actually write it = 16 hours.

If over the course of the year, the person wastes 100 hours manually repeating the task, they will still look at the 16 hours it would take to automate it as an unreasonable, insurmountable time investment, and choose to waste the 100 hours instead.

This isn't always true of course but it is much of the time.

This has never made sense to me, especially when you consider the value of the 8 hours spent learning a language, which will be directly usable in the future (by itself, or to be built on) to automate other tasks away.

I just kind of wish basic programming was part of any office's universal skill set, especially when I note that in any company I've worked for, there just aren't people employed for the purpose of automating away individual employees' annoyances. Developers anywhere I've worked are involved in building and maintaining foundational enterprise applications. If you're lucky and you make nice, maybe you can get one to do you a favor, but that's about it.

There is too much criticism of entry-level languages by professionals. It's like being a Formula One driver and deriding Vespa scooters as "underpowered." Languages serve not only different needs in a programmer's toolset, but they also appeal to different populations.

As much as people freak out every ten minutes about PHP, there is nothing wrong with an amateur with a personal website dropping a simple static include("footer.html") statement in the bottom of an HTML page. That's what it's there for.

I would love to see a return to the idea that every kid should learn to program, and I see no point in BASIC anymore. Is basic Python or even Perl much more complicated than BASIC? I don't think so. It's also relevant, and portable, and cross-platform which BASICs I grew up on were not.

At the company I work, the only language I can be positive will be either installed or available on all machines is Perl.

In the 80s, we had to take computer programming classes, in labs full of Apple //es. It would be nice to see something similar, maybe with Python, integrated into math classes, for all students.

Reply Score: 2