Content deleted Content added
GreenC bot (talk | contribs) |
No edit summary Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
(44 intermediate revisions by 30 users not shown) | |||
Line 1:
{{Infobox software
| name
| logo =
| screenshot =
| caption =
| author
| developer
| released
| latest release version =
| latest release date
| status
| programming language =
| operating system
| platform
| size
| language
| genre
| license
| website
}}
'''
CH has been integrated into [[free C-STEM Studio,]] a platform for learning computing, science, technology, engineering, and mathematics (C-STEM) with robotics. C-STEM Studio is developed by the UC Davis Center for Integrated Computing and STEM Education, offering a curriculum for K-12 students.
CH supports [[Lego Mindstorms NXT|LEGO Mindstorms NXT]] and [[Lego Mindstorms EV3|EV3]], [[Arduino]], Linkbot, Finch Robot, RoboTalk and Raspberry Pi, Pi Zero, and ARM for robot programming and learning.<ref>
[http://www.newtonium.com/public_html/Products/RoboWorks/chrobotalk.htm ch robot]</ref><ref>
[http://www.finchrobot.com/software/ch ch finch]</ref><ref>[http://www.softintegration.com/company/press/ch_arm_raspberry_pi_released.htm ch raspberry and arm]{{Dead link|date=June 2019 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> It can also be embedded into the [[LabVIEW]] system design platform and development environment.<ref>{{Cite web|url=http://iel.ucdavis.edu/projects/chlabview/|title=Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting}}</ref>
== Features ==
▲Ch supports the 1999 ISO C Standard (C99) and C++ classes. It is a superset of C with C++ classes. Several major features of C99 are supported, such as complex numbers, variable length arrays (VLAs), IEEE-754 floating-point arithmetic, and generic mathematical functions. The specification for wide characters in Addendum 1 for C90 is also supported.
▲C++ features available in Ch include:
▲* Member functions
* Mixed code and declaration
* The ''[[this (computer programming)|this]]'' -> pointer
* [[Reference type (C++)|Reference type and pass-by-reference]]
* Function-style type conversion
* [[Classes in C++|Classes]]
* Private/public data and functions in classes. Ch is compatible with C++ in that by default, members of a class definition are assumed to be private until a 'public' declaration is given
* Static member of class/struct/union
Line 52 ⟶ 50:
* The new and delete operators
* Constructors and destructors
* [[Polymorphic
* The [[scope resolution operator
* The I/O functions cout, cerr, and cin with endl
* Arguments for [[variadic
CH supports classes in C++ with added abilities, including:
* Classes inside member functions
Ch can interact with existing C/C++ libraries and call C/C++ functions from Ch script.<ref>{{cite journal |last= Wilson |first= Matthew |year= 2004 |title= Open-RJ and Ch |url= http://drdobbs.com/184401877?queryText=ChSDK |publisher= Dr. Dobb's Journal}}</ref>▼
* [[Nested function]]s with classes
As a C/C++ interpreter, Ch can be used as a scripting engine and extension language for applications. Pointers to arrays or variables can be passed and shared in both C-compiled and Ch scripting contexts. One example of an embedded Ch scripting application is Mobile-C, which has been used for collaborative visualization of distributed mesh model.<ref>{{cite journal |last= Cheng |first= Harry |year= 2009 |title= Speeding-Up Software Development Using Embedded Scripting |pages= 8–8 |url= http://drdobbs.com/architecture-and-design/212201774 |publisher= Dr. Dobb's Journal}}</ref><ref>{{cite journal |last1=Wang |first1=Li-rong |last2= Bo |first2= Yo|last3=Hagiwara |first3= I |title= Mobile-C based agent management for collaborative visualization of distributed mesh model |url= http://ieeexplore.ieee.org/search/freesrchabstract.jsp?tp=&arnumber=5375178&queryText%3DMobile-C%26openedRefinements%3D*%26searchField%3DSearch+All |publisher= Computer-Aided Industrial Design & Conceptual Design, 2009. CAID & CD 2009. IEEE 10th International Conference}}</ref><ref>{{cite journal |last1=Wang |first1=Li-rong |last2= Bo |first2= Yo|last3=Hagiwara |first3= Ichiro |title= An agent based collaborative simplification of 3D mesh model |url= http://dl.acm.org/citation.cfm?id=1813032 |year=2009 |publisher= CDVE'09 Proceedings of the 6th international conference on cooperative design, visualization, and engineering}}</ref>▼
* Passing member function to argument of pointer-to-function type of functions
▲
▲As a C/C++ interpreter,
CH has built-in 2D/3D graphical plotting features and computational [[array data type|arrays]] for numerical computing. A 2D [[linear equation]] of the form ''b = A*x'' can be written verbatim in Ch.<ref>{{cite journal |last= Glassborow |first= Francis |year= 2001 |title= The Ch Language Environment Version 2.0 |url= http://www.softintegration.com/company/pub/accu.html |pages= 36–37 |publisher= C Vu Magazine}}</ref>
== See also ==
* [[CINT]]
* [[Pike (programming language)]]
== References ==
{{Reflist}}
== Further reading ==
* {{cite journal |last=Heller |first=Martin |year=2001 |title=The Ch Language Environment |url=http://www.byte.com/documents/s=1776/byt20011031s0002/1105_heller.html |publisher=[[Byte (magazine)|Byte]] |
*
▲* {{cite journal|last=Heller |first=Martin |year=2001 |title=The Ch Language Environment |url=http://www.byte.com/documents/s=1776/byt20011031s0002/1105_heller.html |publisher=[[Byte (magazine)|Byte]] |deadurl=unfit |archiveurl=https://web.archive.org/web/20011116220556/http://www.byte.com/documents/s=1776/byt20011031s0002/1105_heller.html |archivedate=November 16, 2001 }}
* {{cite
▲* {{cite journal |last= Cheng |first= Harry |year= 2006 |title= Ch: A C/C++ Interpreter for Script Computing |pages= 6–12 |url= http://drdobbs.com/184402054 |publisher= Dr. Dobb's Journal}}
* {{cite book |last= Cheng |first= Harry |year= 2009 |title= C For Engineers & Scientists, An Interpretive Approach |url= http://highered.mcgraw-hill.com/sites/0073376051/ |publisher= McGraw-Hill|isbn= 978-0-07-729046-7}}
* {{cite book |last= Cheng |first= Harry |year= 2011 |title= C For Engineers & Scientists
== External links ==
* {{Official website|www.softintegration.com}}, SoftIntegration
* [http://www.mobilec.org/ Mobile-C: a Multi-Agent Platform for Mobile C/C++ Agents Home Page]
* [http://c-stem.ucdavis.edu/studio/ C-STEM Studio]
{{DEFAULTSORT:Ch Interpreter}}
|