Ch / ˌ s i eɪ tʃ / es una propiedad multiplataforma C y C ++ intérprete medio ambiente y el lenguaje de secuencias de comandos, diseñada originalmente por Harry H. Cheng como un lenguaje de script para los principiantes a aprender las matemáticas, computación, análisis numérico (métodos numéricos), y programación en C / C ++. Ch ahora es desarrollado y comercializado por SoftIntegration, Inc. Una edición para estudiantes está disponible gratuitamente. Ch Professional Edition para Raspberry Pi es gratuita para uso no comercial.
Autor (es) original (es) | Harry H. Cheng |
---|---|
Desarrollador (es) | SoftIntegration, Inc. |
Versión inicial | 1 de octubre de 2001 |
Lanzamiento estable | 8.0.0 / 19 de noviembre de 2017 |
Escrito en | C |
Sistema operativo | Windows , OS X , Linux , AIX , HP-UX , Solaris (SPARC y x86), QNX , FreeBSD |
Plataforma | x86 , SPARC |
Disponible en | inglés |
Tipo | Entorno de desarrollo integrado |
Licencia | Software propietario Edición estándar: software gratuito Edición para estudiantes : software gratuito para estudiantes Edición profesional: software de prueba durante 30 días |
Sitio web | www |
Ch puede integrarse en programas de aplicación C / C ++. Tiene funciones de cálculo numérico y trazado gráfico. Ch es un shell e IDE combinados. [1] Ch shell combina las características del shell común y el lenguaje C. [2] ChIDE proporciona navegación rápida por código y depuración simbólica. Se basa en Ch, Scite y Scintilla integrados. [3] [4]
Ch está escrito en C y se ejecuta en Windows , Linux , macOS , FreeBSD , AIX , Solaris , QNX y HP-UX . Es compatible con C90 y las principales funciones de C99, pero no es compatible con el conjunto completo de funciones de C ++. Las funciones de número complejo 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 conjuntos de herramientas que amplían sus funciones. Por ejemplo, Ch Mechanism Toolkit se utiliza para el diseño y análisis de mecanismos de uso común, como el varillaje de cuatro barras, el varillaje de cinco barras, el varillaje de seis barras, el mecanismo deslizante de manivela y el sistema de seguidor de leva. [10] Ch Control System Toolkit se utiliza para modelar, diseñar y analizar sistemas de control de tiempo continuo o tiempo discreto lineal invariante (LTI). [11] Ambos conjuntos de herramientas incluyen el código fuente.
En la actualidad, muchas escuelas secundarias y universidades utilizan e integran Ch en el plan de estudios para enseñar informática y programación en C / C ++. [12] [13] [14] [15] [16] [17] [18] Ch se ha integrado en C-STEM Studio gratuito, una plataforma para aprender informática, ciencia, tecnología, ingeniería y matemáticas (C-STEM ) con robótica. C-STEM Studio es desarrollado por UC Davis Center for Integrated Computing and STEM Education (C-STEM). Ofrece el plan de estudios para estudiantes K-12.
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. [19] [20] [21] También se puede incrustar en el entorno de desarrollo y plataforma de diseño de sistemas de LabVIEW . [22]
Características
Ch es compatible con las clases de 1999 ISO C Standard (C99) y C ++. Es un superconjunto de C con clases C ++. Se admiten varias características principales 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 de caracteres anchos en el Anexo 1 para C90.
Las características de C ++ disponibles en Ch incluyen:
- Funciones de los miembros
- Código mixto y declaración
- El esto -> puntero
- Tipo de referencia y paso por referencia
- Conversión de tipo de estilo de función
- Clases
- Datos y funciones privados / públicos en clases. Ch es compatible con C ++ en el sentido de que, de forma predeterminada, se supone que los miembros de una definición de clase son privados hasta que se proporciona una declaración 'pública'
- Miembro estático de clase / estructura / unión
- Funciones de miembro constante
- Los operadores nuevos y eliminados
- Constructores y destructores
- Funciones polimórficas
- El operador de resolución de alcance:
- Las funciones de E / S cout, cerr y cin con endl
- Los argumentos para las funciones variadas son opcionales
Ch admite clases en C ++ con capacidades adicionales, que incluyen:
- Clases dentro de funciones miembro
- Funciones anidadas con clases
- Pasar la función miembro al argumento del tipo de funciones de puntero a función
Ch puede interactuar con bibliotecas C / C ++ existentes y llamar a funciones C / C ++ desde el script Ch. [23] Como intérprete de C / C ++, Ch se puede utilizar como motor de secuencias de comandos y lenguaje de extensión para aplicaciones. Los punteros a matrices o variables pueden pasarse y compartirse en contextos de secuencias de comandos compilados en C y en Ch. Un ejemplo de una aplicación de secuencias de comandos Ch embebida es Mobile-C, que se ha utilizado para la visualización colaborativa del modelo de malla distribuida. [24] [25] [26]
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, canalizaciones, etc. [27] [28]
Ch tiene funciones de trazado gráfico 2D / 3D integradas y matrices computacionales para computación numérica. Una ecuación lineal 2D de la forma b = A * x se puede escribir literalmente en el cap. [29]
Ver también
- CINT
- Pike (lenguaje de programación)
Referencias
- ^ Veeraraghavan, Sriranga (2013). "Introducción a Ch: Implementación de un convertidor de temperatura en Ch" . Mundo de la informática. Cite journal requiere
|journal=
( ayuda ) - ^ Ch Shell
- ^ Ch IDE
- ^ Wang, Gary (2002). "Ch resuelve dolores de cabeza de portabilidad". Espectro IEEE . 39 (6): 59. doi : 10.1109 / MSPEC.2002.1049264 . S2CID 32477309 .
- ^ Cheng, Harry (1993). "Manejo de números complejos en el lenguaje de programación Ch" . Programación científica : 76–106.
- ^ Cheng, Harry (1993). "Computación científica en el lenguaje de programación Ch" . Programación científica: 49–75. Cite journal requiere
|journal=
( ayuda ) - ^ Cheng, Harry (1995). "Ampliación de C y FORTRAN para la automatización del diseño" . ASME Trans., Revista de diseño mecánico: 390–395. Cite journal requiere
|journal=
( ayuda ) - ^ Cheng, Harry (1995). "Ampliació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 ]
- ^ Morejón, Mario (2006). "Ch Language Rivals Funcionalidad Java" . CRN. Cite journal requiere
|journal=
( ayuda ) - ^ 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 .
- ^ Zhu, Yong (2003). "Un paquete de software basado en objetos para el diseño y análisis de sistemas de control interactivo". Revista de Informática y Ciencias de la Información en Ingeniería . 3 (4): 366–367. doi : 10.1115 / 1.1630815 .
- ^ Cheng, Harry (2009). "C para el curso" . Revista ASME Mechanical Engineering: 50–52. Cite journal requiere
|journal=
( ayuda ) - ^ Huber, Tom (2010). "Una introducción a C y Ch: su ventanilla única para la informática científica". Computación en ciencia e ingeniería . 12 (4): 7. doi : 10.1109 / MCSE.2010.82 .
- ^ Liu, Li; Wang, Zhaoqing; Jiang, Xusheng (2010). "Enseñanza de programación basada en anclajes integrada con la plataforma Ch". Enseñanza de programación basada en ancla integrada con la plataforma Ch . Mecatrónica y Sistemas y Aplicaciones Embebidos (MESA), Conferencia Internacional IEEE / ASME. págs. 49–52. doi : 10.1109 / MESA.2010.5552033 . ISBN 978-1-4244-7101-0. S2CID 2063024 .
- ^ Furman, B .; Wertz, E. (2010). Actas de la Conferencia Internacional IEEE / ASME de 2010 sobre aplicaciones y sistemas integrados y mecatrónicos . Mecatrónica y Sistemas y Aplicaciones Embebidos (MESA), Conferencia Internacional IEEE / ASME. págs. 70–75. doi : 10.1109 / MESA.2010.5552091 . ISBN 978-1-4244-7101-0. S2CID 12764358 .
- ^ Zhuang, Hong; Wang, Zhao-qing (2009). "Experiencia en el uso de Ch para la enseñanza de la programación informática en C" . Educación informática: TP311.11–4. CKNI: SOL: JYJS.0.2009-07-016 . Cite journal requiere
|journal=
( ayuda ) - ^ Wang, Rong (2009). "Estudio del Método de Enseñanza de Programación en Lenguaje C en la plataforma Ch" . Revista de la Universidad de Docentes de Weinan: TP312.1–4. CNKI: SOL: LOBO.0.2009-05-018 . Cite journal requiere
|journal=
( ayuda ) - ^ Stopforth, Riaan (2013). "Enseñanza y programación con Ch para la educación en ingeniería mecatrónica de nivel terciario". 2013 VI Congreso de Robótica y Mecatrónica (Rob Mech ) . Conferencia de Robótica y Mecatrónica (RobMech). págs. 146-149. doi : 10.1109 / RoboMech.2013.6685507 . ISBN 978-1-4799-1518-7. S2CID 23172598 .
- ^ ch robot
- ^ ch pinzón
- ^ ch frambuesa y brazo [ enlace muerto permanente ]
- ^ "Embebido de un intérprete C / C ++ Ch en LabVIEW para scripting" .
- ^ Wilson, Matthew (2004). "Open-RJ y Ch" . Diario del Dr. Dobb .
- ^ Cheng, Harry (2009). "Aceleración del desarrollo de software mediante secuencias de comandos integradas" . Diario del Dr. Dobb . pag. 8.
- ^ 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. S2CID 39307433 .
- ^ Wang, Li-rong; Bo, Yo; Hagiwara, Ichiro (2009). Una simplificación colaborativa basada en agentes del modelo de malla 3D . Cdve'09. CDVE'09 Actas de la 6ª conferencia internacional sobre diseño, visualización e ingeniería cooperativas. págs. 325–328. ISBN 9783642042645.
- ^ Campbell, Matt (2003). "Ch, AC / C ++ Intérprete - Nuevas posibilidades para personas que gustan de C y Unix" . MACTECH, la revista de tecnología de Apple. Cite journal requiere
|journal=
( ayuda ) - ^ Cheng, Harry (2010). El entorno del lenguaje Ch (6.3 ed.). Davis, CA: SoftIntegration, Inc.
- ^ Glassborow, Francis (2001). "The Ch Language Environment Versión 2.0" . Revista C Vu: 36–37. Cite journal requiere
|journal=
( ayuda )
Otras lecturas
- Heller, Martin (2001). "El entorno del lenguaje Ch" . Byte . Archivado desde el original el 16 de noviembre de 2001. Cite journal requiere
|journal=
( ayuda ) - Cheng, Harry (2002). "C99 y Computación numérica" . Diario del Dr. Dobb . págs. 28–34.
- Cheng, Harry (2006). "Ch: Intérprete AC / C ++ para Script Computing" . Diario del Dr. Dobb . págs. 6-12.
- Cheng, Harry (2009). C Para ingenieros y científicos, un enfoque interpretativo . McGraw-Hill. ISBN 978-0-07-729046-7.
- Cheng, Harry (2011). C Para ingenieros y científicos (edición china). Prensa de educación superior. ISBN 978-0-07-729046-7.
enlaces externos
- Sitio web oficial , SoftIntegration
- Mobile-C: una plataforma de agentes múltiples para la página de inicio de agentes C / C ++ móviles
- Estudio C-STEM