Solving a problem involves reusing or applying existing solutions as well as developing new solutions - if the problem is to demonstrate how to solve something from scratch - you need to define what "scratch" is
Cheating involves deceit - such as creating an illusion that you have a solution when you do not or looking up and copying the solution. If the problem was to solve something for which there were a J primitive that provides the complete solution - you would want to show how J implemented the solution - if you can solve it another way that would be an alternate and perhaps a better solution Donna [email protected] On 26-Sep-09, at 3:56 PM, Ian Gorse wrote: > Hello list, > > A few weeks ago I had a conversation with a programmer friend of mine > about solving problems. I tend to use J alot now (but do have > experience in several imperative programming languages) , and my > friend is a c/c++ coder all the way. > > I stated to him that I had just solved another Project Euler, by using > J and pasted the J code for him to see, even though I know for a fact > he wont read the - in his own words - "gibberish" text that was > presented infront of him. To my suprise, he said that J was "cheating" > > I obviously defended his statement and asked how could J be cheating, > and his response was that J was using pre-made algorithms. > > So it is true that J has some brilliant pre-built verbs, such as 1 p: > y and q: y which greatly helps with some of the problems I tend > to solve, but I still wouldn't class it as "cheating" > > My counter argument was that when he writes his own prime check > function, he will re-use that same code in all his projects, > essentially using a pre-built algorithm. > Here is a snippet of our conversation > > Ian: I just solved 187 > Steve: in J? > Ian: yea > Steve: J is cheating in my opinion > Steve: because your using pre-made algorithms > Ian: when you write a prime class, do you re-use it everytime? > Steve: when *I* write a prime-class > Steve: not when J writes the class for you > Ian: no difference, I could write one up if I wanted too, like I > have > many of times. But there is no point in importing mine when its an > exact copy of the existing one > Steve: that's called stealing, lol > Ian: you could say the same as sqrt > Ian: you use a pre-made sqrt function > Ian: or you could write your own > Ian: but you wont > Steve: I have in the past > Ian: yes I know, but I bet you don't use it > Ian: for example, if I want to sqrt in J, i would type %: 50.... > you > would type math.sqrt(50); or whatever > Ian: we both using pre-existing functions > > By his definition of "cheating", everybody will "cheat" unless they > completely write their code in assembly, where there is no such thing > as sqrt, is_prime etc (that I know of anyway) > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
