Ch (computer programming)
Encyclopedia
In computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

, Ch (icon) is a proprietary cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

 originally designed by Dr. Harry H. Cheng as a scripting language for beginners to learn math, computing, numerics, and programming in C/C++. Ch is now developed and marketed by SoftIntegration, Inc.; a student edition is freely available.

Ch is written in C and runs under Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

, AIX, Solaris, QNX
QNX
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...

 and HP-UX
HP-UX
HP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...

. 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, VLA features were supported in Ch before they became part of the C99
C99
C99 is a modern dialect of the C programming language. It extends the previous version with new linguistic and library features, and helps implementations make better use of available computer hardware and compiler technology.-History:...

 standard.

Ch is now used and integrated into curriculum by many universities and schools for learning computing and programming in C/C++.

Ch can also be run as an interactive shell to execute C statement, C script file, Unix commands, and Windows commands (under windows only).

Features

Ch supports the 1999 ISO C Standard (C99) and C++ classes. It is a superset of C with
C++ classes. C99 major features such as complex numbers, variable length arrays (VLAs), IEEE-754 floating-point arithmetic and generic mathematical functions are supported. Wide characters in Addendum 1 for C90 is also supported.

The following C++ features are available in Ch:
  • Member function
  • Mixed code and declaration
  • The this-> pointer
  • Reference type and pass-by-reference
  • Function-style type conversion
  • Class
  • private/public data and functions in class. Ch is compatible with C++ 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
  • Const member functions
  • The new and delete operators
  • Constructors and destructors
  • Polymorphic functions
  • The scope resolution operator ::
  • The I/O cout, cerr, cin with endl
  • Arguments for variadic functions are optional


Ch supports classes in C++ with the following additional capabilities:
  • Classes inside member functions
  • Nested functions with classes
  • Pass member function to argument of pointer-to-function type of functions


Ch can interface with existing C/C++ libraries and call C/C++ functions from Ch script.
As a C/C++ interpreter, Ch can be used as a scripting engine for your applications. The pointer to array or variables can be passed and shared in both binary C space and ch scripting space. It extends your applications with a C compatible scripting language. One of the embedded ch scripting application is Mobile-C. Mobile-C has been used for collaborative visualization of distributed mesh model.
Ch is a C language shell
Shell (computing)
A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web...

 and can be used as login shell. Ch has a built-in string type (string_t) for automatic memory allocation and de-allocation. It makes C/C++ easy of scripting. It supports shell alias, history, piping, etc.

Ch has built-in 2D/3D graphical plotting features and computational array
Array data type
In computer science, an array type is a data type that is meant to describe a collection of elements , each selected by one or more indices that can be computed at run time by the program. Such a collection is usually called an array variable, array value, or simply array...

s for
numerical computing. A 2D linear equation
Linear equation
A linear equation is an algebraic equation in which each term is either a constant or the product of a constant and a single variable....

of the form b = A*x can be written verbatim in Ch.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK