From: Tim Bradshaw on
On 2010-03-12 05:11:19 +0000, Alain Picard said:

> I've never experience this with any other computer language. I can't
> be the only person with this experience, can I?

As I said in some previous thread, I think this is person-dependent.
Some people like some things, some like others. FWIW I find this kind
of thing happens to me both for Perl and CL (I didn't write any CL for
several years until recently).

Of course the people who (say) don't find Lisp suits them desperately
want it to be the case that this is because Lisp is somehow *bad*. I
think this says much more about them than it does about Lisp.

The same kind of person-dependent thing happens in many other areas.
For instance I have a pretty good match for various kinds of continuous
& geometrical maths (not surprising given I did a physics degree), and
even after 20+ years not doing anything I can pick it up very fast.
But I'm just terrible at more discrete stuff - I have no intuition at
all for number theory say, and I could never be good at it. I can fight
my way through it if I have to, but it is a struggle and I forget it
instantly. I have friends who find exactly the opposite.

Fortunately I am grown up enough to understand that this reflects on my
abilities, and not argue that number theory is bad.

--tim

From: Nick Keighley on
On 12 Mar, 11:00, Tim Bradshaw <t...(a)tfeb.org> wrote:
> On 2010-03-12 02:14:20 +0000, John Bokma said:

> > How does C prevent [pointers pointing out of the bounds of an array]?
> > Or I don't understand what a pointer into an array is.
>
> Implementations typically do not, but it is not allowed by the standard.

actually the standard says "the behavior is not defined". So an
implementation can ignore it. And most (all?) of 'em do

From: Tim Bradshaw on
On 2010-03-12 05:44:14 +0000, Ron Garret said:

> I have never used awk or sed. I have written the odd shell script, but
> only for really trivial things.
>
> The reason I have never used awk or sed is that I learned Lisp very
> early in my career, long before I ever encountered unix

This probably accounts for a lot. I learnt Lisp and Unix more-or-less
at the same time (well pre-Perl).

> The world is slowly -- oh so slowly -- beginning to
> come to its senses about this and realizing that the right way to solve
> this problem is not to make it easier to generate parsers but to
> standardize the representation so that you don't have to spend your
> whole life writing parsers. If you standardize the representation you
> can just write ONE parser and then go spend your time on more productive
> pursuits.

This may be true in some domains, but I think the amount of
unstructured data that is being generated is so spectacular that the
structured stuff will always be trivial. (Think video and audio).

From: Pillsy on
On Mar 11, 6:54 pm, Tim Bradshaw <t...(a)tfeb.org> wrote:

> On 2010-03-11 18:24:32 +0000, Ron Garret said:

> > C++ is clearly harder to learn than, say, Scheme, and
> > yet I'm pretty sure that more people know C++ than know
> > Scheme.

> On what basis is it then harder to learn? I think you may be confusing
> "has a small definition" with "is easy to learn".

C++ is not only huge, a lot of its size is taken up by tricky, not-
very-orthogonal features that provide you with 8 million ways to lose.
When you do screw up, if you're lucky your compiler will spam you with
pages of incomprehensible error messages or your program will just
dump core.

People learn C++ because there are lots of jobs that require C++. The
last time I was looking for work, I saw one (1) job that listed
knowing Scheme as sorta desirable, and dozens and dozens that listed C
++ as a hard requirement.

People learn Scheme because its used as a pedagogical tool, and it's
often used as a pedagogical tool specifically to teach stuff that's
abstract or theoretical or just plain esoteric.

Cheers,
Pillsy
From: Tim Bradshaw on
On 2010-03-12 06:02:54 +0000, Ron Garret said:

> You're kidding, right? Are you seriously questioning the claim that C++
> is harder to learn than Scheme?

Yes.

>
> The reason C++ is hard to learn is not that it's big per se. Common
> Lisp is big too, but it's vastly easier to learn that C++. The reason
> C++ is hard to learn is that it burdens the programmer with remembering
> endless minutiae, all of which are essential to producing working code.
> Google for "C++ coding standards" and compare the result to "Scheme
> coding standards." There's an entire industry devoted to reminding
> people of the myriad things they must keep in mind while coding in C++.

This of course means rather little: there are a lot more C++ guides
than Scheme ones because there are a lot more people programming in C++
than in Scheme.

But even so, I think it turns out that many people find it a lot easier
to learn a large number of relatively easy things than a far smaller
number of hard things. I know someone who, at the age of about 12,
could recite apparently endless data about Pokemon, and he was in no
way unusual - many of his friends knew all this stuff as well.

Similarly, people find it fairly easy to learn, say, entire plays or
entire large pieces of music - actors and musicians do this all the
time. And, significantly, it's not this ability which is interesting:
no one says "gosh, it's amazing that they managed to *learn* that
concerto", instead they talk about how sensitively they played it or
what have you. The ability to learn vast amounts of stuff is just
assumed, because people are very good at that.

--tim