One major problem with programming today is that it is too easy to develop and publish something. We don't take time to really understand what we want and need. In my first job the computer was behind a locked wall which I couldn't see behind. I got one test run a day, sometimes two if I was really fast with keypunch and lucky. So, what did I do while waiting for the results of my next test run? I studied what I had written looking for better ways to do it. I got really good at simulating the computer with pencil and paper. Now testing is so fast and easy one never has to thoroughly understand the problem. Raul's comment about rewriting once one understands the problem is most important. But companies don't allow people to do that.
I found their comments about parallel processing most interesting and a little confusing. They claimed that parallel processing is extremely difficult. Then they talk about the advantages of asynchronous processing. Kind of similar, different in geography. I think that parallel processing is easy, particularly with tools like J has. One trap with parallel processing is that if one is to do parallel processing is that one has to run processes in parallel. Instead, identify processes that can run in parallel, but not to force them to run in parallel. J's constructs for arrays and rank, along with Under, Atop and adverbs like Insert etc. identify things that can be done in parallel, but don't force them to be done in parallel. If I write a verb to handle one item and I pass it many items via rank specification and the underlying hardware can split the items over many processors, great. If not run them serially. The important thing is to identify and tell the interpreter, compiler or whatever if a thing can be done in parallel if it is capable of doing so. That is one reason I prefer to use Atop (@) instead of At (@:) as it tells the J interpreter that verbs can be pipelined given verb ranks if it chooses to. OK, in today's implementation of J @. is faster, but maybe that will change in the future. Vijay, is this what you are looking for? > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
