From: vaib on
On Jan 11, 4:07 pm, Patricia Shanahan <p...(a)acm.org> wrote:
> vaib wrote:
>
> ...> Since I know C, C++, Java and (recently) .Net.. learning a new
> > programming language is not a big deal for me. BUT i have the craving
> > to learn a lot ( my master list includes Lisp, python, perl, linux
> > shell scripting, j2me, scheme, android and a lot more ). Now if i go
> > by picking up books on these subjects ( which I dont mind ) and
> > reading them whilst making small programs that test my knowledge of
> > the language then I guess it would ' a lot ' of time. Time is a fight
> > for me since I am a very busy person. Someone once told me that the
> > best way to learn a language is to make a project in it and in that
> > project make extensive use of the most powerful features of the
> > language ( like pointers if you talk of C ).
>
> ...
>
> I'll sometimes jump straight into a project in a new language, but only
> if the language is very similar to one I already know and I don't really
> want to learn the language, just get the project done.
>
> The risk is not learning the right idioms and style for the new
> language. Often, it is possible to translate idioms from another
> language, but the result is much less smooth than writing the new
> language as it is meant to be written.
>
> Otherwise, I go the beginner book route. It does not take as long as you
> may be expecting, because as you accumulate programming language
> experience, and programming skills, the exercises go faster. By now,
> most of my time on an exercise is spent actively learning about the
> language. I found the first half dozen programming languages I learned
> much the hardest and slowest.
>
> I would be especially wary of jumping straight into a project when
> learning a new language family. Scheme seems to me to be more different
> from C, C++, and Java than they are from each other.
>
> Patricia

yes Scheme is about functional programming paradigm I guess. So I was
looking to make something in that direction.
From: vaib on
On Jan 11, 6:39 pm, James Dow Allen <jdallen2...(a)yahoo.com> wrote:
> On Jan 11, 6:37 am, p...(a)informatimago.com (Pascal J. Bourguignon)
> wrote:
>
>
>
> > vaib <vaibhavpang...(a)gmail.com> writes:
> > > I dont want to learn programming in general since I do a lot of it in
> > > my office and I've done a lot of it in the past...ofcourse,
> > > programming for fun is my second nature ..!!
> > ...
> > > So could anyone tell me what are the power features of say, scheme (to
> > > start with) and suggest some project assignment ?
>
> > I would advise you to read SICP and to watch the lectures.
>
> > SICP   = Structure and Interpretation of Computer Programs
> >          http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
> >          http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
> >          http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_...
> >          http://eli.thegreenplace.net/category/programming/lisp/sicp/
> >          http://www.neilvandyke.org/sicp-plt/
>
> I doubt these links are what OP seeks.  (They certainly wouldn't be
> what I wanted, had I asked a similar question.)
>
> I checked Sections 2.1 and 2.4 in the book the first link links to.
> The closest thing there to "computer science" was that to
> distinguish two different representations of complex numbers
> one adds a ... Type Tag!  (The two other links I checked were
> worth even less ... one linked to huge video files.  Surely
> I'm not the only one who prefers text because I can browse
> or search at my own speed ...)
>
> James Dow Allen

Yes you are absolutely correct. Scheme is about functional paradigm so
it makes no sense to go through any entire book . I would want to
concentrate only on learning the functional paradigm part by making a
related project. And include some good features in it that the
language has to offer.

Still any ideas ? Anybody ?

Thanking in anticipation.

Vaibhav
From: Ben Bacarisse on
James Dow Allen <jdallen2000(a)yahoo.com> writes:

> On Jan 11, 6:37 am, p...(a)informatimago.com (Pascal J. Bourguignon)
> wrote:
>> vaib <vaibhavpang...(a)gmail.com> writes:
>> > I dont want to learn programming in general since I do a lot of it in
>> > my office and I've done a lot of it in the past...ofcourse,
>> > programming for fun is my second nature ..!!
>> ...
>> > So could anyone tell me what are the power features of say, scheme (to
>> > start with) and suggest some project assignment ?
>>
>> I would advise you to read SICP and to watch the lectures.
>>
>> SICP   = Structure and Interpretation of Computer Programs
>>          http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
>>          http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
>>          http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_...
>>          http://eli.thegreenplace.net/category/programming/lisp/sicp/
>>          http://www.neilvandyke.org/sicp-plt/
>
> I doubt these links are what OP seeks. (They certainly wouldn't be
> what I wanted, had I asked a similar question.)

I doubt it too. It's hard to get the "power features" of scheme from
the SICP book without reading most of it.

> I checked Sections 2.1 and 2.4 in the book the first link links to.
> The closest thing there to "computer science" was that to
> distinguish two different representations of complex numbers
> one adds a ... Type Tag!

That surprises me. How do you define CS that it excludes, for
example, Church numerals? That is just one example. I see a lot of
what I call CS in 2.1 and 2.4.

> (The two other links I checked were
> worth even less ... one linked to huge video files. Surely
> I'm not the only one who prefers text because I can browse
> or search at my own speed ...)

Me too. Video is not a good learning medium for me and videos of
lectures are usually worse than best teaching videos (see, for
example, some of the best Open University TV programs about maths from
the 70s and 80s).

--
Ben.
From: James Dow Allen on
On Jan 12, 2:18 am, Ben Bacarisse <ben.use...(a)bsb.me.uk> wrote:
> James Dow Allen <jdallen2...(a)yahoo.com> writes:
> > I checked Sections 2.1 and 2.4 in the book the first link links to.
> > The closest thing there to "computer science" was that to
> > distinguish two different representations of complex numbers
> > one adds a ... Type Tag!
>
> That surprises me.  How do you define CS that it excludes, for
> example, Church numerals?

I'm sure I misused the term "computer science." But maybe
I'm dense, but what practical value do Church numerals have
to a programmer?

> That is just one example.  I see a lot of
> what I call CS in 2.1 and 2.4.

Glancing again at 2.1 I see Interval Arithmetic as a
possibly interesting topic. For me that's "been there
done that" and even if it weren't it seems more like
low-level coding detail than interesting abstraction,
and certainly not the kind of *language dependent*
abstraction OP was asking for.

> >  (The two other links I checked were
> > worth even less ... one linked to huge video files.  Surely
> > I'm not the only one who prefers text because I can browse
> > or search at my own speed ...)
>
> Me too.  Video is not a good learning medium for me and videos of
> lectures are usually worse than best teaching videos (see, for
> example, some of the best Open University TV programs about maths from
> the 70s and 80s).

Learning mode is certainly variable. I come across as a blithering
idiot after receiving oral instructions, but have dazzled
experts with my knowledge after browsing a book.

James
From: Ben Bacarisse on
James Dow Allen <jdallen2000(a)yahoo.com> writes:

> On Jan 12, 2:18 am, Ben Bacarisse <ben.use...(a)bsb.me.uk> wrote:
>> James Dow Allen <jdallen2...(a)yahoo.com> writes:
>> > I checked Sections 2.1 and 2.4 in the book the first link links to.
>> > The closest thing there to "computer science" was that to
>> > distinguish two different representations of complex numbers
>> > one adds a ... Type Tag!
>>
>> That surprises me.  How do you define CS that it excludes, for
>> example, Church numerals?
>
> I'm sure I misused the term "computer science." But maybe
> I'm dense, but what practical value do Church numerals have
> to a programmer?

Ah, right. I'd have scanned 2.1 and 2.4 quite differently if you'd
have said "the closest thing there to something of practical value to
a programmer was that to distinguish two different representations of
complex numbers one adds a ... Type Tag!".

>> That is just one example.  I see a lot of
>> what I call CS in 2.1 and 2.4.
>
> Glancing again at 2.1 I see Interval Arithmetic as a
> possibly interesting topic. For me that's "been there
> done that" and even if it weren't it seems more like
> low-level coding detail than interesting abstraction,
> and certainly not the kind of *language dependent*
> abstraction OP was asking for.

Yes, it is very much a beginner's book. That's why I agreed with your
comment about it being unsuitable to get a handle on Scheme.

<snip>
--
Ben.