5 ms·
I played around a bit with J as a language and found it really lovely but unfortunately not really applicable to my problem domain (CRUD Enterprise Apps) I gue
by geogra4 7y ago
I played around a bit with J as a language and found it really lovely but unfortunately not really applicable to my problem domain (CRUD Enterprise Apps)
I guess maybe some people are really in love with the symbolic notation of APL (vs J) but I would think it would be terribly limiting.
- yiyus 7y agoPersonally, I wish the APL ideas had been taken more seriously, not only as a programming language, but specially as an algebraic notation. I would like to be able to open any text editor and write formulas, and it is not a minor thing to be able to directly use those formulas to solve the problem in the computer. I can do that with J or K, but it does not feel natural at all when using paper or the blackboard, for example. On the other hand, I indeed love the APL symbols (you get used to them much faster than it may look) but, even although they are part of unicode, it is still much less convenient to use than ASCII.
- 0xdeadbeefbabe 7y agoWould a special keyboard help that much?
- boomlinde 7y agoA special keyboard at least puts you in a situation where you can fall back on hunting and pecking until you get used to where they are at your own pace. An IDE could help imprinting what the symbols actually mean.
- abrudz 7y agoThere are tricks to remember the locations (https://i.imgur.com/57wRuUS.png https://i.imgur.com/57wRuUS.png)
- yiyus 7y agoA special keyboard can hardly compete with the convenience of any standard keyboard. My issue is not to write APL in a personal basis; there are many tools for that. My problem is that it is not the standard. J and K solved that using ASCII. That is a very reasonable solution for a programming language but ASCII symbols are not, in my opinion, good enough to replace our current mathematical symbols outside of the computer. For example, I like the symbol ⍟ for logarithm more than the log() function, but I do not see myself writing ^. in a piece of paper or a blackboard, neither can I imagine school kids learning about logarithms with ^. In my ideal world, APL symbols would be so ubiquitous as other arithmetic symbols are today, so they would be part of standard keyboards. Instead, I am stuck with a mixture of ugly code and mathematical formulas that I have to write by hand or using something like latex. Taking into account how powerful computers are, I find this very unfortunate.
- NoodleIncident 7y ago(I'm not really familiar with the details of J, K, or APL) If either J or K is completely equivalent to APL, but uses words instead of symbols, then it might be possible to set up a program that replaces those words with the equivalent APL symbols. For this to work in any text editor, it would have to be a special keyboard/input, like how Japanese is spelled out in katakana and then converted to kanji. I'm not sure how hard that would be to set up. If a vim-only solution is good enough, then this could be accomplished using the "abbreviations" feature: http://learnvimscriptthehardway.stevelosh.com/chapters/08.html http://learnvimscriptthehardway.stevelosh.com/chapters/08.ht...
- yiyus 7y agoJ and K generally use symbols instead of words, but what you said still applies. I have seen very similar solutions that allow to represent J with APL symbols, and it surely looks much better. But these solutions are far from optimal. The convenience of being able to write J with any hardware or software I get my hands on is huge. I can use it to write equations in emails, in my phone or tablet, in a windows computer with notepad as the only text editor. I cannot do that with APL. It's not too far, there are workarounds, but it is much less convenient. If you work with lots of formulas, you will understand the pain of practically needing paper or a blackboard to work with equations, then translate that to your favorite programming language to solve some problem, or to latex for publication. APL gave a wonderful solution to this, but it did not catch on.
- geogra4 7y agoThe notation I'm not sure of, but surely matrix based languages/extension like NumPy or R have kind of allowed similar modes of thinking about data/numerical programming? Using APL is kind of like a lightsaber. It's a more elegant weapon from a more civilized age.
- yiyus 7y agoIt allows the programming, but not so much the thinking. For example, I recently had a discussion about 3d rotations in a python program. We tried writing some python in the blackboard, but it did not fly and we quickly switched to standard algebraic notation, then we had to translate our results back to python. I would really like to have this kind of discussion in APL, and I would like to have it without needing any special hardware or software. I know I ask too much, but a man can dream! I like the lightsaber analogy.