>> From: Tracy Harms
>>
>> I've been asked how J compares to (and contrasts with) R. Because I've
>> never used R my only option for a timely reply is to turn to others,
>> so I'm passing this question on to the wider J community as I'm sure
>> some of you have a better sense of what the answers can be.
>>
>> If something along this line has already been written up, a pointer to
>> it would be fine. If not, I think the overlap in target audience is
>> great enough that it will be worth compiling some comparisons.
>>
>
> I don't know R anywhere as well as I know J, but given that disclaimer
> here are my impressions:
>
> J
> - strong mathematical focus
> - conceptual framework for working with array data is very general,
> consistent and well thought out.
> - code is succinct/terse
> - object-oriented paradigm available but optional
>
> R
> - object-oriented paradigm is pervasive
> - strong statistical focus
> - mature/powerful plotting and graphics
> - larger user base
> - many user-contributed packages available
> - syntax for entering/manipulating arrays seems clumsy
> - code is relatively verbose
> - more accessible and extensive documentation
>
> If my major focus was statistical then I think R would be the obvious
> choice.
> However I find J's data manipulation features to be both simpler and more
> powerful.
> So my current have-my-cake-and-eat-it-too solution is to use J for
> creating and manipulating data, then use its Rserve interface to access
> features/packages from R. However so far my R usage has been "light".

Like Ric I am much more experienced using J than using R.

The S/R family of languages have been aptly described by a principal author,
John Chambers, as 'Programming with Data'.  See his book by that name.  Each
data object has a class, and the classes have been carefully designed to
meet the needs of statistical analysis.

A frequently used structure is a data frame, which may contain a set of 
variables which may have different types and can reference items by name as 
well as location. There is explicit treatment of missing values.

R has become almost the default language for many areas of statistical 
computing, and as a result new methods are often developed as R functions. I 
believe a statistician will find there are R functions for a wider range of 
tools than in any other language.  It is a functional language which permits 
great variety in the function calls and users generally have access to all 
the relevant code.

Some R experts I know have used J for some tasks, but found it has a high 
entry cost or learning curve for them.  It then becomes a trade off between 
the time cost of learning J and the slower execution for some tasks in R. 
Given the cost of time, for them R has won.  The existence of a local 
community of R users has also helped as it provides them a simple forum for 
interaction.

>From a programing perspective J is much more elegant, focuses on essential 
algorithmic structures, and like Ric I find it much simpler and more 
powerful for most data manipulation problems. For problems with many arrays 
and arrays of differing rank, J provides a much more elegant and powerful 
tool and helps organise ones thought about the problem.

Fraser






----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to