5 ms·
That really isn't true at all. For someone who did not study mathematics, symbols like integral, differential or summation are meaningless and obscure. A gree
by rebootthesystem 10y ago
That really isn't true at all.
For someone who did not study mathematics, symbols like integral, differential or summation are meaningless and obscure. A greek letter "delta" with a dot on top only has meaning once studied, learned and used.
For someone who did not study music and musical notation, symbols like a silence, eight or sixteenth note are utterly meaningless.
However, for people who studied these subjects and devoted enough time to get good at them these symbols have huge meaning and, yes, they become tools of thought.
Spend enough time with APL --just a couple of months real effort at most-- and the symbols are not obtuse at all. They develop meanings just like mathematical or musical notation does. Combinations of symbols become words and phrases. The programmer eventually starts to recognize them instantly and think in these terms, much like someone well versed in math might recognize a polynomial and instantly visualize and understand it's shape and position in space.
If I may continue the analogy, programming symbolically with APL quickly becomes like writing and playing music. It's an amazing experience that cannot be described, it has to be experienced.
If you have not devoted a good amount of time to working with APL the above might not make any sense and might even sound crazy. And that's OK. Just understand there's a huge difference between forming an opinion while watching gymnastics vs. actually being a gymnast.
J is a huge step backwards. Notation is incredibly powerful. The decision to discard it simply because the language was ahead of the hardware of the day was, at best, flawed.
- qwertyuiop924 10y agoNo, I understand, but J is as much a notation as APL is. It may be a different notation to what you, as an APL programmer, are used to, but it is as much a notation as APL. While you say that my judgement is clouded by not using APL, I say the opposite is true: from here, they're equally symbolic. The difference is, one of them uses symbols I can type.
- rebootthesystem 10y agoWell, we'll have to disagree then. I've had this conversation many, many times. Using a pile of ASCII characters is, objectively, a very bad idea. And, despite what you have said, it is not a notation. Hardware engineers have actually had contact with APL without knowing it. Programmer's manuals for many CPU's use notation derived from APL to describe how the CPU executes the code. It's intuitive and easy to read. Iverson himself used it to describe the inner workings of the IBM 360 even before APL existed. If I presented anyone with a databook or IBM 360 technical manual that used J's transliteration the very first statement out of their mouths would probably be "the printer fucked up, look this gibberish". Again --and I don't mean this an a personal attack at all-- with zero experience in APL it will be hard for you to understand the power and value of a real notation rather than using a mish-mash of ASCII characters and attempting to ascribe meanings to them. There is a huge difference between the two. Music notation is perfect parallel for the value and power of APL notation. I only wish it had been taken farther. Maybe someone will pick-up where Iverson left of and develop the next generation symbolic programming notation. In many ways we need to evolve past where we are today in order to gain the kind of power and expressiveness that, again, one can experience with music notation when composing and playing. Have a great day.