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

Reply via email to