Dan has a significant point:
My personal experience was that I did not "get" the Map and Reduce found int
Python until after I had starting using J. I was perfectly happy to
interate, iterate, iterate... But after using J, it feels "unnatural" to
have to apply operations to the elements of list this way. I am now going
back and rethinking alot of my Python code to use the functional aspect of
the language in place of 'for loops'

Mike


> >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
>
>

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

Reply via email to