by tailrecursion on 3/30/23, 7:00 AM with 96 comments
by jaygray0919 on 3/30/23, 9:55 AM
by zelphirkalt on 3/30/23, 9:39 AM
What I mean by "readable" is, that it uses ASCII strings and actual names, not merely 1 character (except for very few cases where 1 character might be appropriate, like "Y" or stuff like that) as function names, instead of symbols, of which I do not know their names. I should be able to not only write once, but read again easily. I should not need a special keyboard or special keyboard layout to write programs in the language.
by garyrob on 3/30/23, 3:49 PM
I really enjoyed creating clever combinations of the APL operators to get a ton of computation done in one line of code. However, this was the epitome of "read-only code". It was very difficult to read that kind of code after writing it.
After college I never used APL again, although I worked as a software developer (and still do). I miss the fun I had with it, but I wouldn't want to use it for code that I or anyone else would have to maintain, and I doubt that it would be a very expressive language for most commercial applications. For mathematical, array-oriented tasks, Python has appropriate libraries that would probably lead to more maintainable code. And of course there's Julia.
But I can imagine some people still having the expertise to use APL for exploratory calculations, enjoyably and more productively than any other language.
by mamcx on 3/30/23, 3:24 PM
I tough an array is "just a column" and somewhere I get to K and that leads me to my current attempt to build a language that make both paradigms work: https://tablam.org
I think each paradigm complement and "fill" the mission pieces the other has. For example, you can name columns, that is alone very useful!
BTW kdb+ is also on this direction but the combination is `array then SQL/Relational` and mine is `Relational then Array`.
by youssefabdelm on 3/30/23, 10:32 AM
If I recall correctly, the Dyalog branch of APL allows for variable names? I kind of like the idea of zero variable names and all strange symbols. The reasoning that after you learn those, you can read any program and understand what's going on at every step, without needing to check what each function actually does -- that sounded very intriguing to me.
And the reason that "checks out" (or may) I guess is that the language's primitives are very carefully chosen such that you have a kind of extreme economy of "words" - so your LOCs will be so low such that you may not need to abstract lines into mysterious function names to reduce the number of lines a person has to read to understand what a program does. Aka the economy of words more than compensates for the lack of abstraction.
by qwerty456127 on 3/30/23, 12:59 PM
APL seems beautiful to me and would probably help me with a number of tasks I do but it doesn't feel easy to actually practice.
by eggy on 3/30/23, 4:26 PM
I dabble with BQN and Klong.
by CGamesPlay on 3/30/23, 4:28 PM
Anybody here write a working solution to that problem? Or remember it, even?
by cl3misch on 3/30/23, 5:21 PM
I have been interested in APL and friends for some time, but have not yet seen an example which made me commit to taking the time to learn it. numpy (and JAX) have been doing everything I wanted, so far.
by finalfire on 3/30/23, 11:24 AM
by NeutralForest on 3/30/23, 12:17 PM
by IIAOPSW on 3/30/23, 11:31 AM