I just noticed that in the forum message 
http://www.jsoftware.com/pipermail/programming/2009-December/017457.html my 
second remark was somehow moved all the way to the bottom! (?)  Yahoo’s webmail 
shows it correctly in the Sent folder; so I am resending it.  I do not get my 
own posts back from the forum in my Inbox folder and I have assumed they were 
the same (apart from some "random" newline formatting); now I am wondering if 
this has happen before to me (and to other members).



________________________________
From: Jose Mario Quintana <[email protected]>
To: Programming forum <[email protected]>
Sent: Sun, December 20, 2009 11:56:22 PM
Subject: Re: [Jprogramming] Tacit exercise



>Not sure what point you're making, Jose.
 
Let me try to make it less puzzling.
 
>I'm not trying to argue that released / maintained products should /
>shouldn't contain tacit definitions. Ditto explicit ones. Mine will
>contain both.
 
 
>Andrew commented that an explicit definition gives him a bad feeling.
>"Bleah" was the word he used.
 
But he immediately added,
 
>>> This and only this fuels myth of alleged superiority of purely tacit 
>>> expressions.
>>> Because ugly cannot be good.
 
Regarding,
 
>It does me too. I was trying to explain why, on a rational basis. But
>sometimes it's the only thing that works. (Or is the whole approach
>wrong?)
 
I have pointed out perhaps too much (or perhaps not enough?) in the forum, that 
the all tacit way should always be possible because it is Turing-complete. That 
alone, of course, does not make it superior but after a tacit (functional) verb 
is (properly) fixed it becomes a function-level program (see also June's 
comment in this context, 
http://www.jsoftware.com/pipermail/programming/2009-December/017442.html ) 
which is very convenient: no names, no name conflicts; no variables, no global 
variables, no (induced) side-effects, no surprises (no worries) "and, arguably, 
[function-level programs] are often easier to understand and reason" ( see,  
http://en.wikipedia.org/wiki/Function-level_programming ).
 
Yet, I do not really want argue too much (just trying to be fair) because 
ultimately it is not in my best interest 
(http://www.jsoftware.com/pipermail/programming/2009-December/017408.html ) and 
after all I agree with your remark,
 
> It's not just a
> matter of taste. It is what suits you -- for the sort of coding you
> do.
 
I just would like to add: and what makes you comfortable (at a given point in 
time).

 
I knew you were not arguing to avoid tacit definitions; coding in J totally 
with out them will be really hard (and pointless).  However, in contrast, the 
tacit production systems that I referred are all-tacit systems (actually 
function-level systems).  


 



________________________________
From: Ian Clark <[email protected]>
To: Programming forum <[email protected]>
Sent: Sun, December 20, 2009 1:50:17 PM
Subject: Re: [Jprogramming] Tacit exercise

Not sure what point you're making, Jose.

I'm not trying to argue that released / maintained products should /
shouldn't contain tacit definitions. Ditto explicit ones. Mine will
contain both.

Andrew commented that an explicit definition gives him a bad feeling.
"Bleah" was the word he used.

It does me too. I was trying to explain why, on a rational basis. But
sometimes it's the only thing that works. (Or is the whole approach
wrong?)

Ian



On Sun, Dec 20, 2009 at 4:33 PM, Jose Mario Quintana
<[email protected]> wrote:
>>If you're like me, mostly building products for sale, then Andrew is
>>right. Psychology holds the key. Gerry Weinberg (in "The Psychology of
>
>
> Then I (for one) am very glad that our company does not sell, at least not 
> directly, the tacit systems that we code!
>
>
> ________________________________
> From: Ian Clark <[email protected]>
> To: Programming forum <[email protected]>
> Sent: Sun, December 20, 2009 11:02:01 AM
> Subject: Re: [Jprogramming] Tacit exercise
>
> Let me take issue with Björn (amicably :) over this. It's not just a
> matter of taste. It is what suits you -- for the sort of coding you
> do. Number theory research? You'll love J for its freedom from anal
> clutter.
>
> If you're like me, mostly building products for sale, then Andrew is
> right. Psychology holds the key. Gerry Weinberg (in "The Psychology of
> Computer Programming" http://tinyurl.com/2mvj57) tells the tale of
> $K's being spent (at 60's costs) to track down a single bug: a memory
> location labelled ONE which once in a while held the value 2.
>
> To me, what distinguishes software developers from bit-pushers is the
> lengths they'll go to avoid the Weinberg Bug.
>
> I've coded in anger with scores of languages, most now thankfully
> defunct. What makes a bad language for me (or a construct to avoid) is
> one that "says" something else than what it actually does.
>
> To me, programming is all about Binding. Names to entities. Arguments
> to functions. Values to variables. Numerals to each other to make
> vectors. And eventually $$$ to my wallet. What matters is when the
> binding happens. Strictly right-to-left in an expression? When the
> expression is executed? When the function is called? When the app is
> run -- or actually when it's written?
>
> This is why I get a bad feeling with code residing in strings executed
> at run-time. Also global vars. They save you having to think too hard
> when writing the code in the first place. But all that's wasted when
> you have to manage a bug-farm. 'Cos globals are caches -- and there's
> always sometime when a cache is out of date.
>
> That's why I was deeply unhappy recently when I found myself writing:
>
>   items=: 3 : 'i. #TT'    NB. the valid indexes of rows of TT, a
> user-loaded table, which can vary.
>
> Why was I unhappy? For every single one of the reasons I've stated.
>
> So, being a J rabbit, I thought I'd be clever and "go tacit", making
> that instead:
>
>   items=: 13 : 'i. #TT'
>
> and (shame!) I neglected to look at how "items" actually got coded.
> Oh-no! The Weinberg bug. To me the two expressions "say" the same
> thing -- but they aren't!
>
> I spent the whole evening writing code that tested-out ok -- as I
> thought. Until I started up J the next day. That's when the bug first
> appeared.
>
> MORAL: go tacit where you can... but go canny!
>
> BTW Who'd care to volunteer what was wrong with my whole approach to
> "items"? I bet I get a different answer from everybody. I have my own
> answer of course. But I'd like to hear others' first.
>
> Ian
>
>
> 2009/12/20 Björn Helgason <[email protected]>:
>> I think it is rather the opposite that most objections to J has been
>> from people who do not understand tacit.
>> The explicit definitions are not at all ugly either.
>> I think it is more a matter of taste and understanding.
>>
>> The explcit definitions and comments are often much better and
>> especially for beginners.
>>
>> Tacit programming can be very nice and it can also be horribly complex
>> and scary looking.
>>
>> 2009/12/20 Andrew Nikitin <[email protected]>:
>>>
>>> I think the reason that so many people dislike explicit definitions is 
>>> because they are syntactically ugly. Multiline is only mildly ugly, but 
>>> single line is a freak. Come on,
>>>
>>> length=:3 : '%: +/ *: y' ?
>>>
>>> Bleah. Clean, easy to read and still bleah.
>>>
>>> This and only this fuels myth of alleged superiority of purely tacit 
>>> expressions.
>>> Because ugly cannot be good.
>>>
>>> _________________________________________________________________
>>> Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
>>> http://clk.atdmt.com/GBL/go/171222985/direct/01/
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>
>>
>>
>> --
>> Björn Helgason, Verkfræðingur
>> Fornustekkum II
>> 781 Hornafirði
>> Po Box 127,801 Selfoss ,
>> t-póst: [email protected]
>> gsm: +3546985532
>> sími: +3544781286
>> http://groups.google.com/group/J-Programming
>>
>>
>> Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans
>>
>> góður kennari getur stigið á tær án þess að glansinn fari af skónum
>>          /|_      .-----------------------------------.
>>         ,'  .\  /  | Með léttri lund verður        |
>>     ,--'    _,'   | Dagurinn í dag                     |
>>    /       /       | Enn betri en gærdagurinn  |
>>   (   -.  |        `-----------------------------------'
>>   |     ) |         (\_ _/)
>>  (`-.  '--.)       (='.'=)   ♖♘♗♕♔♙
>>   `. )----'        (")_(") ☃☠
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
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