I am a terrible programmer, but I have found that including comments that have examples of what the entity should do, are usually enough for me to figure out what is going on.
Without that ... I usually start from scratch, as that is faster and less frustrating. I really am terrible at programming. Cheers, bob On May 15, 2014, at 10:52 PM, 'Bo Jacoby' via Programming <[email protected]> wrote: > "how does one write understandable J?" One does not write understandable J! > One writes as compactly as possible, and if it needs to be understood it's > parts are investigated piece by piece. Understandability is not a property of > text, but rather a property of relationship between text and reader. / Bo. > > Den 3:51 fredag den 16. maj 2014 skrev Don Guinn <[email protected]>: > > What is easy and obvious depends so much on one's background. Several years >> ago we tried to teach a woman, at the time in her 80's, how to use a >> Windows computer. Total failure. The real problem was that she could see no >> use in or reason to use a computer. She had no interest in learning it. >> >> Anyone who thinks that today's computer technology is intuitive, obvious >> and easy should go to an old folk's home and try to teach them to use a >> smart phone. But for a four-year-old. Piece of cake. >> >> >> On Thu, May 15, 2014 at 6:10 PM, Raul Miller <[email protected]> wrote: >> >>> I am convinced that most code is not understandable to most people, >>> regardless of the language it is written in. When I look at how the >>> computer industry has progressed, I see this more and more. People write >>> huge amounts of code, don't document it very well, then other people use >>> arbitrary bits of it and things sort of just freeze at that point. >>> >>> Personally, also, when I read code in any language, I do not feel I really >>> understand it until I see what it does to representative data. >>> >>> So clear descriptions, simple data, and good labels are where I would focus >>> most of my efforts in making code readable. And I would also expect that >>> most of my code is going to be unread by most people (and I'll get dinged >>> for utterly random stuff by people who do read it). >>> >>> I think the point of readability is: you are going to need to be able to >>> fix it, yourself, when it breaks, so you need to make it readable for >>> yourself. And for that purpose, coming back and trying to read it a month >>> or so after you've written it can be a good exercise. >>> >>> Also, I've found that documenting code is a great way of making code >>> simpler. It's quite often the case that it's easier to change the code to >>> be easy to document than it is to document some coding quirks that >>> originally seemed to be a good idea. So if you want readable code, another >>> good thing to do is have a technical writer (or at least someone reasonably >>> literate) work with the programmer to document it for some audience. >>> >>> Of course, the most important thing is making sure that it works. >>> >>> Thanks, >>> >>> -- >>> Raul >>> >>> >>> >>> >>> On Thu, May 15, 2014 at 5:23 PM, Kip Murray <[email protected]> >>> wrote: >>> >>>> How does one write understandable J? I offer my newt adverb below which >>>> uses spaces to promote understandability. >>>> >>>> Another technique might be Linda's "bottom up" style of first showing >>>> pieces then putting the pieces together. What are your techniques? >>> Please >>>> illustrate. >>>> >>>> We would like at least to understand our own code when we come back to >>> it! >>>> >>>> NB. Newton's method >>>> >>>> newt =: 1 : 0 >>>> t =. y >>>> h =. 1 % 512 >>>> whilst. t ~: s do. >>>> s =. t >>>> t =. s - +: h * (u s) % (u s + h) - u s - h >>>> h =. h % 2 >>>> end. >>>> t >>>> ) >>>> (2 - *:) newt 2 NB. Find root of 2 - *: near 2 >>>> 1.41421 >>>> (2 - *:) newt _2 NB. Find a root near _2 >>>> _1.41421 >>>> >>>> >>>> >>>> -- >>>> Sent from Gmail Mobile >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >> >>>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> >> >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
