¿Es realmente el idioma Yi tan basura?
Una breve reseña de los lenguajes de programación chinos
La programación china, o programación china, no es nada nuevo. La programación en "lenguajes de programación distintos del inglés" no es exclusiva de China. es una herramienta de desarrollo de programación japonesa llamada "nadeshiko": /p/nadesiko/. Creo que hay muchos otros lenguajes de programación "no en inglés". Si está interesado, puede echar un vistazo.
Si nunca ha utilizado un lenguaje de programación chino, puede intentarlo. Hay muchas cosas similares en China. Una cosa a señalar es que los llamados "problemas de entrada" de la programación china. Los idiomas no son tan difíciles como se imagina. A menudo tienen sus propios problemas. En un entorno de desarrollo, solo necesita ingresar la primera letra del pinyin de una palabra para completar la entrada (por ejemplo, si ingresa b, a). Aparecerá un menú de finalización con opciones como "reproducir música", "guardar página", etc., tal como lo haría en un IDE común. Consulte lo mismo).
Lenguaje de programación
Las computadoras no conocen el lenguaje, solo conocen los números y luego transfieren los números procesados entre memorias de acuerdo con ciertas reglas. Los seres humanos programan de acuerdo con las características subyacentes de la máquina. Es muy difícil, pero ¿es posible decirle a la máquina qué hacer según el lenguaje natural? La primera es que las máquinas no pueden reconocer el lenguaje natural humano y, en segundo lugar, la mayoría de los lenguajes naturales humanos no pueden expresar una lógica clara. Entonces algunas personas hicieron un compromiso y diseñaron algo llamado lenguaje de programación. El lenguaje de programación es un lenguaje formal que utiliza una serie de símbolos para encontrar diferentes puntos de equilibrio dentro del alcance de las capacidades de reconocimiento de la computadora y el alcance de la lógica de expresión humana. Dependiendo del entorno en el que se encuentre el lenguaje de programación, los objetivos de diseño, las capacidades del implementador del compilador y otros factores, el punto de equilibrio adoptado por los diferentes lenguajes de programación también es diferente.
Tomemos el lenguaje C como ejemplo. El entorno en el que existe el lenguaje C es que el software desarrollado en lenguaje ensamblador no se puede trasplantar a hardware diferente. Sin embargo, el hardware de esa época a menudo tenía un rendimiento bajo, por lo que la computadora. Nació el compilador (primer intérprete) que puede reconocer (compilar o interpretar) y al mismo tiempo satisfacer las necesidades del sistema operativo desarrollado en ese momento para operar directamente la memoria (con punteros con capacidades de operación aritmética). Si tiene cuidado, puede encontrar que muchas características del lenguaje C satisfacen las necesidades de esa época. Hay palabras clave de registro, automático y en línea en el lenguaje C, lo que demuestra que el nivel del compilador en ese momento era muy pobre. no podía manejar la asignación de registros y la inserción de manera eficiente. Int, short, long, char, unsigned, firmado, etc. también describen los tipos comunes de números procesados por los registros en esa época.
Lenguaje de programación chino
Tomando un lenguaje de programación chino como ejemplo, escriba un programa Hola Mundo:
#Contiene "un determinado sistema de lenguaje.interfaz"
Función principal de tipo entero ()
{
Salida ("Hola mundo"
Devuelve 0;
}
De hecho, la esencia es la misma que la del lenguaje C:
#include lt; stdio.hgt
int main() p>
{
printf("Hola mundo");
return 0;
}
Casi no hay diferencia en apariencia, puedes verla. La diferencia es que las palabras clave y los identificadores han sido "chinos". Entonces, ¿cuánta ayuda pueden estas traducciones al chino ayudar a las personas que “no entienden inglés”? Puede intentar mostrarle la "versión china del programa en lenguaje C" anterior a una persona que nunca ha aprendido a programar. Es casi imposible para él entenderla y es imposible escribir otros programas similares en este lenguaje de inmediato, porque es imposible. se ha chinoizado. Aunque esas palabras clave e identificadores están escritos en caracteres chinos, todavía no describen lo que representan en el programa informático real.
Por ejemplo, #include, las que comienzan con # suelen ser macros de preprocesamiento, y la función del programa de macro de preprocesamiento es el llamado preprocesamiento del programa antes de la compilación. Por ejemplo, la función de inclusión es similar a "copiar" todo lo declarado en. stdio.h al archivo actual, para que el archivo actual pueda ver los prototipos de funciones y otros contenidos en stdio.h. Y int representa un tipo entero, o el tipo entero con el ancho predeterminado considerado por el compilador de lenguaje C del sistema informático actual, en lugar de cualquier tipo entero con precisión infinita. Entonces, ¿qué tal si cambiamos estos dos a tipos "contiene" y "entero"? El significado de incluir sigue siendo el mismo que el de incluir. Las personas que comprenden el proceso de inclusión (o las personas que simplemente comprenden su función) seguramente escribirán esta línea de código sin ningún escrúpulo, pero las personas que no lo comprendan aún no lo harán. capaz de escribirlo, lo mismo ocurre con la traducción al chino de otros identificadores y palabras clave. En última instancia, las personas que escriben programas no escriben programas en lenguajes de programación chino o inglés porque entienden el significado de estos símbolos en chino. o inglés, sino porque entienden el significado de estos símbolos en chino o inglés. Entendió el significado de estos símbolos en el contexto del sistema informático y el lenguaje de programación.
No creas que es gracioso que estas dos declaraciones sean casi idénticas y los lenguajes se correspondan entre sí. De hecho, muchos de los llamados "lenguajes de programación chinos" son en realidad solo modificaciones en el preprocesador. cambiar las palabras clave y algunas funciones de la biblioteca estándar al chino y luego lanzarlo como un entorno de desarrollo de interfaz gráfica. No hay contenido tecnológico muy significativo. Su capa inferior (especialmente el backend) es esencialmente una implementación común de lenguajes de programación comunes existentes (como GCC o Mono). Algunos incluso venden productos de código cerrado sin cumplir con las licencias de software de código abierto a las que hacen referencia.
El propósito de los lenguajes de programación
¿Por qué utilizamos lenguajes de programación? Porque escribir código en lenguaje de máquina que las máquinas puedan reconocer es demasiado doloroso y no portátil. ¿Qué queremos hacer con un lenguaje de programación? Es una descripción clara en un nivel superior de lógica que desea que ejecute la computadora. Ya sea que el proceso de descripción de la lógica utilice "entero" o "Int", o "int", "Int32" o "Entero", la dificultad de la programación china solo hace que algunas personas tengan el estereotipo en sus mentes. "No sé cómo hacerlo". "Inglés, entonces el chino puede ayudarme a aprender programación" parece menos aterrador a primera vista, una vez que aprendes el chino relacionado con esas palabras clave o identificadores relacionados con el negocio, el proceso posterior de organización. y expresar lógica La dificultad no se reducirá en absoluto, y este "después", es decir, el tiempo dedicado a aprender estas palabras clave e identificadores puede representar el 99,99 del tiempo total de programación. Podemos decir que la programación china solo reduce la carga de. estas personas en 0,01.
Las desventajas de la programación china
Algunas personas dicen que no está mal reducir la carga de 0,01 para algunas personas, pero sigue siendo una mejora para este 0,01 ". mejora", han surgido otros problemas más graves.
(1): Falta de implementación del lenguaje de programación
Los implementadores y mantenedores de estos llamados lenguajes de programación chinos son a menudo individuos y empresas muy pequeñas, y definen el lenguaje por su propia implementación, a menudo no abren el código fuente. Una vez que estas personas ya no tienen la intención de continuar con el mantenimiento, o la empresa quiebra, la plataforma en la que se puede ejecutar el código escrito en este lenguaje solo se bloqueará en el lanzamiento de la última implementación. , y no se agregarán nuevas funciones en el futuro. Las funciones y capacidades nuevas ya están disponibles, y el código escrito en el lenguaje tiene poco espacio para desarrollo futuro.
(2): Falta de bibliotecas y otros soportes
Hay pocos usuarios de lenguajes de programación chinos y los únicos usuarios a menudo temen incluso algunas palabras clave en inglés de lenguajes de programación comunes. Es imposible desarrollar bibliotecas de alta calidad, especialmente de bajo nivel, por lo que los mantenedores de lenguajes de programación y un pequeño número de usuarios avanzados solo pueden asumir la carga de desarrollar bibliotecas. La mayoría de las bibliotecas provienen de bibliotecas que encapsulan las API del sistema operativo y las funciones comunes. (como reproducción de MP3, análisis XML), pero estas bibliotecas son muy insuficientes.
(3): Dificultades en la comunicación
Así como usamos el inglés para comunicarnos en foros internacionales e irc, hay una gran cantidad de usuarios de estos foros e irc además de los chinos. de países que no hablan inglés, usamos el inglés no porque el idioma sea muy preciso y hermoso, sino simplemente porque hay tantos usuarios de inglés que es casi un idioma internacional. Todo el mundo lo sabe hasta cierto punto y es muy conveniente. para comunicarse. El uso de estos lenguajes de programación chinos no convencionales hará que "no tenga un idioma diferente" cuando se comunique con todos.
Conclusión
La conclusión a la que he llegado aquí ya es obvia. En resumen, el llamado "lenguaje de programación chino" no resuelve muchos problemas, pero trae muchos. problema. Si hay lectores que eligen estos "lenguajes de programación chinos" solo porque creen que no saben inglés, comprendan que "el propósito de los lenguajes de programación y la verdadera dificultad de la programación es describir la lógica, no las palabras clave". y los identificadores corresponden literalmente a ". "Lenguaje natural", y luego pruebe el "lenguaje de programación inglés" que le teme y compre un libro de alta calidad sobre cómo aprender este lenguaje de programación. Creo que pronto descubrirá que el inglés es realmente No es un problema.