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