On Sun, Apr 11, 2010 at 17:51, kirby urner <kirby.ur...@gmail.com> wrote: >>> Sorry, I don't know J (Kirby does), but this is exactly the reason I prefer >>> Python. Readability counts (for me). >> >> That's what they said to Fibonacci when he tried to explain why Arabic >> numerals were better for math than Roman numerals. But Roman numerals >> are better in readability and algorithmic complexity if you rarely do >> anything but add and subtract, as merchants did before interest >> payments became critical.
The chapter on interest calculations in Liber Abaci was particularly important. >> Roman numerals are precisely equivalent to >> abacus notation. It is odd that the distinction between math/science >> programming and business programming is nearly a thousand years old, >> but there it is. >> > Fibonacci's Liber Abaci introduced the Indian/Arabic number system, > based on the abacus. No, in spite of the title, not based on the abacus, any more than calculus is based on pebbles. http://faculty.evansville.edu/ck6/bstud/fibo.html Though the title of the book suggests the use of the abacus, in fact Fibonacci freed arithmetic from calculations using the abacus. > The place value system corresponds to the > rods of the abacus, with the zero corresponding to a rod with no beads > (a place holder). > > Roman numerals, in contrast, have nothing to do with abacus notation > and have no place value e.g XIV for 14 or MMMCCC for 3300. The Japanese, Chinese, and Roman abacI use beads or pebbles (calculi) with values of 1 and 5. http://en.wikipedia.org/wiki/Abacus http://en.wikipedia.org/wiki/Roman_abacus The Roman notation uses letters with values of 1 and 5 times a power of 10, so that one can write down the Roman numeral for an abacus setting simply by writing the letter corresponding to each calculus on the board, or put a number on the board by placing a pebble for each letter. Adding and subtracting Roman numerals is isomorphic with manipulating an abacus. 7 --> 5+2 --> VII 3 --> 0+3 --> III VII + III --> VIIIII --> VV --> X 5+2 + 0+3 --> 5+5 --> 0+1,0+0 and similarly for LXX + XXX etc. > http://www.novaroma.org/via_romana/numbers.html > > Roman numbers suck for arithmetic operations of any kind IMO. > >> numbers =. i. 11 NB. 0..10 > > ...similar to Python's range built-in. > >> These objections are trivial and uninformed. You aren't a >> mathematician, you don't like math and math notation, so there is >> nothing more to say, except please stand out of the way of people who >> can benefit from it and want it. > > One could argue any computer language comprises a math notation. In the mathematical theory of languages, we can regard any Turing-complete symbol-and-rule set as a way to express all of mathematics, but that is outside the question of what language to teach or publish in, when the aim is communication with humans. > Also, one could argue that all creatures are mathematicians in some > innate way (Keith Devlin's point). So they are, beyond argument. So why are we telling them how they want to do math and computing? The mindset of "When I want to hear your opinion, I'll tell it to you" is what I hate most about education systems of the past and present. > Carving out a special caste of humans and calling them "mathematicians" > is a practice within various institutions. Mathematicians are not a caste, but a guild with stiff entry requirements. I am not a full member, since I quit after my BA and went to teach in the Peace Corps. > I've noticed many of these institutions promote a kind of snobbery, > but then such is the human ego. See The Theory of the Leisure Class, by Thorstein Veblen, and Buddhist teachings on no-self. Reverse snobbery is also a feature of human ego. >> You can append a table to a table if they have a dimension in common. >> You can't append a table to a list unless the list is turned into a >> one-row table. >> > > Note that numpy shares some of APL's and J's ability to shape data > into multi-dimensional objects with rank. Yes. It would be more productive to discuss numpy here rather than fight a meaningless rwar. >>>> import numpy >>>> a = numpy.array(range(10)) >>>> a > array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>>> a.reshape((2,5)) > array([[0, 1, 2, 3, 4], > [5, 6, 7, 8, 9]]) >>>> a > array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>>> a = a.reshape((2,5)) >>>> a > array([[0, 1, 2, 3, 4], > [5, 6, 7, 8, 9]]) >>>> numpy.concatenate((a,a)) > array([[0, 1, 2, 3, 4], > [5, 6, 7, 8, 9], > [0, 1, 2, 3, 4], > [5, 6, 7, 8, 9]]) >>>> numpy.concatenate((a,a), axis=1) > array([[0, 1, 2, 3, 4, 0, 1, 2, 3, 4], > [5, 6, 7, 8, 9, 5, 6, 7, 8, 9]]) > >>>> I can easily give you a short sequence of lessons leading to this >>>> level, introducing some other arithmetic, transcendental, and >>>> array-handling functions along the way, and a little more about >>>> operating on functions to define new functions. >>> >>> Python is much nearer to standard Math-notation, that is a good thing. >> >> LOL. Math notation is what mathematicians use, not schoolchildren. > > Math notations, like music notations, are the common heritage of > humankind, not the special property of an elite caste of human. > > That being said, many math notations, including computer languages, > are quite opaque until deciphered. > > Those already "in the know" may exult in their exclusive knowledge, > that's been true since time immemorial. > > Those cryptic expressions on a T-shirt from the MIT gift shop serve > as mnemonics, are reminders of long hours spent unpacking the > meanings. > > To a non-initiate, it all looks like so much unreadable APL. :) > > Of course non-math notations share in these encrypting / compacting > capabilities. You needn't use math notations to create operational > systems (institutions) with their respective insiders and outsiders, > with insiders often ranked according to their "degree" of inner-ness. > > We've not really defined "mathematics", "mathematician" or > "math notation" for the purposes of this thread, so maybe one > could argue that all notations are inherently mathematical in > that they're aids to thought processes, which processes by their > very nature are computational in some degree. > > Is Chinese a math notation? Write a 500 word essay on why it > is. Write another 500 word essay on why it isn't. > >> They are constantly inventing more of it. What you call math notation >> is known to mathematicians as "arithmetic". >> > > Iverson called APL an executable math notation (MN). MNs were > divided into machine-executable and not. > > Leibniz dreamed of machine-executable logical languages. We have > them now, call them "computer languages". > >> There is no standard math notation. >> > > Nor is there a strongly fixed meaning to the concept of "math > notation". Is Python a math notation? One could argue that it > is. Or call it a machine-executable logic. > >> Polish: + 1 2 >> Infix: 1 + 2 >> Reverse Polish: 1 2 + >> >> Reverse Polish is one of the two standard calculator input systems, >> the one used by engineers, from HP. Polish is standard in LISP and >> combinatory logic. Neither requires parentheses. Infix notation, as on >> TI and related calculators, requires parentheses, and is much more >> difficult for complex expressions. >> >>> I like to learn new languages - up to a point. I don't see the added value >>> of >>> J in this case. >> >> I like to learn languages a lot more than you, then. I don't consider >> anybody educated in computing without knowing something of languages >> from the LISP, APL, FORTH, OOP, and scalar language families. >> > > "Like" may not be the operative word in all cases. Some people just > don't have the privilege to study that much. I wish that they did. > > Socrates worked with that slave boy to show how intelligence was > innate, but he didn't manage to abolish slavery. > > This is clearly a Python list, so I'm never going to apologize for showing > a Pythonic solution or implementation that could just as well be done > in another language in far fewer steps. > > I'm happy to have APL and J mentioned for comparing and contrasting > (I mention them myself), but if one judges one needs to stick with > Python for a given task (because it's what they know, and because > the task is looming), then it's hardly my place to judge them mentally > and/or morally deficient in some way. > >>> Just my 2c >>> >>> Christian >>> > > Thanks for your remarks Christian. Don't let this Ed character bully > or intimidate you. He likes to show off, which is fine, but he lacks > diplomatic skills IMO. But then some say the same about me. I don't like to show off. I like to get facts straight. The lack of diplomatic skills is a symptom of my strong ADHD. > Kirby > >>> _______________________________________________ >>> Edu-sig mailing list >>> Edu-sig@python.org >>> http://mail.python.org/mailman/listinfo/edu-sig -- Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin Silent Thunder is my name, and Children are my nation. The Cosmos is my dwelling place, the Truth my destination. http://www.earthtreasury.org/ _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig