I very much agree with your observations here, about us needing more task
oriented documentation. Frankly, we could also do with a few textbooks (I'd
love to see textbooks illustrating the use of J to address things like
finite element analysis, circuit analysis, antenna theory, or any of a
variety of related topics... and I should probably write one one how to
build search engines).

If you could find the time to document your library (or perhaps to write a
few blog entries about some of the more frustrating or intricate issues)
that might be a good step in the right direction.

If you do that, please let us know how to find your writeups, so that we
can read them (and perhaps supply useful suggestions).

Thanks,

-- 
Raul


On Fri, Feb 28, 2014 at 1:37 PM, Yike Lu <[email protected]> wrote:

> Great, thanks for the quick responses. If my quoting here is off, it's
> because I used digest mode.
>
> Generally speaking, these subjects are things I've actually found the
> basics of what I need already. I'm just complaining about the pain involved
> in finding said basics ;).
>
> That said, I greatly appreciate all the links everybody's provided. I'll
> read up more because I'm sure there are things I missed.
>
> Re: Raul on locales, I mean non standard as in most languages I know use
> prefix syntax for namespaces. ns::function (C++) or ns.function (Python).
> So on first look, the underscores seem like separators_for_multiword_names.
> Also the label "locale" is non standard, so I actually skipped some
> "locale" links at first because I thought they dealt with time zones!
>
> To be clear, I don't really have an opinion on its suitability for the
> language (seems fine the way it is), rather I just mean that something
> fundamental like that should be front and center on any introduction to the
> language.
>
> Re: Kip. What I mean is a flexible relational style table processing
> (analytics first, transactions secondary). I mean, being able to use J's
> array functionality inside queries. If you look at my repo, for the
> "filter", "perform" methods, I just execute a string inside a local
> environment where the table keys (ie column names) are mapped to the actual
> column arrays. Therefore, in so doing, I can use any verb defined in J to
> manipulate the columns.
>
> Overall, I'm actually getting the hang of things pretty quickly. I
> personally have enough general programming experience to be able to read
> through source, search docs, etc to find the solution to what I want.
>
> Having done that for a few hours, my opinion on the state of the J docs is
> that we don't need another "array manipulation basics" or "language basics"
> tutorial. It'd be better to have a set of task oriented tutorials that link
> to the appropriate "basics" documentation. The thing is, to do anything
> useful "in the real world", you need to access higher level functionality
> (as I quickly discovered) in the language, and oftentimes, going through
> such exercises makes the "basics" stick more firmly.
>
> For example, in piecing together my little library, I had to go through
> package management, locales, source from the JDB library, OO, and pieces of
> the standard library.
>
> Also, everything seems very very scattered. Again, the dictionary and
> primitives seems well covered, but the standard library, packages, etc do
> not.
>
>
> On Fri, Feb 28, 2014 at 11:18 AM, Yike Lu <[email protected]> wrote:
>
> > Hey everybody, I'm new to the forum. I got involved with vector languages
> > when I had to learn q for a job. I have since moved on from that job and
> > lost q, so I've been looking for a suitable replacement ever since. I
> tried
> > J here and there, but the things I learned never really stuck. I went to
> > one or two meet ups at the NYJUG (met Devon there). My programming
> > background includes C++, R, q, python, and a sprinkling of Scheme.
> >
> > I decided to pick up learning J again. I have some feedback on the first
> > few hours that I went through, hopefully it's useful information and
> others
> > have the same problems:
> >
> > 1. I wanted to tackle a problem I already had, or already have solved.
> > Data being what it is, that usually means a pre-existing data set, often
> in
> > CSV format.
> > 2. I found the csv package, quite nice.
> > 3. For some reason my Qt IDE broke. So I had to use jconsole and pacman.
> > This took me longer than expected to find. Until then, I was just praying
> > the IDE would come back so I could use the package manager.
> > 4. JDB specifically -- no mention of the JMF dependency? Bad call. I was
> > confused for 20 minutes.
> > 5. load operator syntax and path -- where is this documented? I figured
> > out the JHOME/addons directory is part of it. Can I add to or change it
> the
> > path?
> > 6. How to load a script? load confused me because the syntax suggested it
> > loads the whole directory (although I later found out this wasn't the
> > case).  I eventually found
> > http://www.jsoftware.com/docs/help701/learning/26.htm
> > 7. Locales? A lot of the packages use more advanced features like OOP and
> > locales, and it's very disorienting at first, especially with the non
> > standard Name__Locale syntax.
> >
> > At the end of the day, my use case and learning approach can be summed up
> > as follows:
> > * I have a pre existing problem that I have solved. I would like to be
> > able to use J to solve it, potentially more quickly or more elegantly.
> > * In theory, this should require a simple mapping of basic concepts from
> > one language to another, plus a generous helping of library functions.
> > * How do I do it in J? Take a direct, focused approach to getting the
> > basics handled (data loading and selection for example). This gets me to
> a
> > stable point of reference.
> > * What can I do next in J? This is more exploratory learning. I have the
> > data loaded and I know how to do basic operations. Build on this
> knowledge.
> >
> > The wiki documentation so far makes this unnecessarily painful. Remember
> > we don't have a meaningful StackOverflow presence or easily Google-able
> > answers. There's a million tutorials on how to do basic array
> > manipulations, and they're all front and center. The OO, script loading,
> > locales seemed to be buried further back.
> >
> > Also, my general feeling reading through the docs is that they're pretty
> > scattered on those topics.
> >
> > I've started a github repo where I'm keeping some utilities I'm
> developing
> > around table manipulation: https://github.com/yikelu/j_table
> >
> ----------------------------------------------------------------------
> 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