4 ms·
Seriously: APL! Yeah, it takes a bit of time to become really comfortable, but our accountant was (after the initial take-it-away! phase) really glad i have he
by RalfWausE 4y ago
Seriously: APL!
Yeah, it takes a bit of time to become really comfortable, but our accountant was (after the initial take-it-away! phase) really glad i have her introduced to it
- capableweb 4y agoI'd hesitate recommend a language whose symbols are not easily accessible or understandable. Try showing the following snippet to even a seasoned programmer and they'll struggle to understand what it does: Avg←{(+⌿⍵)÷≢⍵} Also, if you want a non-programmer to quickly be able to learn a language, the more learning resources they have available to them, the more probable it is that they'll be able to pick it up. APL probably don't have as many modern, free and online resources as other languages.
- jxy 4y agoYet you cherry picked an extension that's not in the ISO standard and only modern APL supports.
- capableweb 4y agoSorry about that, I don't APL well myself to know what parts belong to what. I simply searched for "APL hello world" and landed on https://tryapl.org/ https://tryapl.org/ which has that snippet on the left side. The "Examples" section on the Wikipedia page for APL also contains a bunch of symbols I would have no idea how to enter on a computer: https://en.wikipedia.org/wiki/APL_(programming_language)#Examples https://en.wikipedia.org/wiki/APL_(programming_language)#Exa...
- jxy 4y agoThe whole point is not whether you, without any learning, would have any idea how to read, speak, think in any specific language. You likely have forgot how long you had to learn English. Do you know how many people in the world have no idea what you had written here, yet they are still very comfortable in using a computer? It's easy for an English speaking person to consider programming languages in English as the only kind that's usable. To be fair, English dominates in the tech world. But it would be narrow minded to dismiss a programming language solely based on its non-English symbols. Mathematicians have long been using symbols for efficiency in its expressiveness. Why not programming languages? I'd like to keep an open mind.
- capableweb 4y agoI'm not arguing about English vs non-English programming languages, I'm talking about symbols available on the keyboard. When you start out programming, you're being met with symbol you probably haven't extensively used before, such as the pipe ("|") or even curly braces, as you usually don't come across those in prose. But you can look down on a keyboard and see how you can enter those symbols. Contrast that to APL which has you enter symbols that are nowhere to be found on a keyboard. You need to manually look up how to enter the symbols, or run specific software to have it on-screen, and if you forget, you can't just look at the keyboard, you need to look it up again. I'm sure it becomes second-nature after a while, just like entering pipe characters or curly braces. But it's definitely harder to get started if there is more to remember than just concepts. I have not forgotten how long I had to learn English, as it's not my mother language and I had to learn it in school at a certain age. I'm also currently learning a fourth (speaking/writing/"human") language currently, so I'm well aware about that there are other languages out there. I'm also not arguing against APL as a language as a whole, I'm personally curious about it as well and will probably give it a go as it's currently missing from my repertoire of languages, which is wide already but still missing things. I'm simply arguing against it as a first programming language for people to learn, compared to languages that don't contain symbols you cannot "normally" enter on a traditional keyboard.
- _v7gu 4y agowait, doesn't APL have forks? Avg doesn't get more readable than (+/)÷≢ (sum over divided by tally) as long as you know what the signs do.
- schwartzworld 4y agoNot using a tool because people might not know the tool already is an interesting take. Learning a few extra symbols isn't as much of a bottleneck as you think. Heck, people learn to read entire new alphabets, I'm learning one right now and that's a task much harder than learning some APL glyphs. > APL probably don't have as many modern, free and online resources as other languages. Not as many, but that can be a good thing too. Lots of languages have tutorials, libraries and articles that use horrible practices. I write React + TypeScript for work, and it's an especially big problem.
- capableweb 4y ago> Not using a tool because people might not know the tool already is an interesting take I guess it would, that's not what I said though. Most programming languages use symbols already visible and available on your keyboard without having to do anything extra. APL uses a bunch of symbols you either need to learn a new keyboard combinations to enter, or otherwise extra software you probably haven't used before unless you're a mathematician. > I'm learning one right now and that's a task much harder than learning some APL glyphs I agree. Learning new complex glyphs is probably easier than new complex concepts, but what's for sure is harder is learning both at the same time rather than just one. Using a language like Python or any other mainstream language would at least make the person not have to worry so much about new symbols, but mostly just new concepts.
- sudosysgen 4y agoThere is a modern successor to APL often used in finance called Q from kx. A lot of analysts swear by it, but personally I prefer Julia as, like APL, it's a bit write only.
- aquariusDue 4y agoThe more I look into Julia the more interesting it seems. There's a YouTube series by doggo dot jl that showcases its many uses.
- wrycoder 4y agoAfter you leave, and later the accountant leaves, that business is going to be in a world of hurt trying to find an accountant who understands APL (or an APL programmer plus an accountant who together can understand the previous accountant's version of APL program design). Speaking as an old, enthusiastic APL programmer.
- RalfWausE 4y agoWe are a small-ish business with a really special park of custom build machines, using tons of (over decades) custom written software... THIS is the reason we train our own replacements and have at any time aprenticeships going.
- worthless-trash 4y agoI like the old langauges, probably more than the next guy. Why did you choose APL over something like GnuCOBOL. Ive been pleasantly surprised with how teachable Cobol is to a range of people.
- RalfWausE 4y agoCOBOL would also have been a great choice, especially due to its ...ehm...'BUSINESS ORIENTATION' I did chose to show her APL simply because i am somewhat firm in it myself, so it was more simple to teach it someone else.
- ungamedplayer 4y agoThat makez perfect sense. If you know it and can assist, why not.