[plt-scheme] Request for Info
On Dec 15, 2006, at 00:38, Sarvottam Salvi wrote:
> We are 8th and 9th grade students. We are looking for language
> which will allow us to present Chemistry and Physics concepts
> graphically and interactively. We would also like to acquire good
> programing skills. [...] Has anyone done simulations in scheme.
Gerry Sussman, one of the authors of the classic SICP:
http://mitpress.mit.edu/sicp/
also co-authored Structure and Interpretation of Classical Mechanics:
http://mitpress.mit.edu/SICM/
The latter book is meant for college undergraduates and graduate
students, mostly because it requires college-level math skills, and
it has simulations you may find interesting. It demonstrates
advanced application of Scheme to a particular field, i.e., physics.
If the math looks tough, it's possible you'll figure out some of the
math just by reading the Scheme code. Both books are available for
reading online.
The messages that recommended you explore HtDP, which is also online,
are good guidance. HtDP is about learning habits that minimize bugs,
keep programs manageable, and help you get your ideas into code with
a minimum of fuss. SICP and SICM provide food for the imagination
that could keep you thinking for years.
> If we have to make our programs useful for others so that they can
> run in their browser then do we have to convert them into Java
> (Java servelets and applets)? If so then it seems Java should be
> our first language to be learned.
Web applications can be written in almost any language these days.
Java is good for many purposes, but you'll do more typing. With any
language, when your initial design is not perfect, you have to
rewrite your code. Rewriting your code will be easier in Scheme if
you've read HtDP and used a good tool like DrScheme. If you want to
improve Java code, you need an IDE (integrated development
environment) like IDEA / Eclipse / Netbeans.
If you want interactivity, as Matthias Felleisen mentioned, check out
Flapjax. Look at all the demos, look at how quickly they come up,
and then compare them with Java applets. Ask yourself which has the
capability and performance that fits your need.
> Why there are are so many Schemes?
The core language is a standard, and very powerful already. It is
also a launch pad for the imagination and tremendous freedom. It is
a bit like learning to fly. Core Scheme is to the many
implementations as the skill of flying is to the kinds of aircraft
you might fly. The mechanics of flying are similar for many
aircraft, but pilots like different airplanes for different reasons.
Many pilots like to master different aircraft. I can't think of any
pilot who would be happy if there were only one design everyone had
to use.
> We are 8th and 9th grade students.
I started programming when I was your age (1975), which
coincidentally is when Scheme was created. I had fun with Basic,
Fortran, assembler, C and a dozen other languages, but I didn't see
Scheme until I got to college. If I'd started with Scheme, I would
have had a distinct advantage. I quickly saw the people who were
using Scheme and Lisp were really smart and writing incredible programs.
Geoffrey
--
Geoffrey S. Knauth | http://knauth.org/gsk