Ch (computer programming)

CH C/C++ interpreter
Original author(s)Harry H. Cheng
Developer(s)SoftIntegration, Inc.
Initial releaseOctober 1, 2001; 23 years ago (2001-10-01)
Stable release
8.0.0 / November 19, 2017; 7 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 /ˌsˈ/ 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

  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. ^ ch robot
  13. ^ ch finch
  14. ^ ch raspberry and arm[permanent dead link]
  15. ^ "Embedding a C/C++ Interpreter Ch into LabVIEW for Scripting".
  16. ^ Wilson, Matthew (2004). "Open-RJ and Ch". Dr. Dobb's Journal.
  17. ^ Cheng, Harry (2009). "Speeding-Up Software Development Using Embedded Scripting". Dr. Dobb's Journal. p. 8.
  18. ^ 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.
  19. ^ 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.
  20. ^ 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)
  21. ^ Cheng, Harry (2010). The Ch Language Environment (6.3 ed.). Davis, CA: SoftIntegration, Inc.
  22. ^ Glassborow, Francis (2001). "The Ch Language Environment Version 2.0". C Vu Magazine: 36–37. {{cite journal}}: Cite journal requires |journal= (help)

Further reading

Read other articles:

4TEN4TEN di Hello, Mr K! Concert, pada April 2016Informasi latar belakangNama lainPOTENAsalSeoul, Korea SelatanGenreK-popDance-popHip hopTahun aktif2014 (2014)–sekarangLabelJungle EntertainmentAnggota Hyeji Hyejin Heeo Jisoo Mantan anggota TEM Eujin Hajeong Yun 4Ten (Hangul:포텐, sebelumnya POTEN), umumnya ditulis sebagai 4TEN, adalah grup vokal wanita asal Korea Selatan yang dibentuk oleh Jungle Entertainment pada tahun 2014.[1] Grup ini pada saat ini terdiri dari empat angg...

 

Untuk orang lain dengan nama yang sama, lihat Suyanto. Prof. Drs. Suyanto, M.Ed., Ph.D.Suyanto (2019) Ketua Majelis Wali Amanat UNYPetahanaMulai menjabat 2022 PendahuluTidak AdaPenggantiPetahanaKetua DPP IKA UNYPetahanaMulai menjabat 2014PresidenJoko Widodo PendahuluHerminarto SofyanPenggantiPetahanaKetua Majelis Guru Besar UNYPetahanaMulai menjabat 2017Wakil Ketua Majelis Dikti PP MuhammadiyahMasa jabatan2005–2015PresidenSusilo Bambang YudhoyonoJoko WidodoPlt. Dirjen Dikdas Kem...

 

Sergey KudrinKudrin at the World Open chess tournamentCountryUnited StatesBorn (1959-09-07) September 7, 1959 (age 64)Novosibirsk, Soviet UnionTitleGrandmaster (1984)Peak rating2580 (July 1992) Sergey Kudrin (born September 7, 1959) is a Soviet-American chess Grandmaster. Career He achieved his Grandmaster title in 1984 going on to win chess tournaments at Copenhagen in 1983, and Beer-Sheva in 1984, and Torremolinos in 1985. He played in the 2005 Chess World Cup at Khanty-Mansiysk, ...

Cilapop 2006Album studio karya KompilasiDirilis25 Desember 2006GenrePopLabelSony BMG IndonesiaKronologi Kompilasi Cipta Lagu Populer (2006)String Module Error: Match not found2006 Cilapop 2006 (2006) Cilapop 2006 adalah album kompilasi kedua dari ajang penciptaan lagu, Cilapop yang ditayangkan di TV7 (kini Trans 7). Berisi 10 buah lagu dengan hits singel lagu Jadikan Aku yang Kedua yang dinyanyikan oleh Astrid Sartiasari yang juga dimasukan kedalam album solonya. Daftar lagu Dalam Setiaku...

 

Proposal 2Search Warrant for Electronic Data AmendmentResults Choice Votes % Yes 4,472,671 88.75% No 567,130 11.25% Valid votes 5,039,801 100.00% Invalid or blank votes 0 0.00% Total votes 5,039,801 100.00% County results Precinct results Yes   90–100%   80–90%   70–80%   60–70% No   60–70% Other   No data Source: Michigan Secretary of State[1] Michigan Proposal 20-2 was a ballot initiative approved by voters...

 

Serbian lawyer Dragoslav OgnjanovićДрагослав ОгњановићBorn(1961-12-21)21 December 1961Belgrade, FPR YugoslaviaDied28 July 2018(2018-07-28) (aged 56)Belgrade, SerbiaCause of deathAssassinationNationalitySerbianOccupationLawyer Dragoslav Miša Ognjanović (Serbian Cyrillic: Драгослав Миша Огњановић; 21 December 1961 – 28 July 2018) was a Serbian criminal lawyer.[1] During his career, he was a participant in a large number of media-cov...

Pour les articles homonymes, voir Emacs (homonymie). XEmacs XEmacs 21.5. Informations Première version 1991 Dernière version 21.4.22 (Instant Classic, 30 janvier 2009)[1] Version avancée 21.5.35 (kohlrabi, 13 mai 2023)[2] Écrit en C et Lisp Interface GTK Système d'exploitation Type Unix Type Éditeur de textePlateforme informatique Licence Licence publique générale GNU version 2 Site web www.xemacs.org modifier - modifier le code - voir Wikidata (aide) Historique XEmacs (anciennement ...

 

Application of game theory to evolving populations in biology Evolutionary game theory (EGT) is the application of game theory to evolving populations in biology. It defines a framework of contests, strategies, and analytics into which Darwinian competition can be modelled. It originated in 1973 with John Maynard Smith and George R. Price's formalisation of contests, analysed as strategies, and the mathematical criteria that can be used to predict the results of competing strategies.[1 ...

 

Pour les articles homonymes, voir Blunt. James Blunt James Blunt en 2017.Informations générales Nom de naissance James Hillier Blount Naissance 22 février 1974 (50 ans)Tidworth, Royaume-Uni Activité principale chanteur Genre musical folk rock, pop rock, soft rock Instruments Guitare Seagull Piano Années actives Depuis 2004 Labels Warner/Atlantic/Custard Site officiel jamesblunt.com modifier James Blunt, de son vrai nom James Hillier Blount né le 22 février 1974[1] à Tidworth[2] ...

French inventor, diver and businessman Georges BeuchatGeorges Beuchat in 1980.Born(1910-02-11)11 February 1910Marseille, FranceDied20 October 1991(1991-10-20) (aged 81)Cassis, FranceOccupation(s)Inventor, Diver, Businessman Georges Beuchat (11 February 1910 – 20 October 1991) was a French inventor, underwater diver, businessman and emblematic pioneer of underwater activities and founder of Beuchat. Throughout his lifetime, Beuchat never ceased developing products which have signifi...

 

Roman emperor from AD 69 to 79 For others with the given name or surname, see Vespasian (name). VespasianBust at the Ny Carlsberg GlyptotekRoman emperorReign1 July 69 – 23 June 79PredecessorVitelliusSuccessorTitusBornTitus Flavius Vespasianus17 November 9 AD[1]Falacrinum, ItalyDied23 June 79 (aged 69)[4]Aquae CutiliaeBurialRomeSpousesDomitilla the Elder (died before 69)Caenis (mistress and later concubine after his wife's death c. 65–74)IssueDetailTitusDomitilla the ...

 

Indian politician This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: P. Jeevanandham – news · newspapers · books · scholar · JSTOR (July 2013) (Learn how and when to remove this message) P. JeevanandhamJeevanandham on a 2010 stamp of IndiaBornSorimuthu21 August 1907Boothapandi,Kingdom of Travancore,British Indi...

Sireethorn LeearamwatLeearamwat di Puteri Indonesia 2020LahirSireethorn Leearamwat24 Desember 1993 (umur 30)Bangkok, ThailandNama lainBint SireethornBintPendidikanUniversitas MahidolPekerjaanModelratu kecantikanahli farmasiapotekerTahun aktif2019–sekarangKota asalBangkok, ThailandTinggi175 cm (5 ft 9 in)Gelar Miss Thailand 2019 Miss International Thailand 2019 Miss International 2019 Pemenang kontes kecantikanWarna rambutHitamWarna mataCokelatKompetisiuta...

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要擴充。 (2013年1月1日)请協助改善这篇條目,更進一步的信息可能會在討論頁或扩充请求中找到。请在擴充條目後將此模板移除。 此條目需要补充更多来源。 (2013年1月1日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的...

 

  لمعانٍ أخرى، طالع فيل (توضيح). اضغط هنا للاطلاع على كيفية قراءة التصنيف الفيلالعصر: العصر البليوسيني- الآن قك ك أ س د ف بر ث ج ط ب ن ↓ فيل إفريقي (على اليمين) مع فيل آسيوي (على اليسار) التصنيف العلمي النطاق: حقيقيات النوى المملكة: الحيوانات الشعبة: الحبليات الشعيبة: الفقا�...

Enrique Peñalosa Alcalde Mayor de Bogotá 1 de enero de 2016-31 de diciembre de 2019Predecesor Gustavo PetroSucesora Claudia López 1 de enero de 1998-31 de diciembre de 2000Predecesor Paul Bromberg ZylversteinSucesor Antanas Mockus Miembro de la Cámara de Representantes de Colombiapor Bogotá 20 de julio de 1990-12 de diciembre de 1991 Diputado de la Asamblea Departamental de Cundinamarca 1 de enero de 1984-1 de enero de 1986 Información personalNombre de nacimiento Enrique Peñalosa Lond...

 

1953 film A Heart Plays FalseDirected byRudolf JugertWritten byHans-Ulrich Horster (novel)Erna FentschProduced byGeorg WittStarringO.W. FischerRuth LeuwerikCarl WeryCinematographyHelmut AshleyEdited byClaus von BoroMusic byWerner EisbrennerProductioncompanyGeorg Witt-FilmDistributed byBavaria FilmRelease date 16 July 1953 (1953-07-16) Running time110 minutesCountryWest GermanyLanguageGerman A Heart Plays False (German: Ein Herz spielt falsch) is a 1953 West German drama film di...

 

Pernikahan DiniGenre Drama Roman BerdasarkanPernikahan DiniSkenario Evelyn Afnilia Benni Setiawan SutradaraBenni SetiawanPemeran Megan Domani Randy Martin Lagu pembukaPernikahan Dini oleh SoundwaveLagu penutupPernikahan Dini oleh SoundwavePenata musikJoseph S. DjafarNegara asalIndonesiaBahasa asliBahasa IndonesiaJmlh. musim1Jmlh. episode10ProduksiProduserManoj PunjabiSinematografiIpung Rachmat SyaifulPenyuntingGita MiajiPengaturan kameraMulti-kameraDurasi±44 menitRumah produksiMD Ente...

Television series Sea of SoulsDVD coverGenreParanormalMysteryCreated byDavid KaneWritten byDavid KaneEd WhitmoreStarringBill PatersonArchie PanjabiPeter McDonaldDawn SteeleIain RobertsonComposerSheridan TongueOriginal languageEnglishNo. of series4No. of episodes20 (list of episodes)ProductionExecutive producerBarbara McKissackProducersPhil CollinsonStephen GarwoodProduction locationsGlasgow, ScotlandRunning time60 mins.Production companiesBBC ScotlandCarnival FilmsSony Pictures Television Int...

 

  لمعانٍ أخرى، طالع جيمس ديفيس (توضيح). جيمس ديفيس (بالإنجليزية: Jim Davis)‏    معلومات شخصية اسم الولادة (بالإنجليزية: James Robert Davis)‏  الميلاد 28 يوليو 1945 (79 سنة)[1][2]  ماريون  مواطنة الولايات المتحدة  مشكلة صحية تلعثم  الحياة العملية المدرسة الأم جامعة ...