Большинство языков позволяют «настраивать» определенные части синтаксиса ( C ++ , C # ) и / или семантика, которую вы будете использовать в своем коде ( Katahdin , lua ). Но я не слышал о языке, который мог бы полностью определить, как будет выглядеть ваш код. Так разве Есть ли какой-то язык, который уже существует, который имеет такие возможности, чтобы переопределить весь синтаксис и определить семантику?
Пример того, что я хочу сделать, в основном взят из приведенного ниже кода C #:
foreach(Fruit fruit in Fruits)
{
if(fruit is Apple)
{
fruit.Price = fruit.Price/2;
}
}
Я хочу написать приведенный выше код на моем идеальном языке следующим образом:
Check if any fruits are Macintosh apples and discount the price by 50%.
Преимущества, которые приходят мне на ум при поиске с точки зрения программиста на этом «воображаемом» языке:
foreach(Fruit fruit in Fruits)
{
if(fruit is Apple)
{
fruit.Price = fruit.Price/2;
}
}
Я хочу, чтобы у меня была возможность написать приведенный выше код на моем идеальном языке следующим образом:
Check if any fruits are Macintosh apples and discount the price by 50%.
Преимущества, которые приходят мне на ум с точки зрения программиста в этом «воображаемом» языке:
foreach(Fruit fruit in Fruits)
{
if(fruit is Apple)
{
fruit.Price = fruit.Price/2;
}
}
Я хочу, чтобы у меня была возможность написать приведенный выше код на моем идеальном языке, например:
Check if any fruits are Macintosh apples and discount the price by 50%.
Преимущества, которые приходят мне на ум с точки зрения программиста на этом «воображаемом» языке:
Недостатки, которые я вижу для кодировщика, который будет поддерживать эту программу:
Создайте форму с именем MyGreetingForm. Нарисуйте квадрат с серединой
MyGreetingForm со стороной 100 баллов. В середине квадрата напишите «Привет! Нажмите здесь, чтобы продолжить» шрифтом Arial.
В приведенном выше коде синтаксический анализатор должен предположить, что я хочу использовать Думаю, может, кто-то уже сделал что-то подобное? Или есть какое-то практическое бремя сложности для создания такого языка программирования в стиле эссе, которого я не вижу? Я имею в виду, что может быть хуже, если парсер не так хорош? - ваша программа выйдет из строя, поэтому вам придется перефразировать ее :)