Re: Fonts, Formats, and examples as learning tools
- To: mathgroup at smc.vnet.net
- Subject: [mg113658] Re: Fonts, Formats, and examples as learning tools
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Sat, 6 Nov 2010 05:00:51 -0500 (EST)
I believe one of the factors involved here is that TableForm is an older function, and that Row and Column (and, more generally, Grid) appeared only in more recent Mathematica versions -- although in some form they clearly had to be working behind the scenes before. On 11/5/2010 6:11 AM, AES wrote: > In article<iatt31$egu$1 at smc.vnet.net>, > Murray Eisenberg<murray at math.umass.edu> wrote: > >> I tried it and got exactly what I expected, including having the input >> spit back at me when I used RowForm (since there is no such built-in >> Mathematica function). > > Consistency -- for the reasons stated. > > By the way, Column appears to yield the same default vertical spacing > between elements as does TableForm. So, I'd assume Row also yields the > same default horizontal spacing between elements as does TableForm? > > I can appreciate that some applications might routinely want zero > horizontal spacing in a Row; but then others might not. In fact, many > might expect that Row[{a,b,c,d}] and Row[{ab,cd}] ought to come out > looking different, at least in the default case. Anyone who wants to > can of course then easily reduce this spacing to zero. > > Given the natural similarities between rows, columns, and tables in > everyday life, might it have been sensible to build Mathematica using a > basic structure in which Row, Column, and Table all had consistent > iterators, and RowForm, ColumnForm and TableForm all were formats or > "wrappers"? > > Maybe there are subtleties that would make this difficult -- but maybe > not. > > >> What were _you_ expecting, and why? >> >> On 11/3/2010 3:57 AM, AES wrote: >>> In response to a query about Fonts and Formats, Bob Hanlon >>> <hanlonr at cox.net> suggests the example: >>> >>>> Style["This is a test of various fonts 0123456789", >>>> FontFamily -> #, 18]& /@ >>>> {"American Typewriter", "Arial", >>>> "Papyrus", "Playbill", "Webdings", >>>> "Zapf Dingbats"} // Column >>> >>> I was intrigued by the "// Column" suffix -- a usage I had not >>> previously encountered. >>> >>> And, it took my mind back to a couple of recent threads where posters >>> enthused over 'examples' as a desirable form of documentation, and as a >>> good way of learning the intricacies of Mathematica. >>> >>> My (unposted) reaction at that time had been that examples can give you >>> good bits of code, which you can copy and use immediately; but they can >>> also be a *bad* (or at best misleading) way of learning Mathematica, >>> because of the human tendency to think that if some particular coding >>> gimmick works in one example, it's likely to work in other apparently >>> similar or parallel situations -- in other words, the natural human >>> tendency to generalize. >>> >>> The above example provides a beautiful example of this. Try copying it >>> and executing it six consecutive times, replacing the word 'Column" >>> successively by >>> >>> Row, RowForm, Column, ColumnForm, Table, TableForm >>> >>> [and, as always, make your own prediction *in advance* as to what's >>> going to happen in each case.] >>> > -- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305