>http://labs.google.com/papers/mapreduce-osdi04.pdf
>http://www.zvon.org/other/haskell/Outputprelude/foldr_f.html

Haskell and Lisp are not mainstream languages.  Like J and APL, they have many 
wonderful things to teach other languages, but "no one" uses them.

>http://www.sgi.com/tech/stl/accumulate.html

C and C++ don't have  /  , which is why it is in the STL.  I could write  /  in 
almost any language (particularly one with macros or a preprocessor), but I'm 
specifically talking about mainstream languages building it into the syntax.  
Besides, I've had to read a lot of C++ and I've never seen the use of 
accumulate.

>http://www.python.org/dev/peps/pep-0289/

I'll grant python and perl, having large user bases.  Perl in particular has 
two operators,  map   and   grep  , which act like  f/  and  (g@:#~ f)  
respectively.  But, at least in Perl, they're significantly less efficient then 
their for/foreach/while/do counterparts.  And again, they don't enjoy the 
ubiquity in user code that /  and  #  do in J and APL (except in MY perl code). 
 Perhaps they're not marketed well enough.  I know Perl6 will have lots of 
(APL-inspired) nice operators.  I'm hoping its release will make the hoi polloi 
see the light.  

>and the list goes on...

Currently, the majority of commercial code* is written in C, C++, Java, C#, and 
VB (6 and .NET).   AFAIK, none of those languages have  /  built into the 
syntax.  In fact, the only mainstream language I know which has it is SQL, 
which does it haphazardly (nonetheless, it may partially explain SQL's 
popularity).

So, unless the rest of the list contains those languages, it's almost 
meaningless.   If there's a way to build it on top of the language, fine.  
Rather than the rest of the list, I'd like to see (sourced) statistics showing 
what proportion of the commercial and industrial programs implemented in those 
languages leverage the construct (and to what extent within each program).  
Better yet, I'd like to know what proportion of professional programmers 
understand and use it**.

-Dan

*  If you don't believe me, search monster.com (or any other job listing) for 
programming positions and the languages they require.  The names of languages 
other than these are likely to appear in the same job description as the word 
"legacy".

**  I'm going to be suspicious of any programmer who knows it's available and 
uses "sometimes" , because I will then doubt he understands it.  It's an 
abstraction of  for  like  for  is an abstraction of  goto  .   Of course, it's 
not always the right tool.  But it'll handle /most/ loops, not /some/.  

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

Reply via email to