Actions

Difference between revisions of "Scheme"

From Gambit wiki

m
 
(17 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
==Scheme in a nutshell==
 
==Scheme in a nutshell==
  
* Scheme is a dialect of the Lisp programming language developed in the 70s, that inherently supports ''functional programming'' but is easily ''multi-paradigm''.
+
* Scheme is a dialect of the [http://en.wikipedia.org/wiki/Lisp_(programming_language) Lisp] programming language developed in the 70s, that inherently supports ''[http://en.wikipedia.org/wiki/Functional_programming functional programming]'' but is easily ''[http://en.wikipedia.org/wiki/Multi-paradigm multi-paradigm]''.
 +
 
 +
* Scheme is one of the two major Lisp dialects used for general-purpose programming, the other one being [http://en.wikipedia.org/wiki/Common_Lisp Common Lisp].
  
 
* Scheme provides very few primitives defined in its core (known as the "RnRS standard" where "n" is an integer) as the rest is defined in extensions or libraries.
 
* Scheme provides very few primitives defined in its core (known as the "RnRS standard" where "n" is an integer) as the rest is defined in extensions or libraries.
  
* Scheme can be used for any kind of software development and can be learned in a single day thanks to its minimalist yet powerful design. "''High order'' programming" and ''macros'' allow the developers using Scheme to write efficient and easily maintainable code, hence Scheme's label as the programming language of choice for many industries as well as academics.
+
* Scheme can be used for any kind of software development and can be learned in a single day thanks to its minimalist yet powerful design.
  
 +
* ''[http://en.wikipedia.org/wiki/Higher-order_programming High order]'' programming and ''[http://people.csail.mit.edu/gregs/info-dylan-archive-html-2002/msg00070.html macros]'' allow the developers using Scheme to write efficient and easily maintainable code, hence Scheme's label as the programming language of choice for many industries as well as academics.
  
Won't you too give a try to the state of the art?
+
* Among programming languages, Scheme is quite unique about natively supporting [http://community.schemewiki.org/?call-with-current-continuation continuations], a very powerful language construct using which for instance exception handling, [http://en.wikipedia.org/wiki/Coroutine coroutines], and [http://common-lisp.net/project/cl-weblocks/ weblocks] behaviour can be implemented.
 +
 
 +
 
 +
Scheme is a solid way to state of the art software development.
  
 
==Literature==
 
==Literature==
* [http://mitpress.mit.edu/sicp/ Structure and Interpretation of Computer Programs] is a Computer Science book that uses Scheme. You find the book on its web site, and its videos on YouTube, and on its separate homepage.
+
* [http://mitpress.mit.edu/sicp/ Structure and Interpretation of Computer Programs] is a Computer Science book that uses Scheme. You find the book on its web site, and its videos on [http://www.youtube.com/results?search_query=SICP+&search_type=&aq=f YouTube] and on a [http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ homepage].
  
* [ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html An Introduction to Scheme and its Implementation] ([http://www.federated.com/~jim/schintro-v14/schintro_toc.html alternative link]) is a practical hands-on guide to Scheme, for people new to software development, as well as for people with a background in general programming languges such as C, C++, Java, Pascal, PHP, etc.
+
* [http://www.federated.com/~jim/schintro-v14/schintro_toc.html An Introduction to Scheme and its Implementation] ([ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html alternative link]) is a practical hands-on guide to Scheme, for people new to software development, as well as for people with a background in general programming languges such as C, C++, Java, Pascal, PHP, etc.
  
 
* [http://www.htdp.org/ How to Design Programs]
 
* [http://www.htdp.org/ How to Design Programs]
Line 19: Line 25:
 
* [http://www.scheme.com/tspl3/ The Scheme Programming Language]
 
* [http://www.scheme.com/tspl3/ The Scheme Programming Language]
  
Also see [http://en.wikipedia.org/wiki/Scheme_(programming_language) http://en.wikipedia.org/wiki/Scheme_(programming_language)].
+
* The Revised5 Report on the Algorithmic Language Scheme [http://schemers.org/Documents/Standards/R5RS/ here] and more in particular [http://schemers.org/Documents/Standards/R5RS/HTML/ here].
  
==Web sites=
+
==Web sites==
 
*[http://www.schemers.org www.schemers.org]
 
*[http://www.schemers.org www.schemers.org]
  
*[http://community.schemewiki.org/community.schemewiki.org]
+
*[http://community.schemewiki.org/ community.schemewiki.org]
 +
 
 +
*[http://en.wikipedia.org/wiki/Scheme_(programming_language) Scheme (programming language) on Wikipedia]
 +
 
 +
==Forums and Chat==
 +
*[http://groups.google.com/group/comp.lang.scheme comp.lang.scheme on Usenet]
 +
 
 +
*The #gambit and #scheme channels on [http://www.mibbit.com Freenode IRC]
 +
 
 +
==Other resources==
 +
*[http://www.iro.umontreal.ca/~boucherd/mslug/meetings/20041020/minutes-en.html The 90 minutes Scheme to C compiler]
 +
*[http://www.artima.com/weblogs/index.jsp?blogger=micheles The adventures of a Pythonista in Schemeland]
 +
 
 +
 
 +
[[Category: Language]]

Latest revision as of 04:11, 28 October 2008

Scheme in a nutshell

  • Scheme is one of the two major Lisp dialects used for general-purpose programming, the other one being Common Lisp.
  • Scheme provides very few primitives defined in its core (known as the "RnRS standard" where "n" is an integer) as the rest is defined in extensions or libraries.
  • Scheme can be used for any kind of software development and can be learned in a single day thanks to its minimalist yet powerful design.
  • High order programming and macros allow the developers using Scheme to write efficient and easily maintainable code, hence Scheme's label as the programming language of choice for many industries as well as academics.
  • Among programming languages, Scheme is quite unique about natively supporting continuations, a very powerful language construct using which for instance exception handling, coroutines, and weblocks behaviour can be implemented.


Scheme is a solid way to state of the art software development.

Literature

  • The Revised5 Report on the Algorithmic Language Scheme here and more in particular here.

Web sites

Forums and Chat

Other resources