Los lenguajes de programación no basados en el inglés son lenguajes de programación que no utilizan palabras clave tomadas o inspiradas en el vocabulario inglés .
Prevalencia de lenguajes de programación basados en el inglés
El uso del idioma inglés como inspiración para la elección de elementos, en particular para palabras clave en lenguajes de programación informática y bibliotecas de códigos, representa una tendencia significativa en la historia del diseño de lenguajes. Según la base de datos en línea de lenguajes HOPL, [1] de los más de 8500 lenguajes de programación registrados, aproximadamente 2400 de ellos se desarrollaron en los Estados Unidos , 600 en el Reino Unido , 160 en Canadá y 75 en Australia .
Así, más de un tercio de todos los lenguajes de programación se han desarrollado en países donde el inglés es el idioma principal. Esto no tiene en cuenta la proporción de uso de cada lenguaje de programación, las situaciones en las que un lenguaje se desarrolló en un país no angloparlante pero utilizó el inglés para atraer a una audiencia internacional (véase el caso de Python de los Países Bajos , Ruby de Japón y Lua de Brasil ) y las situaciones en las que se basó en otro lenguaje de programación que utilizaba el inglés.
Lenguajes de programación internacionales
El concepto de lenguajes de programación de estilo internacional se inspiró en el trabajo de los informáticos británicos Christopher Strachey , Peter Landin y otros. Representa una clase de lenguajes de los que la línea de lenguajes algorítmicos ALGOL fue un ejemplo.
ALGOL 68
El documento estándar de ALGOL 68 se publicó en numerosos lenguajes naturales . El estándar permitió la internacionalización del lenguaje de programación. El 20 de diciembre de 1968, el "Informe final" (MR 101) fue adoptado por el Grupo de trabajo, y posteriormente aprobado por la Asamblea General del IFIP de la UNESCO para su publicación. Se realizaron traducciones del estándar al ruso , alemán , francés , búlgaro y, más tarde, al japonés . El estándar también estaba disponible en Braille [ aclaración necesaria ] . ALGOL 68 se convirtió en el estándar GOST/ГОСТ -27974-88 en la Unión Soviética .
- GOST 27974-88 Lenguaje de programación ALGOL 68 – Язык программирования АЛГОЛ 68 [2]
- GOST 27975-88 Lenguaje de programación ALGOL 68 extendido – Язык программирования АЛГОЛ 68 расширенный [3]
En inglés, la declaración de caso de Algol68 dice case ~ in ~ out ~ esac . En ruso , dice выб ~ в ~ либо ~ быв .
Citrino
La localización es la característica principal del lenguaje de programación Citrine . Citrine está diseñado para ser traducible a todos los idiomas humanos escritos. Por ejemplo, la versión en idioma frisón occidental se llama Citrine/FY. Citrine cuenta con palabras clave localizadas, números localizados y puntuación localizada. Los usuarios pueden traducir archivos de código de un idioma a otro utilizando un enfoque basado en cadenas. Al momento de escribir este artículo, Citrine admite 111 idiomas humanos. La compatibilidad no se limita a los idiomas conocidos; se aceptan para su inclusión todos los idiomas humanos naturales hasta EGIDS-6 .
Hola
Hedy es un lenguaje de programación de código abierto que fue desarrollado para la enseñanza de la programación. Fue diseñado para ser lo más instructivo y accesible posible con algunas características únicas. A partir de septiembre de 2024, [actualizar]admite 47 idiomas diferentes, [4] lo que significa que sus palabras clave se pueden escribir en cualquiera de ellos. Admite idiomas que no utilizan el alfabeto latino para sus palabras clave y nombres de variables y también admite más sistemas de numeración que los números arábigos , como los números arábigos orientales . Todos estos se pueden usar indistintamente. Los mensajes de error son bastante detallados, explican qué está mal y qué podría ser una solución, al igual que el compilador Rust .
Esquema
Si bien la internacionalización no forma parte de ningún estándar de Scheme , la expresividad y flexibilidad del lenguaje permiten la incorporación de la internacionalización como biblioteca . Scheme Internacional es un proyecto de código abierto al que cualquiera puede contribuir con una traducción. Dado que las traducciones de Scheme se pueden cargar como bibliotecas, los programas de Scheme pueden ser multilingües .
Rascar
Scratch es un lenguaje educativo basado en bloques. El texto de los bloques se traduce a muchos idiomas y los usuarios pueden seleccionar diferentes traducciones. Los nombres de las variables y las listas admiten caracteres Unicode. (Las listas de Scratch no se almacenan dentro de las variables de la misma forma que se manejan las matrices o las listas en la mayoría de los idiomas. Las variables solo almacenan cadenas, números y, con soluciones alternativas, valores booleanos, mientras que las listas son un tipo de datos independiente que almacena secuencias de estos valores). Los proyectos se pueden "traducir" simplemente cambiando el idioma del editor, aunque esto no traduce los nombres de las variables.
Basado en idiomas distintos del inglés
Basado en símbolos en lugar de palabras clave
- APL – Un lenguaje basado en notación matemática y abstracciones.
- Brainfuck – Un lenguaje de programación esotérico minimalista, creado con el propósito de tener el compilador más pequeño posible . [23]
- Emojicode – Un lenguaje esotérico basado en emojis .
- G – Lenguaje gráfico utilizado en LabVIEW (no debe confundirse con código G).
- Hoon : un lenguaje de programación de sistemas para Urbit, compilado en Nock.
- J – Un lenguaje similar a APL que utiliza solo caracteres especiales ASCII y agrega programación a nivel de función .
- Patrón de luz: un lenguaje que utiliza una serie de fotografías en lugar de texto como código fuente. [24]
- Mouse – Un lenguaje minimalista creado por Peter Grogono que utiliza caracteres ASCII para palabras clave.
- Piet – Un lenguaje de programación esotérico basado en el arte.
- Plankalkül : el primer lenguaje de programación de alto nivel no von Neumann, diseñado por Konrad Zuse durante la Segunda Guerra Mundial en Alemania .
- Espacio en blanco : un lenguaje esotérico basado en caracteres de espacio en blanco (espacios, tabulaciones y saltos de línea).
Sintaxis del analizador modificable
- Babylscript: una versión multilingüe de JavaScript que utiliza múltiples tokenizadores para admitir palabras clave localizadas en diferentes idiomas y que permite que los objetos y funciones tengan nombres diferentes en diferentes idiomas.
- Component Pascal : un preprocesador que traduce palabras clave del idioma nativo al inglés en una versión educativa del BlackBox Component Builder disponible como código abierto.[58] La traducción se controla mediante un vocabulario modificable y se respalda con mensajes de error del compilador modificables. Se utiliza una versión rusa completa en educación y debería ser posible dar cabida a otros idiomas que se escriben de izquierda a derecha (por ejemplo, se ha probado el idioma kabardiano como prueba de concepto).
- HyperTalk : un lenguaje de programación que permite la traducción a través de recursos personalizados, utilizado en HyperCard de Apple .
- IronPerunis – Una localización de IronPython 2.7 al lituano y al ruso.
- AppleScript : un lenguaje que alguna vez permitió diferentes "dialectos" [25], incluidos el francés y el japonés; sin embargo, estos fueron eliminados en versiones posteriores.
- Maude – Sintaxis y semántica completamente definibles por el usuario, dentro de los límites del conjunto de caracteres ASCII. [26]
- Perl – Si bien las palabras clave y los nombres de funciones de Perl están generalmente en inglés, permite modificar su analizador para modificar el idioma de entrada, como en el módulo Lingua::Romana::Perligata de Damian Conway , que permite escribir programas en latín, o en el módulo Lingua::tlhInganHol::yIghun de Perl de Michael G. Schwern en klingon. No solo cambian las palabras clave, sino también la gramática para que coincida con el idioma.
- Perunis – Localización de Python 2.6 al lituano y al ruso.
- Ioke – Ioke es un lenguaje plegable. Permite escribir código altamente expresivo que escribe código. Ejemplos del mismo programa en chino, danés, hindi y español
Referencias
- ^ En HOPL (Historia de los lenguajes de programación), la búsqueda avanzada encuentra idiomas por país.
- ^ "GOST 27974-88 Lenguaje de programación ALGOL 68 - Язык программирования АЛГОЛ 68" (PDF) (en ruso). GOST . 1988. Archivado desde el original (PDF) el 24 de marzo de 2017 . Consultado el 15 de noviembre de 2008 .
- ^ "GOST 27975-88 Lenguaje de programación ALGOL 68 extendido - Язык программирования АЛГОЛ 68 расширенный" (PDF) (en ruso). GOST . 1988 . Consultado el 15 de noviembre de 2008 .
- ^ "Hedy" . Consultado el 22 de septiembre de 2024 .
- ^ Jacques Perrin, Concepción entre ciencia y arte. Saludos múltiples sobre la concepción , Presses polytechniques et universitaires romandes
- ^ "Hola mundo: Conoce قلب, un lenguaje de programación basado en la escritura árabe". 25 de enero de 2013.
- ^ "Arabnet | Kalimat: el primer lenguaje de programación árabe para niños".
- ^ IA eng (PDF).
- ^ ChaScript: Rompiendo la barrera del lenguaje usando el sistema de programación bengalí , IEEE, doi :10.1109/ICECE.2014.7026875, S2CID 39503002.
- ^ Labelle, Marcel, Les langages de programmation (PDF).
- ^ Equipo de documentación de Spip, Glosario de idiomas.
- ^ Página de inicio en idioma Rouille, 6 de junio de 2022.
- ^ Katagiri, Akira. 1 Menteのしくみと特徴 [Mente – su mecanismo y características]. Laboratorio de guiones (en japonés) . Consultado el 31 de julio de 2021 .
(traducción aproximada): La mente usa el mecanismo de FORTH. Aunque FORTH nació en Estados Unidos, su gramática es similar a la gramática japonesa.
- ^ Tarui, Hideto (17 de septiembre de 2020). 日本語で書けちゃうプログラミング言語「なでしこ」が中学の教科書に採用! [Lenguaje de programación japonés "Nadeshiko" adoptado en una escuela secundaria libro de texto!]. WINDOWS FOREST (sitio de noticias de TI) (en japonés). Impresionar Corporación . Consultado el 31 de julio de 2021 .
- ^ 令和3年度中学校教科書 [Libro de texto de artes técnicas 2021 para la escuela secundaria]. Sitio web corporativo de Kyoiku tosho (en japonés). Archivado desde el original el 25 de junio de 2021 . Consultado el 31 de julio de 2021 .
- ^ "Aheui", Esolang (wiki).
- ^ Corbett, Jon (20 de julio de 2023). "ᐊᒐᐦᑭᐯᐦᐃᑲᓇ ᒫᒥᑐᓀᔨᐦᐃᒋᑲᓂᐦᑳᓂᕽ | acahkipehikana mâmitoneyihicikanihkânihk | Programación con Cree # y código ancestral: marcas espirituales de Nehiyawewin en un cerebro artificial". Humanidades Digitales Trimestrales . 017 (2). ISSN 1938-4122.
- ^ Husberg, Nisse; Seppänen, Jouko (1974), "Analitik", Boletín ACM SIGSAM , 8 (3), ACM: 24–25, doi : 10.1145/1086837.1086841 , S2CID 510819.
- ^ Эль-76, Кірыліца ў сеціве.
- ^ Manual del lenguaje GarGar [ GarGar Manual ] (en español), archivado desde el original el 5 de noviembre de 2016. [ enlace muerto permanente ]
- ^ Ganesh (PDF) , Infitt, 2003.
- ^ C / S Entwicklungsumgebung ML4, software ML.
- ^ "El lenguaje de programación Brainfuck". Muppetlabs.com . Consultado el 30 de octubre de 2013 .
- ^ Temkin (agosto de 2015). "Patrón de luz: escribir código con fotografías". Leonardo . 48 (4): 375–381. doi :10.1162/LEON_a_01091. S2CID 57571969.
- ^ Cook, William R. (2007). "Apple Script". Actas de la tercera conferencia ACM SIGPLAN sobre Historia de los lenguajes de programación . doi :10.1145/1238844.1238845. ISBN 9781595937667. S2CID 220938191 – vía ResearchGate .
- ^ Diseño del lenguaje en Maude, por Matthias, 5 de junio de 2006, LShift Ltd.
Fuentes
- Pigott, Diarmuid (2006). "HOPL, la historia de los lenguajes de programación". Archivado desde el original el 20 de febrero de 2011. Consultado el 14 de abril de 2008 .
Enlaces externos
- Página de información de SAKO en HOPL – Por Diarmuid Pigott