4 ms·
Perhaps what we can take away from this is that Mathmatica (at least in this case, and I would imagine many others) is more terse that other languages because t
by jamesjporter 14y ago
Perhaps what we can take away from this is that Mathmatica (at least in this case, and I would imagine many others) is more terse that other languages because the base language includes features such as factorization that require libraries in other languages. This is obviously beneficial in many cases, but I agree with you that it is disingenuous to suggest that Mathematica's terseness is primarily due to well-designed syntax/semantics as opposed to feature-richness.
- codewright 14y agoI agree with you there. Another thought from my experiences: The only way I've seen to scale up the "expressiveness" in a programming language in a way that's generally applicable is to make it more declarative. I have mixed feelings about this. Two primary ways of doing so are functional idioms for "iteration" and concatenative programming. Things like juxt, mapcat, et al have their equivalents in languages like J, K, Factor, etc. The only way to elevate yourself above loops and manually assigning intermediates is to flow the data through high-level descriptions of what you want. Whether that takes the form of a concatenative or functional langauge depends on the coder. OOP is more about scaling up procedural idioms so that state management and code reuse aren't a total Vietnam. They aren't really more "expressive" with the exception of some of the idioms Smalltalk tossed about. All that's left otherwise is "ecosystem leverage" such as Mathematica exhibits here. That's not really about the semantics of the programming language, but it's still worth noting if the leverage is relevant to the problem you're solving.
- carlob 14y agoThis. As I said before: there is a lot that is a library elsewhere that's built-in in Mathematica. And that's why I think Mathematica is very good at rapid prototyping.