From: vaib on
Hi all,

Small programming assignments whose difficulty levels are gradually
increased OR programming assignments that test the knowledge of
various aspects of the language are good for students and probably for
those who want to learn programming in general BUT there's also
another category of people like me who don't really want to learn
programming because they've done a lot of it ( i know no one can do
'enough' programming but I am getting at something else here.

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 ..!!

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 ).

So could anyone tell me what are the power features of say, scheme (to
start with) and suggest some project assignment ?

Regards,
Vaibhav

From: Andrew Poelstra on
On 2010-01-10, vaib <vaibhavpanghal(a)gmail.com> wrote:
> Hi all,
>
> [...]
>
> So could anyone tell me what are the power features of say, scheme (to
> start with) and suggest some project assignment ?
>
> Regards,
> Vaibhav
>

I can't tell you anything about scheme, but a lot of neat ideas are at:
http://www.projecteuler.net

Google 'project euler' if I got the URL wrong.

From: Pascal J. Bourguignon on
vaib <vaibhavpanghal(a)gmail.com> writes:

> Hi all,
>
> Small programming assignments whose difficulty levels are gradually
> increased OR programming assignments that test the knowledge of
> various aspects of the language are good for students and probably for
> those who want to learn programming in general BUT there's also
> another category of people like me who don't really want to learn
> programming because they've done a lot of it ( i know no one can do
> 'enough' programming but I am getting at something else here.
>
> 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 ..!!
>
> 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 ).
>
> 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_languages
http://eli.thegreenplace.net/category/programming/lisp/sicp/
http://www.neilvandyke.org/sicp-plt/

As project assignment, since lisp and scheme are general programming
languages, you write any program you want.

--
__Pascal Bourguignon__ http://www.informatimago.com/
From: Patricia Shanahan on
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
From: James Dow Allen on
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