Monthly Archives: January 2024

More APL funny-banana

Earlier this month the latest modifications to Dyalog APL had their annual outing. As usuall, those of us who had lots of experience with this dialect loved it. Those of us who had only a passing aquaintance with Dyalog, I am one, felt like learners without a teacher.

I remebered the flaw APL has, berzerk notation. Learning new APL features is like learning a new writing system. If you like learning new notation, APL is your thing. However, you have to motivate yourself to learn a new language principle, such as, how operators remove the need for iterators in APL. Like me, you wil have logged off after the first half-hour of an afternoon-long presentation.

What they presented was, I think, how hierachies remove the need for parsers, regexps, and filling systems. Honestly though, I will have to ask at the next meeting.

Tagged ,

A(funny-banana) Programming Language

If you like learning programming languages as much as I do then you will have heard of APL. If you heard about it when I did, your first encounter with it will have been in a libruary with a text book a note pad and a pen. These days, however, you need to find a web site that runs an online APL and prepare a kata or two to code on it.

In the 1980’s, my text book started me off gently with 2+3 and, eventually, got me to to conjecture what the ackerman hierachy was. I did not just learn how to programme in APL, but also what APL was for. In case you are wondering; APL is mathematical; APL is array oriented; APL is for people who like something difficult to study, that is not just a kata.

Incidentally, the meaning of “kata” in far eastern languges is not “exercise” or “puzzle” or “problem”; it is “curse”. The confusion arose from its use in martial arts. “Draw your sword!”, says the referee, the competitor does so, without hitting the referee. Then says the referee,”You are cursed! Your enemy is standing and you are sitting! Draw you sword again!”. The competitor sits on the floor, his sword is at a funny angle due to his clothes. He stands and attacks in one motion, without falling over. “Well done, you are a hero!”says the referee.

Now, back to programming.

Given most of the above; you will not want to start your adventures in APL by installing it on your own machine, or by just searching for “tryapl”. What you will need to do is have some kind of learning strategy first. It is this step that gives most people the impression of APL as a difficult, over complex, and somehow pointless language. This is because most people have a kill the monster attitude to learning, that if only they get past the kata they know everything in one big bang. This is not true, and its disproof is one of the reasons that I like APL so much. A reason I was in the libruary that hot summer in the 1980’s was that, my tutors at my FE college decided that they wanted me to keep learning programming after my ‘O’ levels ended. By various means, such as Socratic Dialogue and, reading my subject notes, they made sure that I had a learning programme. An important step, that most people skip nowadays. In less hysterical language, have clear goals in mind and a defined way of achieving them.

Now, grasshopper, what is 2+3 and what is 2÷3 ? If you study it in the right order, APL does not much more complicated than this. You can write a DBMS in less than 20 statements. ditto a caching data shaper. ditto lots of things that I never seem to have time to do!

Tagged ,