Ch (computer programming) Contents Features See also References Further reading External links Navigation menuwww.softintegration.com"An introduction to Ch: Implementing a temperature converter in Ch"Ch ShellCh IDE"Ch Solves Portability Headaches"10.1109/MSPEC.2002.1049264"Handling of Complex Numbers in the Ch Programming Language""Scientific Computing in the Ch Programming Language""Extending C and FORTRAN for Design Automation""Extending C with arrays of variable length"10.1016/0920-5489(95)00007-H"Ch Language Rivals Java Functionality"10.1007/s00366-005-0008-4"An Object-Based Software Package for Interactive Control System Design and Analysis"10.1115/1.1630815"C for the Course"10.1109/MCSE.2010.82"Anchor-based promgramming teaching embedded with Ch platform"10.1109/MESA.2010.555203310.1109/MESA.2010.5552091"Experience of Using Ch for Teaching Computer Programming in C"CKNI:SUN:JYJS.0.2009-07-016"Study of C Language Programming Teaching Method on platform Ch"CNKI:SUN:WOLF.0.2009-05-018"Teaching and programming with Ch for tertiary-level mechatronics engineering education"10.1109/RoboMech.2013.6685507ch robotch finchch raspberry and arm"Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting""Open-RJ and Ch""Speeding-Up Software Development Using Embedded Scripting"10.1109/CAIDCD.2009.5375178An agent based collaborative simplification of 3D mesh model"Ch, A C/C++ Interpreter – New possibilities for people who like C and Unix""The Ch Language Environment Version 2.0""The Ch Language Environment"the original"C99 & Numeric Computing""Ch: A C/C++ Interpreter for Script Computing"C For Engineers & Scientists, An Interpretive ApproachC For Engineers & Scientists (Chinese edition)Official websiteMobile-C: a Multi-Agent Platform for Mobile C/C++ Agents Home PageC-STEM Studio

C programming language familyEducational programming languagesInterpreters (computing)Pedagogic integrated development environments


cross-platformCC++interpreternumerical analysisWindowsLinuxmacOSFreeBSDAIXSolarisQNXHP-UXvariable-length arrayC99CRNLabVIEWarrayslinear equation



























Ch C/C++ interpreter
Original author(s)Harry H. Cheng
Developer(s)SoftIntegration, Inc.
Initial releaseOctober 1, 2001; 17 years ago (2001-10-01)
Stable release
8.0.0
/ November 19, 2017; 15 months ago (2017-11-19)

Written inC
Operating system
Windows, OS X, Linux, AIX, HP-UX, Solaris (SPARC and x86), QNX, FreeBSD
Platform
x86, SPARC
Available inEnglish
TypeIntegrated development environment
License
Proprietary software
Standard edition: freeware
Student edition: freeware for students
Professional edition: trialware for 30 days
Websitewww.softintegration.com

Ch /ˌsˈ/ is a proprietary cross-platform C and C++ 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.[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 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.[10] Ch Control System Toolkit is used for modeling, design, and analysis of continuous-time or discrete-time linear time invariant (LTI) control systems.[11] Both toolkits includes the source code.


Ch is now used and integrated into 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 UC Davis Center for Integrated Computing and STEM Education (C-STEM). It offers the 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]




Contents





  • 1 Features


  • 2 See also


  • 3 References


  • 4 Further reading


  • 5 External links




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:


  • Member functions

  • Mixed code and declaration

  • The this -> pointer

  • Reference type and pass-by-reference

  • Function-style type conversion

  • Classes

  • Private/public data and functions in classes. Ch is compatible with C++ in 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 functions cout, cerr, and cin with endl

  • Arguments for variadic functions are optional

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.[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, piping, etc.[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]



See also


  • CINT

  • Pike (programming language)


References




  1. ^ Veeraraghavan, Sriranga (2013). "An introduction to Ch: Implementing a temperature converter in Ch". ComputerWorld..mw-parser-output cite.citationfont-style:inherit.mw-parser-output .citation qquotes:"""""""'""'".mw-parser-output .citation .cs1-lock-free abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center.mw-parser-output .citation .cs1-lock-subscription abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registrationcolor:#555.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration spanborder-bottom:1px dotted;cursor:help.mw-parser-output .cs1-ws-icon abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/12px-Wikisource-logo.svg.png")no-repeat;background-position:right .1em center.mw-parser-output code.cs1-codecolor:inherit;background:inherit;border:inherit;padding:inherit.mw-parser-output .cs1-hidden-errordisplay:none;font-size:100%.mw-parser-output .cs1-visible-errorfont-size:100%.mw-parser-output .cs1-maintdisplay:none;color:#33aa33;margin-left:0.3em.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-formatfont-size:95%.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-leftpadding-left:0.2em.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-rightpadding-right:0.2em


  2. ^ Ch Shell


  3. ^ Ch IDE


  4. ^ Wang, Gary (2002). "Ch Solves Portability Headaches". IEEE Spectrum. 39 (6): 59. doi:10.1109/MSPEC.2002.1049264.


  5. ^ Cheng, Harry (1993). "Handling of Complex Numbers in the Ch Programming Language". Scientific Programming: 76–106.


  6. ^ Cheng, Harry (1993). "Scientific Computing in the Ch Programming Language". Scientific Programming: 49–75.


  7. ^ Cheng, Harry (1995). "Extending C and FORTRAN for Design Automation". ASME Trans., Journal of Mechanical Design: 390–395.


  8. ^ 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.


  9. ^ Morejon, Mario (2006). "Ch Language Rivals Java Functionality". CRN.


  10. ^ Cheng, Harry (2006). "Object-Oriented Interactive Mechanism Design and Analysis". Engineering with Computers. 21 (3): 237–246. doi:10.1007/s00366-005-0008-4.


  11. ^ 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.


  12. ^ Cheng, Harry (2009). "C for the Course". ASME Mechanical Engineering Magazine: 50–52.


  13. ^ Huber, Tom (2010). "An Introduction to C and Ch: Your One-Stop Shop for Scientific Computing". Computing in Science & Engineering. 12 (4): 7. doi:10.1109/MCSE.2010.82.


  14. ^ Liu, Li; Wang, Zhaoqing; Jiang, Xusheng (2010). "Anchor-based promgramming teaching embedded with Ch platform". Anchor-based programming teaching embedded with Ch platform. Mechatronics and Embedded Systems and Applications (MESA), IEEE/ASME International Conference. pp. 49–52. doi:10.1109/MESA.2010.5552033. ISBN 978-1-4244-7101-0.


  15. ^ Furman, B.; Wertz, E. (2010). Proceedings of 2010 IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications. Mechatronics and Embedded Systems and Applications (MESA), IEEE/ASME International Conference. pp. 70–75. doi:10.1109/MESA.2010.5552091. ISBN 978-1-4244-7101-0.


  16. ^ Zhuang, Hong; Wang, Zhao-qing (2009). "Experience of Using Ch for Teaching Computer Programming in C". Computer Education: TP311.11–4. CKNI:SUN:JYJS.0.2009-07-016.


  17. ^ Wang, Rong (2009). "Study of C Language Programming Teaching Method on platform Ch". Journal of Weinan Teachers University: TP312.1–4. CNKI:SUN:WOLF.0.2009-05-018.


  18. ^ Stopforth, Riaan (2013). "Teaching and programming with Ch for tertiary-level mechatronics engineering education". 2013 6th Robotics and Mechatronics Conference (Rob Mech). Robotics and Mechatronics Conference (RobMech). pp. 146–149. doi:10.1109/RoboMech.2013.6685507. ISBN 978-1-4799-1518-7.


  19. ^
    ch robot



  20. ^
    ch finch



  21. ^
    ch raspberry and arm



  22. ^ "Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting".


  23. ^ Wilson, Matthew (2004). "Open-RJ and Ch". Dr. Dobb's Journal.


  24. ^ Cheng, Harry (2009). "Speeding-Up Software Development Using Embedded Scripting". Dr. Dobb's Journal: 8.


  25. ^ 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.


  26. ^ 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.


  27. ^ Campbell, Matt (2003). "Ch, A C/C++ Interpreter – New possibilities for people who like C and Unix". MACTECH, the journal of Apple technology.


  28. ^ Cheng, Harry (2010). The Ch Language Environment (6.3 ed.). Davis, CA: SoftIntegration , Inc.


  29. ^ Glassborow, Francis (2001). "The Ch Language Environment Version 2.0". C Vu Magazine: 36–37.




Further reading



  • Heller, Martin (2001). "The Ch Language Environment". Byte. Archived from the original on November 16, 2001.


  • Cheng, Harry (2002). "C99 & Numeric Computing". Dr. Dobb's Journal: 28–34.


  • Cheng, Harry (2006). "Ch: A C/C++ Interpreter for Script Computing". Dr. Dobb's Journal: 6–12.


  • Cheng, Harry (2009). C For Engineers & Scientists, An Interpretive Approach. McGraw-Hill. ISBN 978-0-07-729046-7.


  • Cheng, Harry (2011). C For Engineers & Scientists (Chinese edition). Higher Education Press. ISBN 978-0-07-729046-7.


External links



  • Official website, SoftIntegration

  • Mobile-C: a Multi-Agent Platform for Mobile C/C++ Agents Home Page

  • C-STEM Studio


Popular posts from this blog

How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

Thal And Out Agency railway station See also References External links Navigation menuOfficial Web Site of Pakistan RailwaysArchivedOfficial Web Site of Pakistan Railwayseeexpanding ite

Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme