This article has multiple issues. Please help
improve it or discuss these issues on the
talk page. (
Learn how and when to remove these template messages)
|
Original author(s) | Harry H. Cheng |
---|---|
Developer(s) | SoftIntegration, Inc. |
Initial release | October 1, 2001 |
Stable release | 8.0.0
/ November 19, 2017 |
Written in | C |
Operating system | Windows, OS X, Linux, AIX, HP-UX, Solaris (SPARC and x86), QNX, FreeBSD |
Platform | x86, SPARC |
Available in | English |
Type | Integrated development environment |
License |
Proprietary software Standard edition: freeware Student edition: freeware for students Professional edition: trialware for 30 days |
Website |
www |
CH /ˌsiːˈeɪtʃ/ is a proprietary cross-platform C and C++ interpreter and scripting language environment. It was originally designed by Harry Cheng as a scripting language for beginners to learn mathematics, computing, numerical analysis (numeric methods), and programming in C/C++. Ch is now developed and marketed by SoftIntegration, Inc., with multiple versions available, including a freely available student edition, and a CH Professional Edition for Raspberry Pi which is free for non-commercial use.
CH can be embedded in C and C++ application programs. It has numerical computing and graphical plotting features. CH is combined of both shell and IDE. [1] CH shell combines the features of common shell and C language. [2] ChIDE provides quick code navigation and symbolic debugging. It is based on embedded CH, Scite, and Scintilla. [3] [4]
CH is written in C and runs on Windows, Linux, macOS, FreeBSD, AIX, Solaris, QNX, and HP-UX. It supports C90 and major C99 features, but it does not support the full set of C++ features. C99 complex number, IEEE-754 floating-point arithmetic, and variable-length array features were supported in CH before they became part of the C99 standard. [5] [6] [7] [8] An article published by Computer Reseller News ( CRN) named CH as notable among C-based virtual machines for its functionality and the availability of third-party libraries. [9]
CH has many tool kits that extend its functions. For example, the CH Mechanism Toolkit is used for design and analysis of commonly used mechanisms such as four-bar linkage, five-bar linkage, six-bar linkage, crank-slider mechanism, and cam-follower system. [10] CH Control System Toolkit is used for the design, analysis, and modeling of continuous-time or discrete-time linear time-invariant (LTI) control systems. [11] Both tool kits include the source code.
CH is now used and integrated into the curriculum by many high schools and universities to teach computing and programming in C/C++. [12] [13] [14] [15] [16] [17] [18] 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 and EV3, Arduino, Linkbot, Finch Robot, RoboTalk and Raspberry Pi, Pi Zero, and ARM for robot programming and learning. [19] [20] [21] It can also be embedded into the LabVIEW system design platform and development environment. [22]
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. [23] 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. [24] [25] [26]
CH has a built-in string type (string_t) for automatic memory allocation and de-allocation. It supports shell aliases, history, and piping. [27] [28]
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. [29]
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)
{{
cite journal}}
: Cite journal requires |journal=
(
help)