One of the dangers against which we should warn someone taking this approach is that J embodies an unusual way of thinking about algorithms. Matching to keywords in another language only approximates what you need to know - it doesn't illuminate what's different about the language. I think this is what's behind the digressions in the "VB/J" string functions example I referenced earlier: it's useful to understand that J is doing general array operations that apply to arrays of numbers, for instance.
On Mon, Feb 10, 2014 at 11:07 AM, Jim Russell <[email protected]> wrote: > Agree. In particular about NuVov, and add the J reference card, the books, > the phrases and (what ever happened to) the IX link from the help menu. In > addition to the main page search box the newcomer needs to learn about wiki > searches and fourms searches, and findinfiles, the foreign conjunction > categories, etc. > > It is sad that even after 10+ years as a J fan and lurker on the J fourms, > J is the one language in which I have never become productive, much less > proficient. > > I think a J Glossary, referenced from a more obvious "readme", or "noob > enter here" starting point to provide an overview of the site, the > language, and the J libraries would help. > > (Or maybe I just don't have enough synapses left in my old age.) > > (Raul--yes I am still working on my list of searches/questions I needed as > I revisited J on my iPhone and iPad.) > > > On Feb 10, 2014, at 10:16 AM, Skip Cave <[email protected]> wrote: > > > > Ideally, a newbie should be able to type the word "assignment" into the > > search box on the J Software main page, and get several results, > including > > links to Is (local) and Is (global) on the NuVoc and standard vocabulary > > pages. Additional links to pages discussing assignment in "J for C > > Programmers", "Learning J" and other doc would be great. Since this > feature > > would be oriented to newbies, the NuVoc pages should probably be at the > top > > of the list.. > > > > When learning a new programming language, reading through all the doc > > causes information overload, at least for me. To get a flavor for the > > language, I like to start by searching for common programming functions, > > like assignment, looping, indexing, conditionals, subroutines, etc. Once > I > > get an Idea where the information about these concepts reside in the > > documentation, I will stat reading those sections. Then as I require a > new > > function, I will type the common name of that function in the search box, > > and continue to explore from there. To me, this is a much more efficient > > way to learn a language, rather that trying to absorb the whole range of > > syntax and functionality presented in the order the documentation authors > > want to present it., > > > > Of course, the "common name" for any function depends somewhat on what > > programing language you are familiar with. That's why it's important to > > have as many different related keywords as possible for "subroutine". > > > > Skip > > > > Skip Cave > > Cave Consulting LLC > > > > > >> On Mon, Feb 10, 2014 at 6:30 AM, Raul Miller <[email protected]> > wrote: > >> > >> If you would put together a list of words (and perhaps phrases?) that > need > >> definition, I (or we) would be happy to fill in the definitions, and > supply > >> a few small examples. > >> > >> We might need to go several rounds of this to adequately satisfy you, > but > >> that's ok. > >> > >> Or maybe we have an adequate reference to refer you to? But if that were > >> the case, I imagine the search engines would have found it for you. So > >> instead let's maybe think about hashing out something that might be a > >> suitable addition to the J wiki? > >> > >> Thanks, > >> > >> -- > >> Raul > >> > >> > >> > >>> On Sun, Feb 9, 2014 at 8:51 PM, Jim Russell <[email protected]> > wrote: > >>> > >>> (Sorry, I got no further than "No," when I put my iphone back in my > shirt > >>> pocket and "man boob" sent it.) > >>> > >>> More later when I try to recall all the dumb words phrases I was > >>> fruitlessly trying to find as I played with J on my iPhone this past > >> week. > >>> > >>>> On Feb 9, 2014, at 8:22 PM, Raul Miller <[email protected]> > wrote: > >>>> > >>>> Do you mean like http://www.jsoftware.com/help/dictionary/vocabul.htm > ? > >>>> > >>>> Thanks, > >>>> > >>>> -- > >>>> Raul > >>>> > >>>> > >>>>> On Sun, Feb 9, 2014 at 7:06 PM, Jim Russell <[email protected]> > >>> wrote: > >>>>> I suspect that a glossary of J (and related programming terms) would > >>> help a great deal. Or does one exist? > >>>>> > >>>>>> On Feb 9, 2014, at 1:30 AM, Skip Cave <[email protected]> > >> wrote: > >>>>>> > >>>>>> I was looking over NuVoc the other day, and thinking how it helped > me > >>> learn > >>>>>> the J primitives. My next thought was how I wished that we could fix > >>> the J > >>>>>> search engine so that when newbies searched for stuff in the J wiki > >>> using > >>>>>> traditional programming lingo, they would automatically find the J > >>>>>> equivalent functions. > >>>>>> > >>>>>> When J gave new names to all the J programming elements, it was all > >> for > >>>>>> good reasons. However that made it really hard to learn J by > >> searching > >>> the > >>>>>> wiki for programming concepts, using common programming names. When > I > >>> am > >>>>>> programming in J, I often come to a point where I know what I want > to > >>> do, > >>>>>> and I know what most other programming languages would call what I > >>> want to > >>>>>> do. If I search for that name in the J wiki though, I usually come > up > >>>>>> empty-handed. > >>>>>> > >>>>>> What we really need in NuVoc, as well as all of the J doc, is a set > >> of > >>>>>> common-use keywords attached to every J concept. Thus if a newbie > >>> searches > >>>>>> for "assignment", he will get the vocabulary and dictionary pages > for > >>> Is > >>>>>> (local) and Is (global), When he searches for "indexing" he will get > >>> the > >>>>>> Catalog pages. I could go on like this for quite awhile. > >>>>>> > >>>>>> Also when newbies or anyone stumbles upon a new concept in any of > >> the > >>> J > >>>>>> doc, we should make it easy for that person to add new keywords to > >>> that doc > >>>>>> page. Hopefully the keywords they add will make it easier for the > >> next > >>>>>> person to find that concept in the future. > >>>>>> > >>>>>> So my proposal is that each NuVoc page (and all J doc pages for that > >>>>>> matter) needs a list of keywords at (say) the bottom of the page, > >>> giving > >>>>>> common programming names for the J concept on that page. In that > >> way, a > >>>>>> newbie searching for "assignment" would at least have a chance of > >>> finding > >>>>>> what he is looking for. > >>>>>> > >>>>>> However, my idea is more that just putting a list of keywords on > >> every > >>> doc > >>>>>> page, As has been discussed on the J mail list, Newbies who are > >> trying > >>> to > >>>>>> learn J, know what they are looking for, when they search for a > >>> particular > >>>>>> concept. What If we could make it so when someone finally does find > >>> what > >>>>>> they were looking for, they could easily add words to the keyword > >> list > >>> on > >>>>>> the doc page they found. They could add the words that they were > >> using > >>> to > >>>>>> (unsuccessfully) search for that concept. Then each doc page would > >>> start to > >>>>>> collect keywords that people commonly use for that concept, making > it > >>> much > >>>>>> easier for newbies (and even casual J user oldies like me) to find > >> that > >>>>>> concept in the future. > >>>>>> > >>>>>> There needs to be an easy (but controlled, and perhaps curated) way > >> to > >>> put > >>>>>> a new keyword on any doc page, while that page is being viewed. > There > >>> needs > >>>>>> to be a brief statement above the keyword block explaining what it > >> is, > >>> how > >>>>>> to add a keyword, and why one should do it. > >>>>>> > >>>>>> I believe that in the long run, this keyword scheme could have a > >> bigger > >>>>>> impact on reducing the "steep learning curve" of J than almost any > >>> other > >>>>>> documentation mechanism. > >>>>>> > >>>>>> Skip > >>>>>> > >>>>>> Skip Cave > >>>>>> Cave Consulting LLC > >>>>>> > >> ---------------------------------------------------------------------- > >>>>>> 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 > >> > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- Devon McCormick, CFA ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
