At the risk of posting twice since I am so interested in this  
conversation and would like to put some questions out to the J  
community, I am going to repost and hope that by resubscribing this  
will get through. I have been lurking for a while, but would  
definitely like to become more involved. bt


What a great discussion!

I'm not going to get to technical here because it is already being  
done really well by those much more experienced than I. My background  
is in communications, distance education and television production, so  
my approach may be a slight excursion from the previous thread entries.

I love the architectural analogy that is being used, and if it is  
extended a bit further I think it shows some of the "big" questions  
faced by many languages in their evolution.

The idea behind S is really a new coat of paint as I see it. Don  
points out that it should not get in the way of existing J  
programmers. Another consideration is how easy is it to remove  
(cognitively) for a beginner that decides to explore the surface. The  
paper Don supplied indicates that he has thought about both an S-J and  
J-S conversion, but I raise the point so that the same conversion can  
be easily done for a novice who has been programmed in S!

If we think of J as a type of building, one of the big questions is  
what type of a building do we want it to be? (I use 'we' because we  
all have our own views on this, but the majority 'we' will determine  
how the language actually grows). Bill's mention about kings and the  
buddha shows that sometimes building functions are designated. In  
these days of social networks the bottom up process is easier to do  
than in the past (Benkler, 2002) and are also an option. The question  
remains that if this building called J is to become more popular, what  
type of building will it be initially? A school? A factory? A research  
laboratory? One of the neat aspects of J is that it could be all of  
these things, but we probably don't have enough resources to  
effectively develop all of them at once.

If we consider how things work inside the building of J, there are  
even more questions. Do we take an ecology of learning (Siemens,  
2005), the studio approach to learning (Brown, 2006) or the course  
based curricula that we see in most schools. The answers to these  
questions also determine how fast and how well the language will grow  
based on what we want the language to do.

Once the structure and function of the building is determined then the  
location becomes key. Where is J situated and with whom is it  
affiliated? A university? The Internet? A software development  
company? The answer to these questions will determine how the message  
gets out to users. An example of a group that is promoting a language  
through podcasts, screen demos and blogs is Cincom with Smalltalk link.

We all have our own answers to these questions, but no one has all the  
answers for everyone else (the J development team of course hold much  
more influence, but even they will not be successful if they try to  
take the language a direction the users don't want it to go). As I  
said before, this is a great discussion and I look forward to the  
ideas that come out of it. I hope I have added and not subtracted  
(monadic >: as opposed to monadic <:) from the process. :)

Cheers, bob

ps. I list a script after the references that I wrote two weeks ago  
that creates a form to view tacit sentences. I tried to post in  
programming and it did not go through, hopefully it is not too out of  
place here, as it does involve a tool to provide more accessible views  
of tacit sentences. Feedback on my approach is welcome, but may be  
more appropriate in the programming forum, if someone has more luck  
than I creating a thread there.

Benkler, Y. (2002). Coase's penguin, or, linux and the nature of the  
firm. Retrieved April 11,
2009, from http://www.benkler.org/CoasesPenguin.html

Brown, J.S. (2006). New learning environments for the 21st century:  
Exploring the edge.
Change: The Magazine of Higher Learning, Sept./Oct., 18–24. Retrieved  
March 8, 2008,
from http://www.johnseelybrown.com/Change%20article.pdf

Siemens, G. (2005). Learning development cycle: Bridging learning  
design and modern
knowledge needs. Retrieved on January 30, 2007 from 
http://www.elearnspace.org/Articles/ldc.htm



cocurrent 'rgtVisual'
require'gl2'   NB. load gl2 definitions in jgl2 locale
coinsert'jgl2' NB. allow use of gl2... without _jgl2_

NB. ---------------------------------------------------------
NB. This script creates a form that takes tacit sentences
NB. entered by the user in a text box and displays the
NB. selected format in a listbox.
NB. ---------------------------------------------------------


DISPLAY=: 0 : 0
pc display nomenu nosize;
xywh 386 330 44 12;cc cancel button;cn "Close";
xywh 9 309 317 22;cc box edit;
xywh 343 24 60 11;cc boxFormat radiobutton;cn "Box Format";
xywh 344 40 60 11;cc mathFormat radiobutton group;cn "Linear Format";
xywh 344 55 60 11;cc treeFormat radiobutton group;cn "Tree Format";
xywh 344 72 60 11;cc parenFormat radiobutton group;cn "Parenthesis  
Format";
xywh 333 11 95 80;cc format groupbox;cn "Display Style";
xywh 0 0 326 299;cc tdisp listbox ws_hscroll ws_vscroll lbs_multiplesel;
pas 6 6;
rem form end;
)

NB. ---------------------------------------------------------
NB. form creation
NB. ---------------------------------------------------------

display_run=: 3 : 0
wd DISPLAY
GHANDLE=: wd'qhwndc tdisp' NB. gsel arg to select gl target
wd 'setfont box "courier" 12;setfocus box;set box "+/%#";'
wd 'setfont tdisp "courier" 12; setenable tdisp 1;'
wd 'set boxFormat 1;'
STYLE=: 5!:2
COLOUR=: 0 0 0
box=: '+/%#'              NB. set default display directly
update ''
wd 'pshow;'
)

NB. ---------------------------------------------------------
NB.  repaint if the form already exists, otherwise create it
NB. ---------------------------------------------------------

display=: 3 : 0
try.
   wd 'psel display;'
   update ''
catch.
   display_run''          NB. create form
end.
)

NB. ---------------------------------------------------------
NB. repaint tdisp according to STYLE of box contents
NB. ---------------------------------------------------------

update=: 3 : 0
try.
   ".'ZZZ=: ' , box     NB. ZZZ is a global dummy that holds the tacit  
entry
   wd 'set tdisp *',;(<"1 ": STYLE < 'ZZZ'), each LF
catch.
   wd 'set tdisp *', 'Not a valid tacit expression'
end.
)


NB. ---------------------------------------------------------
NB. event controls for objects on the text form
NB. ---------------------------------------------------------

display_close=: 3 : 0
wd'pclose'
)

display_cancel_button=: 3 : 0
display_close ''
)

display_box_button=: 3 : 0
display ''                                                              
)

display_mathFormat_button=: 3 : 0
STYLE=: 5!:5
display ''
)

display_boxFormat_button=: 3 : 0
STYLE=: 5!:2
display ''
)

display_treeFormat_button=: 3 : 0
STYLE=: 5!:4
display ''
)

display_parenFormat_button=: 3 : 0
STYLE=: 5!:6
display ''
)

display ''

On -Apr25-2009, at -Apr25-20093:42 PM, Don Watson wrote:

> Hi Ric,
>
>    I can see that we are starting to agree. For example, you state:
>
>    "I think that in reality once they got through the front door and
> started walking around, they'd pretty quickly gravitate towards
> the current symbol set".
>
>    I would agree with that - at least for people like you. I would,
> perhaps rephrase your statement: "A nice facade that doesn't put
> first-time viewers off " by saying that:
>
>     "The purpose of replacing any two character symbols with one
> symbol is to enable new users and school students to
> more easily see the relationship between book Mathematics
> and executable Mathematics.".
>
>    I don't think the work of implementing this would be that large.
> It is not worth replacing every two character verb with one
> symbol - just those that would serve the purpose above.
>
>    We have to remember that everyone is not the same as you are.
> I would expect users to graduate to using the two character
> symbols in J at their own pace. At the extremes, some would do it
> very quickly and some might stay with the single symbols indefinitely
> ______________________________________________________
>
> You state:
>
> "I think it would also be nice (continuing with the house selling  
> metaphor)
> to give all the documentation a new coat of paint in a more up-to-date
> color. In my opinion it currently looks dated, both in terms of visual
> appearance and underlying structure. . . . I also totally agree that  
> it
> would be great to have a separate document that was be more
> appropriate for that purpose [for schoolteachers]."
>
>    I want to be very clear in stating that I am not criticizing the  
> present
> documentation - much of it is very well written. I am only stating  
> that its
> target audience is a small group of sophisticated users. If J were  
> to be
> targeted to a new audience, a different set of documentation would
> be needed
> ________________________________________________
>
> You state:
>
> "My advice would be not to confuse your target audience with tacit  
> to start
> with (whether it is J's version of tacit or yours)."
>
>    I would agree with that statement, but comment that all existing J
> documentation gets to tacit quickly. There is minimal documentation on
> explicit J.
> _________________________________________________________
>    TO THIS POINT WE SEEM TO AGREE
> __________________________________________________________
>
>    You state:
>
> "As I see it the only
> thing stopping you from going down that route at the moment is that  
> you
> don't like the syntax of:
>
>  myverb=: verb def '(x + y) - (x * y)'
>
> I think you'll have much less resistance to the above than to this  
> below:
>
>  myverb=: (([) + (])) - ([) *      NB. I think this is the  
> equivalent in
> your tacit notation?!?"
>
>    Tacit programming is central to what J is. The ASCII
> keyboard and tacit programming seem to me to be the two most
> fundamental and central additions that J has over the APL that I knew
> - I do not know what has been added to APL since. I am not prepared
> to use J without the equivalent of tacit programming.
>
>    Every Computer language has Computer Science
> business trappings like: verb def ' ' . They don't belong in  
> Mathematics.
>
>    Actually the relevant notation would be:
>
>            myverb=: (([) +) - ([) *
>
>    The right argument is automatically brought in to the left of a  
> right
> parenthesis - except when a left argument is indicated and, of course,
> to the right of the last verb. I have 11 characters in my definition.
> You have 20. And if we are talking elegance, a fundament objective of
> Mathematics, I would argue that mine is more elegant than yours.
>
>    How would you put this expression in tacit J ?
> _______________________________________________________
>
>        Don
>
> ----------------------------------------------------------------------
> 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