TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

APL: An Array Oriented Programming Language (2018)

105 pointsby tailrecursionabout 2 years ago

12 comments

jaygray0919about 2 years ago
Once managed tech for an insurance actuarial department. We ran IBM DB2 for underwriting and claims apps. One day had lunch with the actuarials to make friends and make sure we were supporting them well. At one point in the conversation I foolishly asked whether they also would like to access DB2 to minimize data transfers. They laughed and said: "SQL is like drinking data through a straw. We use APL so we can drink it all at once." I felt like a rookie at spring training.
zelphirkaltabout 2 years ago
I intend to, at some point, learn a readable array oriented programming language. I heard that J fits that bill. Any other suggestions?<p>What I mean by &quot;readable&quot; 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 &quot;Y&quot; 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.
评论 #35370450 未加载
评论 #35370633 未加载
评论 #35370597 未加载
评论 #35370214 未加载
评论 #35372319 未加载
评论 #35370664 未加载
评论 #35370402 未加载
评论 #35370211 未加载
评论 #35370248 未加载
评论 #35371397 未加载
评论 #35376383 未加载
评论 #35370479 未加载
garyrobabout 2 years ago
APL was the first language I learned after IBM 360 Assembly in the 1970s while I was in college. I really liked it because I was a math major and it was extremely well-suited to math operations on arrays. I used it for finding objects on the 2D complex number plane for my Senior Thesis.<p>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 &quot;read-only code&quot;. It was very difficult to read that kind of code after writing it.<p>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&#x27;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&#x27;s Julia.<p>But I can imagine some people still having the expertise to use APL for exploratory calculations, enjoyably and more productively than any other language.
mamcxabout 2 years ago
In a round-about fashion I get interested in array languages because the relational model.<p>I tough an array is &quot;just a column&quot; and somewhere I get to K and that leads me to my current attempt to build a language that make both paradigms work: <a href="https:&#x2F;&#x2F;tablam.org" rel="nofollow">https:&#x2F;&#x2F;tablam.org</a><p>I think each paradigm complement and &quot;fill&quot; the mission pieces the other has. For example, you can name columns, that is alone very useful!<p>BTW kdb+ is also on this direction but the combination is `array then SQL&#x2F;Relational` and mine is `Relational then Array`.
youssefabdelmabout 2 years ago
I think APL is very beautiful as someone who has longed to learn it from afar and not yet had the time, would be very curious to get more insight into how it changes the way you approach problems in both APL and programming in general, and how it gets you to think differently.<p>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&#x27;s going on at every step, without needing to check what each function actually does -- that sounded very intriguing to me.<p>And the reason that &quot;checks out&quot; (or may) I guess is that the language&#x27;s primitives are very carefully chosen such that you have a kind of extreme economy of &quot;words&quot; - 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.
评论 #35370655 未加载
评论 #35370658 未加载
评论 #35370822 未加载
评论 #35370805 未加载
qwerty456127about 2 years ago
Is there a good book or whatever a resource to learn and train youself to efficiently think in APL?<p>APL seems beautiful to me and would probably help me with a number of tasks I do but it doesn&#x27;t feel easy to actually practice.
评论 #35372014 未加载
eggyabout 2 years ago
I love APL and I use J too as desktop calculators up to programming some quick mathy things for work and fun. My latest love is APRIL (Array Programming Re-Imagined in Lisp) [1]. It allows me to use the libraries and legacy of Lisp for a lot the drudgery in all programming and APL to sling numbers.<p>I dabble with BQN and Klong.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;phantomics&#x2F;april">https:&#x2F;&#x2F;github.com&#x2F;phantomics&#x2F;april</a>
CGamesPlayabout 2 years ago
My first and only experience with APL was on February 5, 2010, at the ACM ICPC world finals. I spent probably an hour and a half trying to figure out how to write a right-associative parser, and never ended up submitting a working solution.<p>Anybody here write a working solution to that problem? Or remember it, even?
cl3mischabout 2 years ago
Is there a comprehensive comparison between the strengths&#x2F;weaknesses of APL and numpy?<p>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.
评论 #35376906 未加载
finalfireabout 2 years ago
I always wondered how one can start learning APL or similar array oriented language. Any suggestions? I&#x27;d like to give it a try!
评论 #35371046 未加载
评论 #35371364 未加载
评论 #35371421 未加载
评论 #35372174 未加载
评论 #35371667 未加载
评论 #35375098 未加载
评论 #35371141 未加载
NeutralForestabout 2 years ago
Do the people here of an opinion on cool projects made with or for APL?
评论 #35373287 未加载
IIAOPSWabout 2 years ago
Has this guy not heard of Matlab? He&#x27;s acting like the idea of everything as an array is some niche forgotten thing in a long dead language, meanwhile practically every Engineering department is choc o bloc of people who take the &quot;everything is an array&quot; idea way beyond its logical extent.
评论 #35371234 未加载
评论 #35375142 未加载
评论 #35371581 未加载
评论 #35371263 未加载
评论 #35371101 未加载