Wednesday, September 17, 2008

Re: [BLUG] scheme programming

On Wed, 2008-09-17 at 09:35 -0400, Ben Shewmaker wrote:
> I'm taking the intro to computer science course at IU and we are
> learning to program with Scheme. I have no experience in programming
> (well, if you don't count playing around with Basic in high school)

Learned BASIC when I was young, and then played with C and Assembly. At
IU did the scheme thing as well.


> and was wondering what languages anyone on this list starting
> learning on. I know it isn't the specific language you learn but the
> fundamentals that matter, but I'm also wondering if Scheme is used
> often in specific applications or where is it used in the wild?
>

I don't think scheme is actually used must in the wild on its own, but
it is used in some gnu projects as an extension language via Guile.

It is a neat language on a lot of levels.

> Oh, and another thing I've been thinking about on this class. There
> is a strict no sharing your code policy with anyone. Our first
> assignment is really basic so I can see where sharing something like
>
> ;least compares 2 numbers and prints the smallest
> (define least
> (lambda (x y)
> (min x y)))
>

I'm surprised they didn't ban the min function for that problem.


> would make it easy to cheat. But as we will get more complicated I
> think that sharing code is a good way to learn how others solve the
> same problem.

Ah, but you're supposed to be learning how to solve the problem! Its
not necessarily about the answer, so much as the process of obtaining
the answer that's important.


> Maybe because I'm really into the open source community that I feel
> that a University would surely want to encourage a more open approach
> to coding? And we also use an implementation called Chez Scheme,
> which is proprietary.

Look at who does Chez Scheme (hint: author of the user guide) and look
around computer science department. For good measure, look at the
"Revised Report on the Algorithmic Language Scheme" That should solve
the "why is IU using a proprietary scheme implementation" question!


> Aren't there some good open source implementations? What do you all
> think?
>

SISC is a java implementation of scheme. MIT has one.


Doing a "yum info \*scheme\*" on my Fedora 9 box shows a few schemey
things:

Name : plt-scheme
Arch : x86_64
Version : 372
Release : 1.fc9
Size : 21 M
Repo : fedora
Summary : Graphical environment for developing programs using Scheme
URL : http://www.drscheme.org
License : LGPLv2+
Description: DrScheme is an interactive, integrated, graphical programming
: environment for the MzScheme programming language, and the MrEd
: windowing toolbox. DrScheme provides source highlighting for
: syntax and run-time errors, support for multiple language levels,
: an algebraic stepper, objects, modules, a GUI library, TCP/IP, and
: much more. It includes an extensive, hyper-linked help system
: called Help Desk, available from the Help menu. You can enhance
: DrScheme with many add-ons, including MrFlow, a static debugger.
: MzScheme is R5RS-compliant, including the full numerical tower. It
: also provides threads (on all platforms), exceptions, modules,
: class-based objects, regular-expression matching, TCP/IP, and more.
: MrEd provides a windowing toolbox for creating windows and menus; a
: drawing toolbox for drawing to windows, bitmaps, and printer
: devices; and an editor toolbox for creating multimedia editors.

Name : sigscheme
Arch : x86_64
Version : 0.7.6
Release : 2.fc9
Size : 289 k
Repo : fedora
Summary : R5RS Scheme interpreter for embedded use
URL : http://code.google.com/p/sigscheme/wiki/SigScheme
License : BSD
Description: sigscheme is a R5RS Scheme interpreter that features small
: footprint, low memory consumption, multibytes characters handling
: and more.

Brian

> Ben
>
> _______________________________________________
> BLUG mailing list
> BLUG@linuxfan.com
> http://mailman.cs.indiana.edu/mailman/listinfo/blug

_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug

No comments: