[plt-scheme] Request for Info

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Dec 17 09:06:05 EST 2006

On Dec 15, 2006, at 12:38 AM, Sarvottam Salvi wrote:

> Dear Sir/Madam,
> We are 8th and 9th grade students.

For that, I'll make an exception and respond on Sunday morning.

> 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.  We have  
> following questions:

> Why there are are so many Schemes?   Which one would be good for  
> our objectives of doing the job and also easy to learn.

"Many" isn't special to Scheme. Almost every programming language of  
any worth has many implementations. Java was invented by Sun  
Microsystems, but even Microsoft produces a Java system now. Every  
browser implements a slightly different JavaScript interpreter.  
(There is no connection between Java and JavaScript, except for the  

When there are many implementations of one language, each  
implementation offers "extras." You need to know what you want, and  
to find out it is good to ask on a mailing list. You did. And there  
are 100s of people on this mailing list who could explain all this.

You are addressing the mailing list of a specific Scheme  
implementation (DrScheme, PLT Scheme) and so I strongly suggest that  
you use it. :-)

> It seems Scheme does not allow 2 parts of a program run  
> simultaneously.  Are we right?

It depends on "Scheme" and "simultaneously." Some Scheme  
implementations support running two pieces of a program at the same  
time and some don't. There is also a question as to what you mean by  
"at the same time" but this is for advanced programmers. At your  
level you probably don't care.

> Has anyone done simulations in scheme.

Lots of people. The US AF even controls telescope batteries with  
Scheme and weather report distribution to fighter jets.

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

You can make your programs useful to others in many different ways.  
You can just give them a copy of your program. If you insist on  
distributing the result of your work via a browser, you can do it in  
two ways:

  1. as a recording of your work: see http://www.ccs.neu.edu/home/ 
matthias/211-f06/Assignments/13.html for a simulated fireworks. This  
is an animated gif, that records the output of a DrScheme program.

  2. as a program that runs on demand with inputs from other people.

> If so then it seems Java should be our first language to be  
> learned.  Are we right?

If so, you should learn one of the following:

  -- Flapjax
  -- JavaScript
  -- Java

The first is best, the last is worst for your objective.

If you have more questions, ask away. -- Matthias

> Thanks,
> Bal Salvi
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.