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:
CH supports classes in C++ with added abilities, including:
CH can interact with existing C/C++ libraries and call C/C++ functions from CH script.16 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.171819
CH has a built-in string type (string_t) for automatic memory allocation and de-allocation. It supports shell aliases, history, and piping.2021
CH has built-in 2D/3D graphical plotting features and computational arrays for numerical computing. A 2D linear equation of the form b = A*x can be written verbatim in Ch.22
Veeraraghavan, Sriranga (2013). "An introduction to Ch: Implementing a temperature converter in Ch". ComputerWorld. {{cite journal}}: Cite journal requires |journal= (help) http://www.techworld.com.au/article/452524/an_introduction_ch_implementing_temperature_converter_ch/ ↩
Ch Shell http://www.softintegration.com/docs/ch/shell/ ↩
Ch IDE http://www.softintegration.com/docs/ch/chide/ ↩
Wang, Gary (2002). "Ch Solves Portability Headaches". IEEE Spectrum. 39 (6): 59. doi:10.1109/MSPEC.2002.1049264. S2CID 32477309. /wiki/Doi_(identifier) ↩
Cheng, Harry (1993). "Handling of Complex Numbers in the Ch Programming Language". Scientific Programming: 76–106. http://iospress.metapress.com/content/xml874m51x1w42w0/ ↩
Cheng, Harry (1993). "Scientific Computing in the Ch Programming Language". Scientific Programming: 49–75. {{cite journal}}: Cite journal requires |journal= (help) http://iospress.metapress.com/content/f225771541203807/ ↩
Cheng, Harry (1995). "Extending C and FORTRAN for Design Automation". ASME Trans., Journal of Mechanical Design: 390–395. {{cite journal}}: Cite journal requires |journal= (help) http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=JMDEDB000117000003000390000001&idtype=cvips&gifs=yes&ref=no ↩
Cheng, Harry (1995). "Extending C with arrays of variable length". Computer Standards & Interfaces. 17 (4): 375–406. doi:10.1016/0920-5489(95)00007-H.[dead link] /wiki/Doi_(identifier) ↩
Morejon, Mario (2006). "Ch Language Rivals Java Functionality". CRN. {{cite journal}}: Cite journal requires |journal= (help) http://www.crn.com/reviews/applications-os/175804126/ch-language-rivals-java-functionality.htm ↩
Cheng, Harry (2006). "Object-Oriented Interactive Mechanism Design and Analysis". Engineering with Computers. 21 (3): 237–246. doi:10.1007/s00366-005-0008-4. S2CID 16996625. /wiki/Doi_(identifier) ↩
Zhu, Yong (2003). "An Object-Based Software Package for Interactive Control System Design and Analysis". Journal of Computing and Information Science in Engineering. 3 (4): 366–367. doi:10.1115/1.1630815. S2CID 17908643. /wiki/Doi_(identifier) ↩
ch robot http://www.newtonium.com/public_html/Products/RoboWorks/chrobotalk.htm ↩
ch finch http://www.finchrobot.com/software/ch ↩
ch raspberry and arm[permanent dead link] http://www.softintegration.com/company/press/ch_arm_raspberry_pi_released.htm ↩
"Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting". http://iel.ucdavis.edu/projects/chlabview/ ↩
Wilson, Matthew (2004). "Open-RJ and Ch". Dr. Dobb's Journal. http://drdobbs.com/184401877?queryText=ChSDK ↩
Cheng, Harry (2009). "Speeding-Up Software Development Using Embedded Scripting". Dr. Dobb's Journal. p. 8. http://drdobbs.com/architecture-and-design/212201774 ↩
Wang, Li-rong; Bo, Yo; Hagiwara, I (2009). 2009 IEEE 10th International Conference on Computer-Aided Industrial Design & Conceptual Design. Computer-Aided Industrial Design & Conceptual Design, 2009. CAID & CD 2009. IEEE 10th International Conference. pp. 1127–1132. doi:10.1109/CAIDCD.2009.5375178. ISBN 978-1-4244-5266-8. S2CID 39307433. 978-1-4244-5266-8 ↩
Wang, Li-rong; Bo, Yo; Hagiwara, Ichiro (2009). An agent based collaborative simplification of 3D mesh model. Cdve'09. CDVE'09 Proceedings of the 6th international conference on cooperative design, visualization, and engineering. pp. 325–328. ISBN 9783642042645. 9783642042645 ↩
Campbell, Matt (2003). "Ch, A C/C++ Interpreter – New possibilities for people who like C and Unix". MACTECH, the journal of Apple technology. {{cite journal}}: Cite journal requires |journal= (help) http://www.mactech.com/articles/mactech/Vol.19/19.09/CInterpreter/index.html ↩
Cheng, Harry (2010). The Ch Language Environment (6.3 ed.). Davis, CA: SoftIntegration, Inc. ↩
Glassborow, Francis (2001). "The Ch Language Environment Version 2.0". C Vu Magazine: 36–37. {{cite journal}}: Cite journal requires |journal= (help) http://www.softintegration.com/company/pub/accu.html ↩