On Fri, May 3, 2024 at 2:48 PM Liam Proven via cctalk <cctalk(a)classiccmp.org>
wrote:
I failed _O_ level mathematics, and to get onto a science degree
course, I had to do another 6 months of remedial maths just to get me
through the exam. To be told "easy if you did the A level" would have
made me angrily walk out in disgust if it wasn't a mandatory course.
I sucked at math pretty much throughout school. I took first level
Calculus three times before I finally got my mind wrapped around the
Fundamental Theorem of Calculus (with a little help from LSD in showing me
infinity). However, it never prevented me from writing rather involved and
complicated computer programs starting in my teen years. For college, I
decided I was either going to get into MIT or not go at all, and when I was
told that my math grades would not cut it to get into MIT, well then that
settled it. I somehow managed to be successful in spite. Thus proving to
be complete horseshit all the educators that said if you want to get into a
computer career you must be good at math.
That worked. It took me a weekend and was no direct use because at the
end of about 32-33 hours of work, I could do a
chi-squared test by
hand. So, indirectly, it achieved its purpose.
Very nice. By implementing the algorithm in the computer it planted it in
your mind. Great story to illustrate how great a mind-building tool the
computer and programming is.
It could be said that my math skills were really lacking in the area of
logic, in that I did pretty OK in Algebra 1 and 2, but barely passed
Geometry as I could never get proofs right, and I ended up with a D in
Trigonometry (but there were extenuating circumstances with that). It
could have been because I hated homework and studying and Geometry and Trig
stuff requires a lot of memorization. But I noticed that when I started
going back to school in my 30s towards earning a degree my years of
programming had structured my mind to where I could break down problems
into little steps and then solve each individually until I arrived at the
final answer, much like how one writes a computer program. About a dozen
years ago I took up law as a "hobby" and threw myself into that. It turns
out programming and law share very similar constructs: a pleading is like a
program; the rules of court are the syntax of the basic "programming
language" in which the pleading is written; case law are like library
calls; and the court is the computer. You submit your program/pleading to
the computer/court and it runs...or not, and crashes. And just like a
computer, I started to figure out ways that the court can be hacked ;)
Anyway, I noticed that when I went back to recreational 6502 programming a
few years ago, not only did everything come back to me relatively quickly
from my teens, but I found that I was just much better at assembling code,
which I attribute to my law hobby. It then began to seem that my practice
of law got better after I spent long periods writing 6502 code. Each lent
themselves towards helping me get better at the other. It was awesome
synergy.
But the point is: not everyone can do "high school algebra." I do not
know what age "high school" means to you but
very basic secondary
school algebra was _extremely_ hard for me and took years of real work
to master.
...
"It's as easy as algebra" is reinforcing
my point about this stuff
_not_ being easy, natural, obvious, helpful, convenient, clear,
meaningful or useful for most people.
I think it has more to do with just learning the construct, or the
language, of the subject. Once you get over that hump, one's basic
intelligence then fills in. Every subject has its particular jargon and
principles, and having basic competency in that subject is really in
memorizing the jargon and principles so you can properly "speak in the
language" of the subject.
I wrote an article about 3 new BASIC releases for its
60th anniversary:
https://www.theregister.com/2024/05/03/basic_60th_birthday/
Do go read the first comment.
It shows how BASIC was immediately apprehensible and memorable in a
way that APL never would be.
It was hard going back to BASIC programming after programming in C and
other higher level languages for some many years, but once I got back into
it (Applesoft specifically) and remembered all the structured programming
techniques my high school computer science teacher forced us to learn, and
then applied my years of subsequent experience in crafting and organizing
programs, the limitations became easy to overcome. It's fun to overcome
the limitations of a simple language and still make a good program, and
where I need some specific functionally I desire, Applesoft is extensible
through the & "command", which is more of a machine language bridge in
that
the BASIC interpreter will jump to a user-definable vector at which you put
your custom token interpretation code. For example, I made an entire low
resolution graphics library that supports sprites and background animation
with masking and other advanced features and implemented it by re-purposing
existing BASIC command tokens for speed of processing. Yeah, I'm an adult,
enjoying programming in BASIC, but it's fun.
Those versed in APL would just as readily apprehend and remember an APL
program, same as those versed in BASIC.
But for one who never did any sort of programming, it's probably all Greek
to them.
(My apologies to the Greeks.)
Sellam