

Slow languages battle across time - jacquesm
http://prog21.dadgum.com/52.html

======
SeoxyS
Doesn't seem like a fair comparison of the language implementations, since
Python is running on modern hardware, and BASIC isn't. It'd be more
interesting to run a BASIC implementation from 80s on a modern CPU and compare
that with Python today.

I'd be curious, also, to take an benchmark of a program written in C in 1980,
and compare it to Python today. I wouldn't be surprised if the slow Python
version ran faster, simply because of the faster CPU. This would completely
contradict the author's point.

~~~
luddypants
Yeah this article really says nothing interesting about the languages. The
BASIC timings are from 48K Atari 800 system and the Python timing are from
some unknown modern system. Not sure what the point is...

~~~
jacquesm
The point is (in case that wasn't obvious, apparently not) that the _real
world execution time_ of that program has improved more than 5 orders of
magnitude (decimal ones at that).

So stuff that we'd be waiting for for a couple of days in the 80's can be done
in a few seconds now. Of course that also means that we're generally much less
aware of where the inefficiencies are until something really grinds to a halt
but still, it's absolutely amazing to me even today that digital circuits can
run at the speeds they have and that we can afford to run pretty numerically
intensive stuff in interpreted languages and not bat an eye when the answer
pops up in under a second.

2 MHz looked pretty good back in the day.

The computer I worked with most as a kid (besides the TRS-80 and the 'Dragon')
was a BBC micro, it had an expansion bus for - no kidding - a _second_ 6502 so
you could have true parallelism. That meant you only had to wait for a day
instead of two if you were taxing the machine and had something that was
compute bound.

------
jejones3141
Guess I'll have to get my CoCo 3 back up and running so I can see how long a
BASIC09 version of the sieve takes. That would be running on a (NTSC color
burst frequency / 2) MHz 6809 rather than the Atari's 6502, and, unlike the
usual "gutter BASICs" of the era, has integer and Boolean types; also,
although you can use BASIC09 interactively, the code is compiled to an
"I-code" virtual machine language to be run.

Ironically, The Fine Article from which the BASIC times are taken is one
reviewing Action!, a compiler/IDE of sorts for a structured language for the
Atari. It has an Action! version of the sieve, and cites a run time of 1.5
seconds, rather faster than 324 seconds the Atari BASIC version takes.

Yes, Moore's Law and all that... but there was more to computing in those days
than gutter BASIC.

~~~
jacquesm
Basic09? Wow, that's the luxury version. The BASIC that came with the regular
CoCo was simply microsoft basic ported to the 6809, nothing so nice as
compilation.

