Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
SuperCollider
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== The SuperCollider programming language (''sclang'') === The SuperCollider programming language is a [[dynamically typed]], [[Garbage collection (computer science)|garbage-collected]], [[Single inheritance|single-inheritance]] [[Object-oriented programming|object-oriented]], and [[Functional programming|functional]] language similar to [[Smalltalk]],<ref name="sc2002"/> with a syntax similar to the languages [[Lisp (programming language)|Lisp]] or [[C (programming language)|C]]. Its architecture strikes a balance between the needs of real-time computing and the flexibility and simplicity of an abstract language. Like many functional languages, it implements [[Function (computer science)|functions]] as [[first class (computing)|first-class]] objects, which may be [[function composition|composed]]. Functions and methods can have default argument values and variable length argument lists and can be called with any order of keyword arguments. [[Closure (computer science)|Closures]] are lexical, and [[scope (programming)|scope]] is both lexical and dynamic. Further features typical of functional languages are supported, including creating closures via partial application (explicit [[currying]]), [[tail call]] optimization, [[list comprehension]]s, and [[coroutines]]. Specifics include the implicit expansion of tuples and the stateless pattern system. Its constant-time message lookup and real-time [[Garbage collection (computer science)|garbage collection]] allows large systems to be efficient and to handle signal processing flexibly.<ref name="book"/> By supporting methods of [[Reflective programming|reflective]], [[Interactive programming|conversational]], and [[literate programming]], SuperCollider makes it relatively easy to find new sound algorithms<ref>J. Rohrhuber, A. de Campo and Renate Wieser. [http://www.wertlos.org/~rohrhuber/articles/AlgorithmsToday.pdf Algorithms Today. Notes on Language Design for Just in Time Programming] {{webarchive|url=https://web.archive.org/web/20110728172850/http://www.wertlos.org/~rohrhuber/articles/AlgorithmsToday.pdf |date=2011-07-28}}. In ''Proceedings of the International Computer Music Conference'', Barcelona, 2005.</ref> and to develop custom software and custom frameworks. Regarding domain specific knowledge, it is both general (e.g., it allows the representation of properties such as time and pitch in variable degrees of abstraction) and has copious example implementations for specific purposes.<ref name="book"/>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)