Thanks for calc2, Ric.

I'll have to study it closely because it's much like my own extension,
but not exactly so.

I also feel that buttons for the remaining ops are needed now, and
that this needn't complicate the demo too much. In fact with the use
of 'bind' (and I was confusing 'bind' and Bond but you didn't say
anything) my demo has become if anything too simple to illustrate what
I originally wanted to.

Ian


On Tue, Nov 2, 2010 at 2:15 AM, Sherlock, Ric <[email protected]> wrote:
>> From: Ian Clark
>> Sent: Tuesday, 2 November 2010 09:33
>>
>> > I agreed with Brian that I missed the "equals" button in the original
>> calc.ijs. Now I miss the "plus" button. It seems unintuitive to press
>> "=" when you want to add.
>>
>> Hahaha! (Can't please everybody.) Can I interest you in a more
>> advanced calculator? It's called J ... :-)
>>
>> I'm just glad I wasn't on the design team of the original pocket
>> calculator. It's subtler than it looks.
>>
>> Providing both '+' and '=' buttons means adding a whole row or column
>> of buttons or it looks untidy. I've a calc with the conventional
>> look'n'feel -- but IMO it's too complex to serve as a good demo.
>>
>
> I've attached an alternative layout to the JinaDay wiki page (named 
> calc2.ijs) that includes separate '=' and '+' buttons. There are also some 
> minor changes to some of the verbs to make it work more like my calculator 
> and make it easier for users to add other operation buttons. See if you think 
> that works/looks OK.
>
>> > The current phrasing of your "blasphemous comment" has more impact
>> but I get the feeling that your actual message is more like: "There is
>> no need to get your head around tacit definition".  The fact is that
>> many of the button handlers in the calc script use tacit code! I
>> suppose it comes down to whether you think that being provocative
>> rather than reassuring will help get your message across best.
>>
>> "Here Be Dragons..."
>>
>> I meant to be reassuring by being provocative. Reassuring (to APLers)
>> by being (or, rather, risking being) provocative to J-ers.
>>
>> De-mystifying a topic is never free from the insinuation that the
>> mystery is intentional: or at the very least, serving someone's
>> purpose. People are quite smart, you know. If a mystery serves no
>> purpose -- or no one's purpose -- it soon gets cleared up. It follows
>> that de-mystification is apt be viewed as de-bunking.
>>
>> It wasn't my intention to debunk. Simply to cast some light. Maybe to
>> let in some fresh air.
>>
>> On first encountering APL my initial response was to feel inadequate.
>> I should have felt humble, but instead I felt humiliated. Because at
>> the time I was masquerading as a "computer scientist", ie an expert.
>> This was back in 1973, when the industry was less fragmented. It was
>> "IBM and the Seven Dwarfs" -- and I was IBM.
>>
>> So I looked for holes. For excuses to label APL as mad, not brilliant.
>> Then I'd be exposed as sane, not stupid. It reassured me to swap sly
>> remarks about the language, especially as others felt the same as I.
>>
>> On first encountering J, I experienced the selfsame feeling I had on
>> first meeting APL. It largely revolved around "tacit programming".
>> Attempts by those who'd Seen The Light to motivate me by saying "it's
>> really quite easy" -- or -- "it's far better than APL doing it this
>> way" simply provoked hostility. And not just in me, I observed.
>>
>> So there was a barrier to surmount, before I could contemplate J
>> equably, let alone consider using it myself for a serious task.
>>
>> Tacit programming _isn't_ "really quite easy". In principle, maybe...
>> But in practice it's as much a strain as coding in 68000 ASM. (Yes,
>> done that -- and sold the result).
>>
>> And that, I think, is the way to look at it. Those who can do it can
>> justly be proud of their skill. But nobody is ashamed of not being
>> able to compose 68000 machine code in their heads without computer
>> assistance, so why should they be when it's tacit J?
>>
>> There is this difference. Machine-code is best kept beneath the
>> covers. But tacit J beneficially seeps out. As you observe, there's
>> tacit code in calc.ijs.
>>
>> IMO the issue over tacit J is not whether we should banish (digit&1)
>> from calc.ijs, but whether we should aim to make novices ashamed of
>> writing:
>>    quo=: 3 : 'Q,(":>y),Q'   NB. place datum in quotes
>> instead of:
>>    quo=: Q , Q ,~ [: ": >
>> because that, I think, has been counter-productive.
>>
>> They'll do so in the end... and like as not they won't know they're
>> doing it.
>
> I agree that it is counterproductive to denigrate the use of explicit 
> definition. I don't think that happens really, although I know that a lot of 
> code on the forums is tacit. As I said recently on comp.lang.apl I think this 
> is really just a side effect of more experienced users thinking and working 
> more in tacit mode.
>
> I remember when I started learning J that I pretty much "ignored" trying to 
> create tacit verbs - I was content to stick with explicit. I found the tacit 
> code on the forum hard to read/understand. I think my biggest hurdle in 
> coming to terms with tacit was being able to reliably identify the parts of 
> speech for J's various primitives (verb vs adverb vs conjunction). Without 
> that knowledge it is hard to identify the composed verbs and correctly 
> separate the hooks from the forks. As I learnt the J primitives and their 
> parts of speech, suddently tacit didn't seem so hard after all, and now I 
> find myself using it in preference to explicit for many sentences.
>
> Having said that I'd be more inclined to promote the use this form than the 
> one liner string form above. Otherwise things can get messy when dealing with 
> strings.
> quo=: 3 : 0
>  Q,(":>y),Q
> )
>
> Ric
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to