fbpx
Wikipedia

Ch (computer programming)

Ch /ˌsˈ/ is a proprietary cross-platform C and C++ interpreter and scripting language environment. It was 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., with multiple versions available, including a freely available student edition and Ch Professional Edition for Raspberry Pi is free for non-commercial use.

Ch C/C++ interpreter
Original author(s)Harry H. Cheng
Developer(s)SoftIntegration, Inc.
Initial releaseOctober 1, 2001; 22 years ago (2001-10-01)
Stable release
8.0.0 / November 19, 2017; 5 years ago (2017-11-19)
Written inC
Operating systemWindows, OS X, Linux, AIX, HP-UX, Solaris (SPARC and x86), QNX, FreeBSD
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

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 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 modeling, the design, and analysis 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 (C-STEM). It offers 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]

Features Edit

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 Edit

References Edit

  1. ^ Veeraraghavan, Sriranga (2013). "An introduction to Ch: Implementing a temperature converter in Ch". ComputerWorld. {{cite journal}}: Cite journal requires |journal= (help)
  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. S2CID 32477309.
  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. {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ Cheng, Harry (1995). "Extending C and FORTRAN for Design Automation". ASME Trans., Journal of Mechanical Design: 390–395. {{cite journal}}: Cite journal requires |journal= (help)
  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.[dead link]
  9. ^ Morejon, Mario (2006). "Ch Language Rivals Java Functionality". CRN. {{cite journal}}: Cite journal requires |journal= (help)
  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. S2CID 16996625.
  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. S2CID 17908643.
  12. ^ Cheng, Harry (2009). "C for the Course". ASME Mechanical Engineering Magazine: 50–52. {{cite journal}}: Cite journal requires |journal= (help)
  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". 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. 49–52. doi:10.1109/MESA.2010.5552033. ISBN 978-1-4244-7101-0. S2CID 2063024.
  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. S2CID 12764358.
  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. {{cite journal}}: Cite journal requires |journal= (help)
  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. {{cite journal}}: Cite journal requires |journal= (help)
  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. S2CID 23172598.
  19. ^ ch robot
  20. ^ ch finch
  21. ^ ch raspberry and arm[permanent dead link]
  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. p. 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. S2CID 39307433.
  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. {{cite journal}}: Cite journal requires |journal= (help)
  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. {{cite journal}}: Cite journal requires |journal= (help)

Further reading Edit

  • Heller, Martin (2001). . Byte. Archived from the original on November 16, 2001. {{cite journal}}: Cite journal requires |journal= (help)
  • Cheng, Harry (2002). "C99 & Numeric Computing". Dr. Dobb's Journal. pp. 28–34.
  • Cheng, Harry (2006). "Ch: A C/C++ Interpreter for Script Computing". Dr. Dobb's Journal. pp. 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 ed.). Higher Education Press. ISBN 978-0-07-729046-7.

External links Edit

  • Official website, SoftIntegration
  • Mobile-C: a Multi-Agent Platform for Mobile C/C++ Agents Home Page
  • C-STEM Studio

computer, programming, this, article, multiple, issues, please, help, improve, discuss, these, issues, talk, page, learn, when, remove, these, template, messages, this, article, confusing, unclear, readers, please, help, clarify, article, there, might, discuss. 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 This article may be confusing or unclear to readers Please help clarify the article There might be a discussion about this on the talk page June 2011 Learn how and when to remove this template message This article s tone or style may not reflect the encyclopedic tone used on Wikipedia See Wikipedia s guide to writing better articles for suggestions September 2017 Learn how and when to remove this template message This article contains weasel words vague phrasing that often accompanies biased or unverifiable information Such statements should be clarified or removed September 2017 Learn how and when to remove this template message Ch ˌ s iː ˈ eɪ tʃ is a proprietary cross platform C and C interpreter and scripting language environment It was 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 with multiple versions available including a freely available student edition and Ch Professional Edition for Raspberry Pi is free for non commercial use Ch C C interpreterOriginal author s Harry H ChengDeveloper s SoftIntegration Inc Initial releaseOctober 1 2001 22 years ago 2001 10 01 Stable release8 0 0 November 19 2017 5 years ago 2017 11 19 Written inCOperating systemWindows OS X Linux AIX HP UX Solaris SPARC and x86 QNX FreeBSDPlatformx86 SPARCAvailable inEnglishTypeIntegrated development environmentLicenseProprietary softwareStandard edition freewareStudent edition freeware for studentsProfessional edition trialware for 30 daysWebsitewww wbr softintegration wbr comCh 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 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 modeling the design and analysis 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 C STEM It offers 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 Contents 1 Features 2 See also 3 References 4 Further reading 5 External linksFeatures EditCh 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 gt 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 optionalCh 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 functionsCh 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 EditCINT Pike programming language References Edit Veeraraghavan Sriranga 2013 An introduction to Ch Implementing a temperature converter in Ch ComputerWorld a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Ch Shell Ch IDE Wang Gary 2002 Ch Solves Portability Headaches IEEE Spectrum 39 6 59 doi 10 1109 MSPEC 2002 1049264 S2CID 32477309 Cheng Harry 1993 Handling of Complex Numbers in the Ch Programming Language Scientific Programming 76 106 Cheng Harry 1993 Scientific Computing in the Ch Programming Language Scientific Programming 49 75 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Cheng Harry 1995 Extending C and FORTRAN for Design Automation ASME Trans Journal of Mechanical Design 390 395 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Cheng Harry 1995 Extending C with arrays of variable length Computer Standards amp Interfaces 17 4 375 406 doi 10 1016 0920 5489 95 00007 H dead link Morejon Mario 2006 Ch Language Rivals Java Functionality CRN a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Cheng Harry 2006 Object Oriented Interactive Mechanism Design and Analysis Engineering with Computers 21 3 237 246 doi 10 1007 s00366 005 0008 4 S2CID 16996625 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 S2CID 17908643 Cheng Harry 2009 C for the Course ASME Mechanical Engineering Magazine 50 52 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Huber Tom 2010 An Introduction to C and Ch Your One Stop Shop for Scientific Computing Computing in Science amp Engineering 12 4 7 doi 10 1109 MCSE 2010 82 Liu Li Wang Zhaoqing Jiang Xusheng 2010 Anchor based promgramming teaching embedded with Ch platform 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 49 52 doi 10 1109 MESA 2010 5552033 ISBN 978 1 4244 7101 0 S2CID 2063024 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 S2CID 12764358 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 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help 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 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Stopforth Riaan 2013 Teaching and programming with Ch for tertiary level mechatronics engineering education 2013 6th Robotics and Mechatronics Conference RobMech Robotics and Mechatronics Conference RobMech pp 146 149 doi 10 1109 RoboMech 2013 6685507 ISBN 978 1 4799 1518 7 S2CID 23172598 ch robot ch finch ch raspberry and arm permanent dead link Embedding a C C Interpreter Ch into LabVIEW for Scripting Wilson Matthew 2004 Open RJ and Ch Dr Dobb s Journal Cheng Harry 2009 Speeding Up Software Development Using Embedded Scripting Dr Dobb s Journal p 8 Wang Li rong Bo Yo Hagiwara I 2009 2009 IEEE 10th International Conference on Computer Aided Industrial Design amp Conceptual Design Computer Aided Industrial Design amp Conceptual Design 2009 CAID amp CD 2009 IEEE 10th International Conference pp 1127 1132 doi 10 1109 CAIDCD 2009 5375178 ISBN 978 1 4244 5266 8 S2CID 39307433 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 Campbell Matt 2003 Ch A C C Interpreter New possibilities for people who like C and Unix MACTECH the journal of Apple technology a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Cheng Harry 2010 The Ch Language Environment 6 3 ed Davis CA SoftIntegration Inc Glassborow Francis 2001 The Ch Language Environment Version 2 0 C Vu Magazine 36 37 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Further reading EditHeller Martin 2001 The Ch Language Environment Byte Archived from the original on November 16 2001 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Cheng Harry 2002 C99 amp Numeric Computing Dr Dobb s Journal pp 28 34 Cheng Harry 2006 Ch A C C Interpreter for Script Computing Dr Dobb s Journal pp 6 12 Cheng Harry 2009 C For Engineers amp Scientists An Interpretive Approach McGraw Hill ISBN 978 0 07 729046 7 Cheng Harry 2011 C For Engineers amp Scientists Chinese ed Higher Education Press ISBN 978 0 07 729046 7 External links EditOfficial website SoftIntegration Mobile C a Multi Agent Platform for Mobile C C Agents Home Page C STEM Studio Retrieved from https en wikipedia org w index php title Ch computer programming amp oldid 1176083623, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.