Remix.run Logo
fc417fc802 12 hours ago

It's not as extreme but I feel similarly every time I write dense numpy code. Afterwards I almost invariably have the thought "it took me how long to write just that?" and start thinking I ought to have used a different tool.

For some reason the reality is unintuitive to me - that the other tools would have taken me far longer. All the stuff that feels difficult and like it's just eating up time is actually me being forced to work out the problem specification in a more condensed manner.

I think it's like climbing a steeper but much shorter path. It feels like more work but it's actually less. (The point of my rambling here is that I probably ought to learn APL and use it instead.)

novosel 3 hours ago | parent | next [-]

>Afterwards I almost invariably have the thought "it took me how long to write just that?" and start thinking I ought to have used a different tool.

I think there is also a psychological bias, we feel more "productive" in a more verbose language. Subconsciously at least, we think "programmers produce code" instead of thinking "programmers build systems".

skruger 11 hours ago | parent | prev | next [-]

Should you ever decide to take that leap, maybe start here:

https://xpqz.github.io/learnapl

(disclosure: author)

sitkack 5 hours ago | parent [-]

I have been reading through your site, working on an APL DSL in Lisp. Excellent work! Thank you.

jonahx 9 hours ago | parent | prev | next [-]

Indeed numpy is essentially just an APL/J with more verbose and less elegant syntax. The core paradigm is very similar, and numpy was directly inspired by the APLs.

Qem 3 hours ago | parent | next [-]

People actually managed to channel the APL hidden under numpy into a full array language implemented on top of it: https://github.com/briangu/klongpy

mlajtos 2 hours ago | parent [-]

Time is indeed a flat circle.

bbminner 4 hours ago | parent | prev [-]

I don't know APL, but that has been my thought as well - if APL does not offer much over numpy, I'd argue that the I'd argue that later is much easier to read and reason through.

skydhash 2 hours ago | parent [-]

I thought that too, but after a while the symbols becomes recognizable (just like math symbols) and then it's a pleasure to write if you have completion based on their name (Uiua developer experience with Emacs). The issue with numpy is the intermediate variables you have to use due to using Python.

Qem 12 hours ago | parent | prev | next [-]

> It's not as extreme but I feel similarly every time I write dense numpy code.

https://analyzethedatanotthedrivel.org/2018/03/31/numpy-anot...

xelxebar 10 hours ago | parent | prev [-]

> All the stuff that feels difficult and like it's just eating up time is actually me being forced to work out the problem specification in a more condensed manner.

Very well put!

Your experience aligns with mine as well. In APL, the sheer austerity of architecture means we can't spend time on boilerplate and are forced to immediately confront core domain concerns.

Working that way has gotten me to see code as a direct extension of business, organizational, and market issues. I feel like this has made me much more valuable at work.