Ch (computer programming)

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Infobox/styles.css has no content.

Script error: No such module "If empty".
[[Programmer|Original authorTemplate:Pluralize from text]]Harry H. Cheng
[[Programmer|DeveloperTemplate:Pluralize from text]]SoftIntegration, Inc.
Initial releaseOctober 1, 2001; Lua error in package.lua at line 80: module 'Module:Date' not found. (2001-10-01)
Template:Infobox software/simple
Written inScript error: No such module "If empty".
EnginePage Template:Plainlist/styles.css has no content.Template:EditAtWikidata
Operating systemScript error: No such module "If empty".
Platformx86, SPARC
Available inEnglish
TypeIntegrated development environment
LicenseProprietary software
Standard edition: freeware
Student edition: freeware for students
Professional edition: trialware for 30 days
Websitewww.softintegration.com
RepositoryPage Template:Plainlist/styles.css has no content.

Script error: No such module "Check for conflicting parameters".

CH Script error: No such module "IPAc-en". is a proprietary cross-platform C and C++ interpreter and scripting language environment. It was 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.. Free versions include the student edition, and the non-commercial Professional Edition for Raspberry Pi.

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 modelling of continuous-time or discrete-time linear time-invariant (LTI) control systems.[11] Both tool kits include the source code.

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.[12][13][14] It can also be embedded into the LabVIEW system design platform and development environment.[15]

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:

CH supports classes in C++ with added abilities, including:

  • Classes inside member functions
  • Nested functions with classes
  • Passing member function to argument of pointer-to-function type of functions

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.[17][18][19]

CH has a built-in string type (string_t) for automatic memory allocation and de-allocation. It supports shell aliases, history, and piping.[20][21]

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]

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  2. ^ Ch Shell
  3. ^ Ch IDE
  4. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  5. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  6. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  7. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  8. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.[dead link]Template:Cbignore
  9. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  10. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  11. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  12. ^ ch robot
  13. ^ ch finch
  14. ^ ch raspberry and arm[permanent dead link]
  15. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  16. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  17. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  18. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  19. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  20. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  21. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  22. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.

Further reading

  • Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  • Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  • Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  • Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  • Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.