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 (programming language)
(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!
== Related languages == [[File:Tiobe index 2020 may.png|alt=|thumb|The [[TIOBE index]] graph, showing a comparison of the popularity of various programming languages<ref name="MmjNC">{{cite magazine |url=https://www.wired.com/2013/01/java-no-longer-a-favorite/ |title=Is Java Losing Its Mojo? |first1=Robert |last1=McMillan |date=August 1, 2013 |magazine=[[Wired (magazine)|Wired]] |access-date=March 5, 2017 |archive-date=February 15, 2017 |archive-url=https://web.archive.org/web/20170215115409/https://www.wired.com/2013/01/java-no-longer-a-favorite/ |url-status=live }}</ref>]] {{main|List of C-family programming languages}} C has both directly and indirectly influenced many later languages such as [[C++]] and [[Java (programming language)|Java]].<ref name="kafmy">{{Cite book|title=Pillars of computing : a compendium of select, pivotal technology firms |last1=O'Regan |first1=Gerard |isbn=978-3319214641 |oclc=922324121 |date=September 24, 2015|publisher=Springer }}</ref> The most pervasive influence has been syntactical; all of the languages mentioned combine the statement and (more or less recognizably) expression [[C syntax|syntax of C]] with type systems, data models or large-scale program structures that differ from those of C, sometimes radically. Several C or near-C interpreters exist, including [[Ch (computer programming)|Ch]] and [[CINT]], which can also be used for scripting. When [[object-oriented programming]] languages became popular, [[C++]] and [[Objective-C]] were two different extensions of C that provided object-oriented capabilities. Both languages were originally implemented as [[source-to-source compiler]]s; source code was translated into C, and then compiled with a C compiler.<ref name="dSI6f">{{Cite book |title=Languages and compilers for parallel computing : 16th international workshop, LCPC 2003, College Station, TX, USA, October 2β4, 2003 : revised papers|last1=Rauchwerger |first1=Lawrence |year=2004 |publisher=Springer |isbn=978-3540246442 |oclc=57965544}}</ref> The [[C++]] programming language (originally named "C with [[Class (programming)|Classes]]") was devised by [[Bjarne Stroustrup]] as an approach to providing [[Object-oriented programming|object-oriented]] functionality with a C-like syntax.<ref name="stroustrup 1993">{{cite web |url=http://www.stroustrup.com/hopl2.pdf |title=A History of C++: 1979β1991 |first1=Bjarne |last1=Stroustrup |author-link=Bjarne Stroustrup |year=1993 |access-date=June 9, 2011 |archive-date=February 2, 2019 |archive-url=https://web.archive.org/web/20190202050609/http://www.stroustrup.com/hopl2.pdf |url-status=live }}</ref> C++ adds greater typing strength, scoping, and other tools useful in object-oriented programming, and permits [[generic programming]] via templates. Nearly a superset of C, C++ now{{when|date=August 2022}} supports most of C, with [[Compatibility of C and C++|a few exceptions]]. [[Objective-C]] was originally a very "thin" layer on top of C, and remains a strict [[superset]] of C that permits object-oriented programming using a hybrid dynamic/static typing paradigm. Objective-C derives its syntax from both C and [[Smalltalk]]: syntax that involves preprocessing, expressions, function declarations, and function calls is inherited from C, while the syntax for object-oriented features was originally taken from Smalltalk. In addition to [[C++]] and [[Objective-C]], [[Ch (computer programming)|Ch]], [[Cilk]], and [[Unified Parallel C]] are nearly supersets of C.
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)