Re: Interesting article by Joel Spolsky: The Perils of JavaSchools




Willem wrote:
> wooks wrote:
> ) A list of items is either empty (the empty list).
> ) Or the concatenation of an item and a list.
> )
> ) There that didn't hurt.
>
> That's the definition of a list, not of a _linked_ list.
>

Of course it was.

> A list of items is an ordered collection of items. Sheesh.
>

See the definition I gave above which scales unlike yours which
doesn't. Sheesh.

> )> )> Remember, we are talking about *natural* definitions here.
> )> )
> )> ) what is natural about using 2 entities to define 1 thing
> )>
> )> What is unnatural about it ?
> )
> ) because in the real world the item (whatever it is) does not consist of
> ) 2 entities, neither does it contain a pointer. Those are things you
> ) have introduced to support your hack.
>
> In the real world, there are no *linked* lists. I need two entities
> to make it a *linked* list.
>

that makes them even more unnatural.

> )> To me it has to do with the way an average human would think.
> )
> ) average humans do not associate pointers with list.
>
> Average humans that know about linked lists *do* associate pointers
> with *linked* lists. Average humans would also equate normal lists
> more naturally with arrays.
>

Average humans work to their limitations some of them self imposed.
What are you trying to say aim low?

> )> Average humans don't think recursively, as far as I know.
> )
> ) yes they do. they climb steps recursively, they mark papers
> ) recursively. they read books recursively.
>
> They climb steps iteratively, they mark papers iteratively,
> and they read books iteratively. A human usually repeats the
> same action until he is done. repeating the same action until
> you are done is called iteration.
>

What exactly do you understand by recursion.

> ) You don't really know what recursively means do you.
>
> If you are going down to such a basic level of what recursion means,
> then you have lost the meaning it has in a programming context.
>

giving things unnatural meaning in a "programming context" is called
hacking.

> Yes, you can call 'repeat an action until you are done' recursion. But
> to claim it is a more natural way to program 'repeating an action' than
> to use the repeat idiom given by the programming language is nonsense.
>

What are the essential characteristics of a recursive algorithm,
because the more you contribute to this thread the more it seems that
you don't know.

> ) 1. your definition introduces complications that are not present in the
> ) real world.
>
> That's because it is the definition of a *linked* list.
> In the real world, linked lists are few and far between.
>

I agree. they only exist in the minds of programmers who hack.

> ) 2. when I ask you to explain things the answers I get are ... there are
> ) a number of ways to do this or it's irrelevant.
>
> That's because there are indeed a number of ways to do them and/or they
> are indeed irrelevant.
>

and as far as answers go that is 100% soundbite 0% substance.

.



Relevant Pages

  • Re: newbie question on CAR and CDR in CL
    ... You might put yourself in the shoes of someone learning Lisp, ... You hear about recursion blowing the stack, ... teaches you recursion to deal with arbitrarily long lists. ... "Mutable programming language that can assimilate other languages? ...
    (comp.lang.lisp)
  • Re: newbie question on CAR and CDR in CL
    ... You might put yourself in the shoes of someone learning Lisp, ... You hear about recursion blowing the stack, ... teaches you recursion to deal with arbitrarily long lists. ... "Mutable programming language that can assimilate other languages? ...
    (comp.lang.lisp)
  • Re: The empty list and the end of a list
    ... I don' t know exactly what you mean by "tail ... Maybe it is a synonym for "tail recursion", ... some recursive algorithm just aren't tail recursions. ... recursive lists). ...
    (comp.lang.lisp)
  • Re: Interesting article by Joel Spolsky: The Perils of JavaSchools
    ... >>>Lists are recursively defined structures. ... >> definition to define a list, but it isn't obligatory. ... (Pedant's observation - recursion cannot be ... Richard Harter, cri@xxxxxxxx ...
    (comp.programming)
  • Re: Lisp Question
    ... I think they use us a lot to teach recursion, ... seeing weirdly named operators and we have no abstraction capability. ... So lists are mostly what they teach, and then not well, and people come away ... I doubt many in school are teaching DEFCLASS or DEFMETHOD in classes, ...
    (comp.lang.lisp)