stringtranslate.com

Ch (programación informática)

CH / ˌ s ˈ / es un intérprete de C y C++ y un entorno de lenguaje de programación propietario y multiplataforma . Fue diseñado por Harry Cheng como un lenguaje de programación para principiantes que quieran aprender matemáticas , informática, análisis numérico (métodos numéricos) y programación en C/C++. Ch ahora es desarrollado y comercializado por SoftIntegration, Inc. Las versiones gratuitas incluyen la edición para estudiantes y la edición profesional no comercial para Raspberry Pi .

CH se puede integrar en programas de aplicación C y C++. Tiene funciones de computación numérica y de representación gráfica. CH es una combinación de shell e IDE . [1] El shell CH combina las funciones del shell común y del lenguaje C. [2] ChIDE proporciona una navegación rápida por el código y una depuración simbólica. Se basa en CH integrado, Scite y Scintilla . [3] [4]

CH está escrito en C y se ejecuta en Windows , Linux , macOS , FreeBSD , AIX , Solaris , QNX y HP-UX . Admite C90 y las principales características de C99 , pero no admite el conjunto completo de características de C++. Las características de números complejos de C99, aritmética de punto flotante IEEE-754 y matriz de longitud variable eran compatibles con CH antes de que se convirtieran en parte del estándar C99. [5] [6] [7] [8] Un artículo publicado por Computer Reseller News ( CRN ) nombró a CH como notable entre las máquinas virtuales basadas en C por su funcionalidad y la disponibilidad de bibliotecas de terceros. [9]

CH tiene muchos kits de herramientas que amplían sus funciones. Por ejemplo, el kit de herramientas de mecanismos de CH se utiliza para el diseño y análisis de mecanismos de uso común, como el mecanismo de cuatro barras , el mecanismo de cinco barras , el mecanismo de seis barras , el mecanismo de corredera con manivela y el sistema de seguidor de leva. [10] El kit de herramientas del sistema de control de CH se utiliza para el diseño, análisis y modelado de sistemas de control lineales invariantes en el tiempo (LTI) de tiempo continuo o tiempo discreto. [11] Ambos kits de herramientas incluyen el código fuente .

CH se ha integrado en C-STEM Studio, una plataforma gratuita para aprender informática, ciencia, tecnología, ingeniería y matemáticas (C-STEM) con robótica. C-STEM Studio es desarrollado por el Centro de Educación STEM y Computación Integrada de la UC Davis y ofrece un plan de estudios para estudiantes desde jardín de infantes hasta 12.º grado.

CH es compatible con LEGO Mindstorms NXT y EV3 , Arduino , Linkbot, Finch Robot, RoboTalk y Raspberry Pi, Pi Zero y ARM para la programación y el aprendizaje de robots. [12] [13] [14] También se puede integrar en la plataforma de diseño de sistemas y el entorno de desarrollo de LabVIEW . [15]

Características

CH es compatible con el estándar C ISO de 1999 (C99) y las clases de C++. Es un superconjunto de C con clases de C++. Se admiten varias características importantes de C99, como números complejos, matrices de longitud variable (VLA), aritmética de punto flotante IEEE-754 y funciones matemáticas genéricas. También se admite la especificación para caracteres anchos del Anexo 1 para C90.

Las características de C++ disponibles en CH incluyen:

CH admite clases en C++ con capacidades adicionales, que incluyen:

CH puede interactuar con bibliotecas C/C++ existentes y llamar a funciones C/C++ desde un script CH. [16] Como intérprete C/C++, CH puede utilizarse como motor de scripts y lenguaje de extensión para aplicaciones. Los punteros a matrices o variables pueden pasarse y compartirse tanto en contextos de scripts CH como compilados en C. Un ejemplo de una aplicación de scripts CH integrada es Mobile-C, que se ha utilizado para la visualización colaborativa de modelos de malla distribuida. [17] [18] [19]

CH tiene un tipo de cadena incorporado (string_t) para la asignación y desasignación automática de memoria. Admite alias de shell, historial y canalización. [20] [21]

CH tiene funciones integradas de trazado gráfico 2D/3D y matrices computacionales para cálculos numéricos. Una ecuación lineal 2D de la forma b = A*x se puede escribir textualmente en Ch. [22]

Véase también

Referencias

  1. ^ Veeraraghavan, Sriranga (2013). "Una introducción a Ch: Implementación de un convertidor de temperatura en Ch". ComputerWorld. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  2. ^ Concha Ch
  3. ^ IDE de Ch
  4. ^ Wang, Gary (2002). "Ch resuelve los problemas de portabilidad". IEEE Spectrum . 39 (6): 59. doi :10.1109/MSPEC.2002.1049264. S2CID  32477309.
  5. ^ Cheng, Harry (1993). "Manejo de números complejos en el lenguaje de programación Ch". Programación científica : 76–106.
  6. ^ Cheng, Harry (1993). "Computación científica en el lenguaje de programación Ch". Programación científica: 49–75. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  7. ^ Cheng, Harry (1995). "Extensión de C y FORTRAN para la automatización del diseño". ASME Trans., Journal of Mechanical Design: 390–395. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  8. ^ Cheng, Harry (1995). "Extensión de C con matrices de longitud variable". Estándares e interfaces informáticos . 17 (4): 375–406. doi :10.1016/0920-5489(95)00007-H.[ enlace muerto ]
  9. ^ Morejon, Mario (2006). "El lenguaje Ch rivaliza con la funcionalidad de Java". CRN. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  10. ^ Cheng, Harry (2006). "Diseño y análisis de mecanismos interactivos orientados a objetos". Ingeniería con computadoras . 21 (3): 237–246. doi :10.1007/s00366-005-0008-4. S2CID  16996625.
  11. ^ Zhu, Yong (2003). "Un paquete de software basado en objetos para el diseño y análisis de sistemas de control interactivos". Revista de informática y ciencias de la información en ingeniería . 3 (4): 366–367. doi :10.1115/1.1630815. S2CID  17908643.
  12. ^ robot ch
  13. ^ ch pinzón
  14. ^ ch frambuesa y brazo [ enlace muerto permanente ]
  15. ^ "Incorporación de un intérprete C/C++ Ch en LabVIEW para secuencias de comandos".
  16. ^ Wilson, Matthew (2004). "Open-RJ y Ch". Revista del Dr. Dobb .
  17. ^ Cheng, Harry (2009). "Aceleración del desarrollo de software mediante secuencias de comandos integradas". Dr. Dobb's Journal . pág. 8.
  18. ^ Wang, Li-rong; Bo, Yo; Hagiwara, I (2009). 2009 IEEE 10th International Conference on Computer-Aided Industrial Design & Conceptual Design . Diseño industrial asistido por computadora y diseño conceptual, 2009. CAID & CD 2009. IEEE 10th International Conference. págs. 1127–1132. doi :10.1109/CAIDCD.2009.5375178. ISBN 978-1-4244-5266-8. Número de identificación del sujeto  39307433.
  19. ^ Wang, Li-rong; Bo, Yo; Hagiwara, Ichiro (2009). Simplificación colaborativa basada en agentes de un modelo de malla 3D. Cdve'09. CDVE'09 Actas de la sexta conferencia internacional sobre diseño, visualización e ingeniería cooperativa. págs. 325–328. ISBN 9783642042645.
  20. ^ Campbell, Matt (2003). "Ch, intérprete AC/C++: nuevas posibilidades para quienes gustan de C y Unix". MACTECH, la revista de tecnología de Apple. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  21. ^ Cheng, Harry (2010). El entorno del lenguaje Ch (6.3.ª ed.). Davis, CA: SoftIntegration, Inc.
  22. ^ Glassborow, Francisco (2001). "El entorno del lenguaje Ch versión 2.0". Revista C Vu: 36–37. {{cite journal}}: Requiere citar revista |journal=( ayuda )

Lectura adicional

Enlaces externos