Live data from Hacker News

The APL Source Code (2012)

computerhistory.org

21–30 of 61 posts

Re: The APL Source Code (2012)

#21

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

Lots of programming isn't math or logic, its shovelling data and manipulating strings. Is APL good at that?

[deleted]

Re: The APL Source Code (2012)

#22

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

The reason you give (write only programming language) is indeed ONE of the reasons people may give when discussing about array-languages, and it is actually a serious reason to consider. Having spent much time on it as well as on J, I hope not being part of those "only people who never used it or used it briefly" because I would also add another reason, more important to me.

APL emphasizes some "formal external beauty" (of code) over the true beauty of an algorithm. Of course you can do such or such thing in 2½ characters of APL code rather than 60 boring lines of whatever language you want but it is generally full of unneeded hidden loops (or looping uselessly on whole parts of arrays when only a small part is required). Actual complexity of these "elegant" APL solutions is generaly insane.

On the other hand, the J language has a set of some "optimized" idioms -if I remember correctly. Not sure the thing is really better: "write it that way by pretending you are following the array-way-of-life; of course it would be insane to actually do it that way, but my engine will detect the very specific thing you want to do and will use a state-of-the-art algorithm for that purpose". Not sure it is a good thing because the task becomes over complicated: knowing the true (boring) algorithm, knowing the specific array-syntax encoding that algorithm, which falls back to looking in some "list" of what is optimized or not.

While I agree these languages are fascinating to think about computing, learn new things, etc. I finally went to more or less agree with Dijkstra (not the worst reference?) about these languages being "a mistake, carried through to perfection".

What is wrong about writing well commented, well indented, 30 lines of code if I can implement the exact algorithm that way?

Re: The APL Source Code (2012)

#23

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

> All you need is the cheatsheet [...] and the program

Or an interactive cheatsheet website[1], where you can paste APL code, and mousing over symbols gives their definitions?

[1] http://I-wish-this-existed-but ...

Re: The APL Source Code (2012)

#24

> To access this material, you must agree to the terms of the license displayed here, which permits only non-commercial use and does not give you the right to license it to third parties by posting copies elsewhere on the web. We have to agree to these kinds of terms about something that is more than half a century old and has zero commercial value. Something in the copyright system is deeply broken.

The current IBM zSeries is still backwards compatible with System/360 (and latter) models, so there could still be important APL\360 running in the wild.

Re: The APL Source Code (2012)

#25

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

The reason you give (write only programming language) is indeed ONE of the reasons people may give when discussing about array-languages, and it is actually a serious reason to consider. Having spent much time on it as well as on J, I hope not being part of those "only people who never used it or used it briefly" because I would also add another reason, more important to me. APL emphasizes some "formal external beaut…

> What is wrong about writing well commented, well indented, 30 lines of code if I can implement the exact algorithm that way?

Nothing, it's just interesting and I wish I could do a larger project with one of them outside just playing around.

Re: The APL Source Code (2012)

#26

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

> All you need is the cheatsheet [...] and the program Or an interactive cheatsheet website[1], where you can paste APL code, and mousing over symbols gives their definitions? [1] http://I-wish-this-existed-but ...

https://tryapl.org/

Re: The APL Source Code (2012)

#27

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

Lots of programming isn't math or logic, its shovelling data and manipulating strings. Is APL good at that?

If a string (or a file or whatever) is "just" an array (of bytes; characters, again: whatever), then yes.

Re: The APL Source Code (2012)

#28
post #6
post #4

> But APL programs are often cryptic and hard to decode. Some have joked that it is a “write-only language” because even the author of a program might have trouble understanding it later. So the original Perl?

Nope, not even close. I’ve written/read lots of Perl. APL is a completely different paradigm. Every now and then I get the urge to take a deep dive into APL or J but I really need a use case. Since they are array languages they seem like they might be good for machine learning?

The use case is use J or K is to do advent of code or the Euler project :p

APL is a tool for thought more than a real programming language so in my opinion it's best suited to boost your puzzle solving ability.

Re: The APL Source Code (2012)

#29

I like APL (and k/j). Problem is, outside trading (and even there it's a niche), it is just not popular enough. This also because most people dismiss it as line noise / write only programming language; that's usually only people who never used it or used it briefly saying that. But it's hard to promote anything that has a reputation like that. What is a fairly interesting observation (more people have made it, includ…

Ironically, APL has won as a programming language. Look at the SIMD instruction set - it's APL!

Re: The APL Source Code (2012)

#30
My very first programming experience was with APL\360, using a time share IBM terminal with the APL type ball. We wrote code in a Geodetic Sciences class to compute Least Squares solutions to survey networks. I really liked APL...
Post reply on HN