# High Level Programming in 1975

- Tutorial

In the 1975s, the IBM 5100 PC came in variants with the BASIC or APL programming languages. As you might guess, in the end the main emphasis was placed on the BASIC interpreter due to the fact that when deciding what to buy, it seemed more understandable to the users of this PC, and the APL required a certain minimum level of entry. They say that the APL lost popularity due to non-ascii characters, maybe this is partly true, but it didn’t happen at 75m.

Perhaps the history of programming languages would have turned a little differently if development had gone with emphasis on the interpreter of the APL, but you can only fantasize about it, so I suggest just watching how programs were written back in the 1975s.

up to 5 minutes simple math.

character description:

× - multiple

÷ - divide

/ - this is foldr1

¯123 - negative number

← - define

⍳ - index generator or index search

↑ - take

↓ - drop

∧ - and

∨ - or

⌈ - max

⍴ - shape, reshape, dimensionality

. - inner product, i.e. combines the 0 dimension of one argument and the largest dimension of the other, in the case of a matrix - it turns out one row with columns of the other. V fg W -> (V1 g W1) f (Vn g Wn)

∘. - outer product, i.e. the result of the combination for each argument

Y [N] is to get the Nth element, you can specify N for different levels through;

Perhaps the history of programming languages would have turned a little differently if development had gone with emphasis on the interpreter of the APL, but you can only fantasize about it, so I suggest just watching how programs were written back in the 1975s.

up to 5 minutes simple math.

character description:

× - multiple

÷ - divide

/ - this is foldr1

¯123 - negative number

← - define

⍳ - index generator or index search

↑ - take

↓ - drop

∧ - and

∨ - or

⌈ - max

⍴ - shape, reshape, dimensionality

. - inner product, i.e. combines the 0 dimension of one argument and the largest dimension of the other, in the case of a matrix - it turns out one row with columns of the other. V fg W -> (V1 g W1) f (Vn g Wn)

∘. - outer product, i.e. the result of the combination for each argument

Y [N] is to get the Nth element, you can specify N for different levels through;