CH / ˌ s iː ˈ eɪ tʃ / 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]
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]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )