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
C*
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!
{{Short description|Object-oriented programming language}} {{about|the programming language|the DBMS|Apache Cassandra|algebra|C*-algebra|the symbols used on flags and emblems|Star and crescent|the rocket propulsion term|Characteristic velocity|astronomical object type|star cluster|the goth festival|Convergence (goth festival)}} {{no footnotes|date=December 2017}} {{Infobox programming language | name = C* | logo = | paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Imperative programming|imperative]], [[parallel programming|parallel]] | year =1987 | designer =[[Thinking Machines Corporation|Thinking Machines]] | developer =Thinking Machines | latest_release_version = 6.x ({{start date|1993|8|27}}) |latest release date ={{start date|1993|8|27}} | typing = [[Type system|static]], [[Weak typing|weak]], [[manifest typing|manifest]] | implementations = | dialects = | influenced_by =[[ANSI C]], [[*Lisp]] | influenced =[[Dataparallel-C]] | operating_system = [[Connection Machine]] | license = | website = | file_ext = .cs }} '''C*''' (or C-star) is a data-parallel superset of [[ANSI C]] with synchronous semantics. ==History== It was developed in 1987 as an alternative language to [[*Lisp]] and CM-Fortran for the [[Connection Machine]] CM-2 and above. The language C* adds to C a "domain" data type and a selection statement for parallel execution in domains. For the CM-2 models the C* compiler translated the code into serial C, calling PARIS (Parallel Instruction Set) functions, and passed the resulting code to the front end computer's native compiler. The resulting executables were executed on the front end computer with PARIS calls being executed on the Connection Machine. On the CM-5 and CM-5E parallel C* Code was executed in a SIMD style fashion on processing elements, whereas serial code was executed on the PM (Partition Manager) Node, with the PM acting as a "front end" if directly compared to a CM-2. The latest version of C* as of 27 August 1993 is 6.x. An unimplemented [[Programming language|language]] dubbed "Parallel C" (not to be confused with [[Unified Parallel C]]) influenced the design of C*. [[Dataparallel-C]] was based on C*. ==References== {{Reflist}} ===General=== * ''C*: An Extended C Language for Data Parallel Programming'', John R. Rose and [[Guy L. Steele, Jr.]], in ''Proceedings of the Second International Conference on Supercomputing, vol. II'', L. P. Kartashev et al. eds, May 1987, pp 2β16. * ''[http://people.csail.mit.edu/bradley/cm5docs/CM-5CStarUsersGuide.pdf C* User Guide]'', Thinking Machines Corporation, 1991 * ''[http://people.csail.mit.edu/bradley/cm5docs/CStarProgrammingGuide.pdf C* Programming Manual]'', Thinking Machines Corporation, 1993. * ''[https://web.archive.org/web/20070927013603/http://www.1stworldpublishing.com/books/parallelprogramming.asp The Art of Parallel Programming (2nd Ed.)]'', B. P. Lester, 1st World Publishing, 2006. (A downloadable version of the "C* Compiler and Parallel Computer Simulation System" is available at the publisher's Web site.) * ''C*'', Guy L. Steele, Jr., in ''[https://link.springer.com/referencework/10.1007/978-0-387-09766-4 Encyclopedia of Parallel Computing]'', D. Padua, ed., Springer, 2011, pp 207β212. {{C programming language |state=collapsed}} [[Category:Concurrent programming languages]]
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)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:C programming language
(
edit
)
Template:Infobox programming language
(
edit
)
Template:No footnotes
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)