Urs Koenig (QL) wrote:
I agree with Stephen if we talk about (complete) novices (like my children
of age 10 and 8). I will try to explain my son the basics of a computer
program by using SuperBASIC with QemuLator in fullscreen mode on our family
notebook. Some FOR/NEXT loops (e.g. FOR i=1 to 7 step 2), some
PAPER/INK/PRINT/LINE/CIRCLE calls using some variables, even some RND and
BEEPing. But I'm sure that if he gets interested in programming we will move
to a recent development environment very soon (in months if not weeks). He
will definitely ask me: "How can I program my first iPod app?"

That may be so, but only when they've actually got the programming bug.

So, I envisage the following in this case, a re-implementation of SuperBASIC, extendable but basically the same as the original, developed using a cross-platform graphics toolkit, such as QT (which runs on UNIX/Linux, MacOS and Windows and has a mobile version too, useful later, see below). In its basic form, you could even have it use the raw, whole display.

Even I like SuperBASIC very much and it was the programming language my
career started with I must say that there's no need for S*BASIC in 20xx.
Even with SMSQ/E think of its limitations like "stick with line numbers",
very limited datatypes (only the string datatype is somehow 21st century, no
32bit integers, no usable floating point format), no modularity (you have to
handle "modules" on your), no object orientation (OOP) at all, no IDE (ED is
all we have built in, no debugger, nothing; OK, you can add QREF, other
Toolkits, use QMON for S*BASIC trace/debug -> arghh, etc. pp.), GUI
programming only as an add-on (QPTR, EasyPTR, TurboPTR).

I'd disagree greatly with a lot of these arguments for people just starting out. Line numbers, although a pain for advanced programmer, do help novices think about order. Data types confuse things and make it more complex than it needs to be. Let's face it, some real-world languages don't have them as such, e.g. Perl.

In time, once the novice has grown out of the language they can move on. It's not as if we're saying to banish them.

I use Microsoft VisualBasic (VB) since version 5 (1997). Since version 4
(1996) VB superceded SuperBASIC in all aspects. OK, it took M$ - the company
which did almost all (well, at least over 50%) BASIC interpreters available
in the early 80s - more than 10 years to beat Jan Jones's design. Even I
loved VB v6 the most of all VBs, I currently work with V10 (Visual Studio
2010). As Norman mentioned before there are free editions of powerful
Microsoft packages such as Visual Studio (the Integrated Development
Environment with different programming languages) or SQL Server (the very
powerful relational database). Just try it out!
http://www.microsoft.com/express/downloads/

Eek! VB! It's almost, but not quite, totally unlike BASIC. (To paraphrase a well known quote from the Hitch-Hiker's Guide to the Galaxy.)

There are many computer scientists who would spit at the mention of the language! :-)

In my opinion there are only two drawbacks of such modern platforms:
1. (Relatively) huge packages and therefore not that easy to get an
overview.

Actually, the biggest drawbacks are complexity. It often takes a number of weeks learning the language and especially the overly complex library calls and hundreds of lines of code just to print "Hello world!" This is a major turn off for the teenage absolute novice.

If you can't look at a manual and get fun things happening within 5 minutes you've lost the battle and the war.

2. BOOT up times like we love from the good old Sinclair computers (power-on
until first statement written less than 10 seconds) are not possible, not
even with latest CPUs, gigs of hyperfast RAM and superfast SSDs (solid state
drives).

Yes it is. OK, the BIOS will be the slowest part these days. After that the boot-loader will take milliseconds, the kernel boot time can be 5 seconds and if you then jump straight into a BASIC interpreter program it's again milliseconds.

Remember, the majority of the time taken to start modern OSs is not the OS itself, it's the stuff above the kernel. e.g. daemons, network configuration etc. etc. Under Windows the majority of the time is loading and indexing DLLs and scanning/updating the registry (and doing huge numbers of tiny read and writes, bogging the system down in I/O waits).

Steve
--
---------------------------------------------------------------------------
Nostalgia isn't as good as it used to be.

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to