Content deleted Content added
updated version info |
Citation bot (talk | contribs) m Alter: template type, title, pages. Add: series, year, isbn, chapter, chapter-url, doi, pages, issue, volume, journal. Removed parameters. Formatted dashes. You can use this bot yourself. Report bugs here. | User-activated. |
||
Line 27:
'''Ch''' {{IPAc-en|ˌ|s|iː|ˈ|eɪ|tʃ}} is a proprietary [[cross-platform]] [[C (programming language)|C]] and [[C++]] [[Interpreter (computing)|interpreter]] and scripting language environment, originally designed by Harry H. 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. A student edition is freely available. Ch Professional Edition for Raspberry Pi is free for non-commercial use.
Ch can be embedded in C/C++ application programs. It has numerical computing and graphical plotting features. Ch is a combined shell and IDE.<ref>{{cite journal |last= Veeraraghavan |first= Sriranga |year= 2013 |title= An introduction to Ch: Implementing a temperature converter in Ch |url= http://www.techworld.com.au/article/452524/an_introduction_ch_implementing_temperature_converter_ch/ |publisher= ComputerWorld}}</ref> Ch shell combines the features of common shell and C language.<ref>[http://www.softintegration.com/docs/ch/shell/ Ch Shell]</ref> ChIDE provides quick code navigation and symbolic debugging. It is based on embedded Ch, Scite and Scintilla.<ref>[http://www.softintegration.com/docs/ch/chide/ Ch IDE]</ref><ref>{{cite journal |last= Wang |first= Gary |year= 2002 |title= Ch Solves Portability Headaches |journal= IEEE Spectrum |volume= 39 |issue= 6 |pages= 59 |url= http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1049264 |
Ch is written in C and runs on [[Microsoft Windows|Windows]], [[Linux]], [[macOS]], [[FreeBSD]], [[IBM AIX|AIX]], [[Solaris (operating system)|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.<ref>{{cite journal |last= Cheng |first= Harry |year= 1993 |title= Handling of Complex Numbers in the Ch Programming Language |pages= 76–106 |url= http://iospress.metapress.com/content/xml874m51x1w42w0/|journal=Scientific Programming}}</ref><ref>{{cite journal |last= Cheng |first= Harry |year= 1993 |title= Scientific Computing in the Ch Programming Language |pages= 49–75 |url= http://iospress.metapress.com/content/f225771541203807/ |publisher= Scientific Programming}}</ref><ref>{{cite journal |last= Cheng |first= Harry |year= 1995 |title= Extending C and FORTRAN for Design Automation |pages= 390–395 |url= http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=JMDEDB000117000003000390000001&idtype=cvips&gifs=yes&ref=no |publisher= ASME Trans., Journal of Mechanical Design}}</ref><ref>{{cite journal |last= Cheng |first= Harry |year= 1995 |title= Extending C with arrays of variable length |pages= 375–406 |url= http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TYV-3Y6PCHF-V&_user=10&_coverDate=09%2F15%2F1995&_alid=1737140035&_rdoc=1&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=5628&_sort=r&_st=13&_docanchor=&view=c&_ct=1&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=1369ffa56fdef3033135fa8fc1eb4c15&searchtype=a
Ch has many toolkits that extend its functions. For example, Ch Mechanism Toolkit is used for design and analysis of commonly used mechanisms such as fourbar linkage, five-bar linkage, six-bar linkage, crank-slider mechanism, and cam-follower system.<ref>{{cite journal |last= Cheng |first= Harry |year= 2006 |title= Object-Oriented Interactive Mechanism Design and Analysis |journal= Engineering with Computers |volume= 21 |issue= 3 |pages= 237–246 |
Ch is now used and integrated into curriculum by many high schools and universities to teach computing and programming in C/C++.<ref>{{cite journal |last= Cheng |first= Harry |year= 2009 |title= C for the Course |pages= 50–52 |url= http://memagazine.asme.org/Articles/2009/september/C_Course.cfm |publisher= ASME Mechanical Engineering Magazine}}</ref><ref>{{cite journal |last= Huber |first= Tom |year= 2010 |title= An Introduction to C and Ch: Your One-Stop Shop for Scientific Computing
Ch supports LEGO Mindstorms NXT and EV3, Arduino, Linkbot, Finch Robot, RoboTalk and Rasperry PI, Pi Zero, and ARM for robot programming and learning.<ref>
Line 68:
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>
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=
Ch has a built-in string type (string_t) for automatic memory allocation and de-allocation. It supports shell aliases, history, piping, etc.<ref>{{cite journal |last= Campbell |first= Matt |year= 2003 |title= Ch, A C/C++ Interpreter – New possibilities for people who like C and Unix |url= http://www.mactech.com/articles/mactech/Vol.19/19.09/CInterpreter/index.html |publisher= MACTECH, the journal of Apple technology}}</ref><ref>{{cite book|last=Cheng|first=Harry|title=The Ch Language Environment|edition=6.3|year=2010|publisher= SoftIntegration , Inc.|___location=Davis, CA}}</ref>
|