7 ms·
I've always found it funny how many of the people who decry Perl as being "line noise" will then go on to praise such languages as APL, J and K. I think it migh
by vezzy-fnord 12y ago
I've always found it funny how many of the people who decry Perl as being "line noise" will then go on to praise such languages as APL, J and K. I think it might be because of their more esoteric paradigms and the fact that they do not follow the formulaic Von Neumann architecture, making them good targets for people to assert how atypical they are, unlike those other Blub programmers.
- michaelcampbell 12y ago> I've always found it funny how many of the people who decry Perl as being "line noise" will then go on to praise such languages as APL, J and K This is not a reality with which I am familiar. I like the idea of APL; I even did some, years ago, but this feels strawman-y to me. Even in the J/K/APL crowd, the running joke is readability.
- agumonkey 12y agoFrom a distance I'd say APL* having one datastructure and many (cryptically represented) operations. Think Alan Perlis (NPI) epigram (http://www.cs.yale.edu/homes/perlis-alan/quotes.html http://www.cs.yale.edu/homes/perlis-alan/quotes.html). Perl context sensitivity with many builtin types is like combinatorial explosion of cases and is harder to parse mentally.
- nutate 12y agoOr... gulp... Haskell, which has your line noise and in addition significant white space syntax.
- imanaccount247 12y agoWhen people complain about "line noise" they do not mean "this language has operators".
- sanderjd 12y agoRepresenting "this language has operators" as the complaint about haskell is a bit disingenuous. It is that haskell has way too many operators. Operators are fundamentally unreadable, even if they are nicely writable.
- imanaccount247 12y ago>Operators are fundamentally unreadable I would suggest that is obviously false. Most languages have operators. Is 4+5 really less readable than plus(4,5)? Haskell does not have very many operators. The fact that people see 3 operators they are not familiar with and decide "this is unreadable because of so many operators" speaks rather poorly of people's desire to learn.
- michaelcampbell 12y agoOr, to quote Rich Hickey; "I can't read German; that doesn't make it unreadable." NB: I know a little German, and almost no Haskell.
- sanderjd 12y agoI think "4+5" is readable because I read it as "four plus five", and that operators become un-readable when you can no longer insert a common descriptive word in their place. The problem in haskell is not the few operators in the prelude that are unfamiliar, but the multitude defined in libraries. In fairness, there are good ways to search the documentation for those operators so at least you aren't stuck googling for line noise.
- imanaccount247 12y agoBut you can insert a common descriptive word in their place. Choosing not to learn what >>= means doesn't make it unreadable or line noise. That is like saying C++ is unreadable line noise because it has all these -> all over the place.
- codygman 12y ago
- orbifold 12y agoAPL has really well thought out notation for manipulating n dimensional tensors and even arbitraritly nested n-dimensional tensors, its more concise than what mathematicians would ordinarily use when they talk about them and certainly nicer and more expressive than explicit einstein index summation conventions. So there are good reasons to praise it. The use of symbols in perl to introduce separate name spaces for the basic types etc. is sort of orthorgonal to the use of symbols in APL, although personally I don't find anything wrong with it. It's kind of sad that functional programming lanuages have regressed and treat higher dimensional tensors so poorly. Libraries like repa for haskell are nice, but they don't approach the flexibility of APL.