5 ms·
I feel like we're quibbling about semantics. Is APL an interesting language that most people would benefit from picking up and building something with? Sure.
by michaelbuckbee 5y ago
I feel like we're quibbling about semantics.
Is APL an interesting language that most people would benefit from picking up and building something with? Sure.
Is there a small and passionate community around it? Absolutely?
Is it still possible to get up and running with APL in 2021? Yes.
Given the variety of choices in the developer ecosystem is APL the best choice for the types of problems the vast majority of developers are solving today? No.
And I think maybe most interestingly this conversation (to me) highlights how important ecosystems, frameworks and communities are to modern development over the pure language semantic benefits.
- qwerty456127 5y agoGiven the variety of choices in the developer ecosystem is APL the best choice for ANY types of problems one can realistically have to solve today? I.e. is it still the best tool for the job it was designed for but on modern hardware/OSes? Provided you don't mind the special charset and low availability of APL programmers to maintain your code.
- adrian_b 5y agoAlready when it appeared, APL was an incomplete programming language. It had much better facilities than any other language for working with arrays of numbers but other tasks were awkward, e.g. handling strings, input/output, program control structures, partitioning a large program in separate modules and so on. So going back to use the original APL is not a solution. On the other hand, having to work with arrays of numbers in any language that does not include APL-like expressions is tedious. Having to write explicit loops when better solutions existed more than half a century ago seems extremely stupid. With Unicode, providing the APL operators in a programming language is trivial. There is however one APL feature that prevents the simple extension of any current programming language to just allow you to write APL expressions without changing the language otherwise. APL had a different rule for the precedence of operators than most popular programming languages, all operators have equal precedence and the right hand operand of an operator is everything that is to its right. So the operators are evaluated from the right to the left, unless there are parentheses to change the order. This rule was a very important innovation of APL. While it may seem weird for those who do not have experience with it, it is actually much more convenient than the usual multi-level precedence rules. Just adding APL operators to a language without also using the APL rule of evaluation order would loose a good part of the APL advantage and simplicity.
- TimTheTinker 5y ago(Meta comment) Am I the only one who finds this "[question]? [answer]." comment format hard to read/digest? Would it be less awkward to simply write a statement as a sentence? Yes. :-)