I thought the first rule was: "Q: When is the best time to optimize? A: Not yet!
> On Feb 15, 2014, at 1:36 PM, Raul Miller <rauldmil...@gmail.com> wrote: > > Something to keep in mind is that good programs take time to write, and you > do not have to solve or understand everything all at once. Also, you need > to start somewhere and it's going to be frustrating sometimes. > > On the other hand, you need to find some fun and joy in the programming, > which requires you be just a bit odd (or, in some cases, a lot odd). > > Finally, people often think of computers as "labor saving devices" but it's > probably better to think of them as tools for doing more work. It's a > peculiar kind of laziness you need, where you are willing to work really > hard to get something done in a way that could have been done more easily > by hand, in the hopes that it will solve problems for other people. > > Another aspect of coding is redundancy - every time a problem is solved > with a new set of tools, that makes that aspect of our computing > infrastructure more robust against failure (and also trains the people > involved about some things that matter to other people). > > One useful thing to learn, when programming, is "don't repeat yourself" - > this teaches you to find related things and bring them together. But that's > not the only relevant approach, and often gets misapplied. You also have to > be willing to repeat yourself. > > Another useful thing to learn is optimizing - making code more efficient. > But the first rule of optimization is "don't". Don't optimize until you > need to, and when you do, don't optimize things which do not need it. You > can even think of "don't repeat yourself" as an optimization of "repeat > yourself". But this kind of philosophizing is kind of useless to someone > who doesn't have enough experience yet. So maybe the best advice is "don't" > worry about it? > > Thanks, > > -- > Raul > > > > >> On Sat, Feb 15, 2014 at 1:16 PM, Vijay Lulla <vijaylu...@gmail.com> wrote: >> >> I came across >> >> http://waterstreetgm.org/throwing-in-the-towel-on-becomming-a-programmer/this >> on HN. And >> http://sdawncasey.wordpress.com/about/ in that page. Maybe these pages >> might be useful to consider how newcomers take to concepts. These pages are >> fascinating to me because it shows that even though these people have had >> prior experience with other languages they claim that they still don't >> understand programming. IMO, the emphasis on concepts and how J/APL can aid >> in these explorations is the best approach to teach programming. Actually >> Ken Iverson's explanation of Under (&.) [I read this on Ken Iverson's >> Quotations page] is one of the best explanations of a very commonly >> occurring programming idiom. >> >> >> On Sat, Feb 15, 2014 at 12:51 PM, robert therriault >> <bobtherria...@mac.com>wrote: >> >>> Hi Henry and Raul, >>> >>> I think that the audience being young programmers is a good start towards >>> the issues that Raul raises. As an additional challenge, I think that we >>> would want to use an example that is user friendly once their interest >> has >>> been attracted. There are some areas of J that have more overhanging >>> learning curves than others :) I don't think we would want to get them >>> interested and then send them into the teeth of image processing unless >> we >>> also provided a good road map. >>> >>> Cheers, bob >>> >>>> On Feb 15, 2014, at 9:36 AM, Henry Rich <henryhr...@nc.rr.com> wrote: >>>> >>>> My idea about that is, we need to appeal to young programmers. The >> more >>> experience people have with scalar languages, the less able they are to >>> learn J. The more experience they have with other languages in a class >>> with J, the less they need to learn J. >>>> >>>> The application needs to be of obvious interest to a non-mathematical, >>> non-financial user. My target would be a scientist/engineer/IT person >> who >>> has a computation to perform and no canned package to do it, so they have >>> to write a little code. >>>> >>>> Henry Rich >>>> >>>>> On 2/15/2014 12:30 PM, Raul Miller wrote: >>>>> Perhaps it is also worth noting that we are not going to impress >>> everyone, >>>>> nor should we want to. >>>>> >>>>> J currently caters to some high powered wallstreet types, high quality >>>>> engineering types and so on. But it's hardly the only language in use >>> for >>>>> any of those categories. >>>>> >>>>> ... anyways we should probably think a bit about qualities of the sort >>> of >>>>> people we think we want to attract with this video (or videos, since >> we >>>>> might want to attract different kinds of people). >>>>> >>>>> I'd also be tempted to enlist Cathrine Lathwell's advice on video >>> creation >>>>> - she has more than a little relevant experience. >>>>> >>>>> Thanks, >>>> ---------------------------------------------------------------------- >>>> 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