Hacker News new | past | comments | ask | show | jobs | submit login

This might have been true a couple of years ago but it is totally untrue now.

I'm not sure why you couldn't use the student version of Dyalog? Sounds like it would have been fine. There are also many more FOSS implementations of array languages now, such as ngn/k and April. https://github.com/phantomics/april

'only available for Linux' - not true https://github.com/abrudz/Kbd/ and others (also different input modes like `w for ⍵)

'no community support' - on the contrary there is a big and helpful APL community https://aplwiki.com/wiki/Chat_rooms_and_forums that is (imo) more useful than stackoverflow

'Dynamic scoping...' - Dyalog's (and other APL's) dfns have lexical scope.

'The language is extremely terse' - is this meant to be a bad thing?

'The code tends to be very hacky' - maybe if you write bad code or try and write C in APL (it won't work)




- My professor was completely against the idea of using proprietary software. Also, we were supposed to use APL, not other languages.

- I see that support has improved. I didn't find any keyboard support for Windows at the time. Still, dealing with a different keyboard layout was a total pain.

- I wouldn't call the APL community "big". The're are around 2K users combining all of those platforms. Now include the language barrier (I'm from Argentina) and go back a couple of years and you can see the issue.

- The APL version we were using had dynamic scoping. TIL that there are multiple variations of the same language with totally different semantics!

- Yes, that level of terseness involves hacky code which is hard to understand, review and mantain. This is 100% my opinion.

Overall I wouldn't recommend APL or derivatives at all for any serious project.


Or derivatives?? Generalizing from GNU APL to APL as a whole is a stretch in my opinion, but telling people not to use K on the basis of your APL experiences is something else entirely. They are very different languages. For example K uses only ASCII and has never supported dynamic scoping, only (somewhat restricted) lexical scoping.


'The APL version we were using had dynamic scoping. TIL that there are multiple variations of the same language with totally different semantics!' - your own code uses localisation within tradfns! Dfns just do that by default.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: