programming-languages - programacion - d(lenguaje de programación)
¿Existen lenguajes de programación que se basan en alfabetos no latinos? (10)
¿Has visto a Perl?
Todos los lenguajes de programación que he visto se han basado en el alfabeto latino, esto no es sorprendente teniendo en cuenta que vivo en Canadá ... Pero realmente tiene sentido que haya lenguajes de programación basados en otros alfabetos, o bien científicos informáticos brillantes de todo el mundo. El mundo tendría que aprender un nuevo alfabeto para continuar en el campo. Sé a ciencia cierta que las personas en países dominados por otros alfabetos desarrollan idiomas basados en el alfabeto latino (por ejemplo, Ruby de Japón), pero ¿qué tan común es que los lenguajes de programación se basen en otros alfabetos como el árabe o el cirílico? ¿O incluso sistemas de escritura que no son alfabéticos sino más bien de naturaleza logográfica, como el Kanji japonés? Además, ¿alguno de estos idiomas está en uso generalizado o se utiliza principalmente como herramientas de enseñanza? Esto es algo que me ha molestado desde que empecé a programar, y nunca me he encontrado con alguien que pudiera pensar en una respuesta real.
Acabo de encontrar una wiki interesante para " lenguajes de programación esotéricos ".
Bueno, Brainf* no usa caracteres latinos, si perdonas el lenguaje ... y el juego de palabras.
Bueno, siempre hay APL . Eso tiene sus propios caracteres UNICODE, y creo que también solía requerir un teclado especial.
Hay un idioma utilizado en el sistema ERP ruso llamado after company, que lo desarrolló 1C
. Pero sus identificadores y operadores tienen análogos ingleses.
Además, sé que haskell
tiene soporte para identificadores Unicode, por lo que puedes escribir programas en cualquier alfabeto. Pero esto no es útil (mi idioma nativo es el ruso). Es suficiente que tengas que escribir mensajes del programa y comentarios útiles en el alfabeto nativo.
Hay una lista en Wikipedia . Aunque no creo que ninguno de ellos sea realmente frecuente. Muchos programadores pueden aprender a escribir programas con palabras clave en inglés, incluso si no entienden el idioma. Ruby es un buen ejemplo, aún verás identificadores y comentarios japoneses en algunos códigos de Ruby.
Otras personas están respondiendo con idiomas que usan signos de puntuación además de las letras latinas. Me pregunto por qué nadie mencionó los dígitos 0 a 9 también.
En algunos idiomas, y en algunas implementaciones de algunos idiomas, los programadores pueden usar una amplia gama de caracteres en los identificadores, como los caracteres árabes o chinos. Sin embargo, esto no significa que el lenguaje dependa de ellos.
En la mayoría de los lenguajes, los programadores pueden usar una amplia gama de caracteres en literales de cadena (entre comillas) y en comentarios. De nuevo, esto no significa que el lenguaje se base en ellos.
En cada lenguaje de programación que he visto, el lenguaje se basa en signos de puntuación y dígitos. Así que esto responde a tu pregunta, pero no de la forma que esperas.
Ahora tratemos de encontrar algo significativo. ¿Hay un lenguaje de programación donde las palabras clave se eligen de alfabetos no latinos? Supongo que no, excepto tal vez para los idiomas de broma. ¿Cuál sería el punto de inventar un lenguaje de programación que haga imposible que algunos programadores ingresen un programa?
EDITAR: Mi conjetura es incorrecta. Además del uso que hace APL de varios signos de puntuación inventados, depende de algunas palabras clave griegas, donde cada palabra clave tiene una letra, como la letra rho.
APL es probablemente el más conocido. Incluso tiene una superposición de teclado genial (o ¿era un teclado especial que tenías que comprar?):
En la categoría no alfabética, también tenemos lenguajes de programación como LabVIEW , que es principalmente gráfico. (Puede etiquetar objetos y aún puede hacer manipulación de cadenas, así que hay algo de contenido textual). LabVIEW se ha utilizado en la adquisición de datos y la automatización durante años, pero ganó algo de popularidad cuando se convirtió en la plataforma predeterminada para Lego Mindstorms .
Fragmento de muestra:
mutual
data ωChain : Set where
_∷_,_ : ∀ (x : carrier) (xω : ∞ ωChain) (p : x ≼ xω) → ωChain
head : ωChain → carrier
head (x ∷ _ , _) = x
_≼_ : carrier → ∞ ωChain → Set
x ≼ xω = x ≤ head (♭ xω)
Muchos idiomas permiten identificadores Unicode. Es parte de Java estándar , y tanto g++ (aunque tiene que usar escapes / uNNNN) como MSVC++ les permiten (vea también esta pregunta ) Y algunos permiten usar #define
(o quizás mejor) para renombrar las estructuras de control.
Pero en realidad, la gente no hace esto en su mayor parte. ¿Ves preguntas anteriores como Idioma de nombres de variables? ¿Debería estar escrito todo el código en inglés? , etc.