yagool - doc’s YAPL


10 ноября 2006

Я бы хотел писать на языке, вроде того, которым аутглюк описывает правила. Правда это у него только представление правила для юзверя.пример:

Apply this rule after message arives
with CruiseControl in the subject
move it to the cc folder
and mark it as read

Там еще кое-где отступы долны быть в примере.

Вот бы создать объектно-ориентированный, правда близкий к функциональному язык программирования, с подобным синтаксисом.
Хочу попробовать обойтись без if, for и скорее всего переменных.) Но переменные может и придеться ввести. Пока прикольно получаеться. Лексер уже готов, парсер тоже на подходе. В парсере осталось пару шитришков в методах и потом все это в объекты объединить.
Думаю на СмолТолк будет похож чем-то.

уже работает:

yagool>hello
yagool> 1+1
yagool>.

(объявление метода) метод прикрепляеться к объекту шелла.

yagool>Hello.
RESULT:2
(вызов этого метода)

причем 1+1, это означает отправить объекту 1 сообщение + с параметром 1.
+ в данном случае не являеться оператором языка. Пока удалось обойтись без ключевых слов вообще. Планирую так будет и дальше. Точно знаю что достаточно одно ключевого слова, как в языке Self. Но подозреваю, что можно вообще без них.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
          0 голосов

5 Комментариев на “yagool - doc’s YAPL”

  1. zeroreturn сказал:

    это будет надстройка над Java?

  2. doc сказал:

    Yagool = Yet Another Genuine Object-oriented language.

    В текущей версии - да. Это надстройка над ява. Ожидаю, что будет очень тормозить.) Но это не главное. Вся оптимизация будет уператься в одну операцию - "отправка сообщения объекту", как в Self, который Sun уже лет 5 назад похоронила, но чьи достижения успешно впихнула в HotSpot JIT.

    Предполагаеться, что можно будет рантайм Yagool реализовать и на Ява-скрипте без проблем. Причем, предполагаю, что достаточно эффективно. Таким образом предполагаеться получить удобный AJAX. Все пишеться на одном языке, все гибко и прозрачно.

    Но это далеко не главные фишки. Главной же фишкой, кроме синтаксиса, хочу сделать прозрачный persistance. Т.е. все объекты в систем - персистные, а не персистных, таких как потоки и соединения - нет. Точнее они есть, но на более низком уровне.

    Следовательно, когда технология будет более-менее обкатана поверх Java, монжно перейти на C или ваще на ASM. Для этого не понадобиться много усилий. Нужен только рантайм. Компилятор к тому времени, можно будет на самом этом yagool и реализовать. Хотя компилятор тут выражение достаточно условное.)

    Еще пара предположений (сильные стороны):

    Время разработки, меньше, чем на ява в 2-3 раза, при тех же возможностях (думаю даже больших) и при том же уровне струтурирования, потому что нет необходимости иметь копию модели, для persistance-layer, middle-tier и web-tier, в случае Ajax сюда еще и client-tier добавляеться.

    Предпологаю, что время вызова методов через Reflection, будет значительно выше, чем в Ява. В J2EE приложении за запрос выполняеться копирование свойств объектов через рефлекшин минимум 2-3 раза. Следовательно, не исключена более высокая производительность чем в J2EE, при более высокой гибкости, и меньшем времени разработки.

    Ну ладно, помечтали и хватит.

  3. Rayan сказал:

    Руслан, написал бы нормальную статью, а?
    Коменты это коменты

  4. doc сказал:

    Я не постил это, как статью, скорее было оффтопом в каком-то треде. Похоже, Глэд это и перенес.

  5. Rayan сказал:

    ага
    но вот сейчас пост продолжил коментом

    я предлагаю оформить все коменты в связаное чтото и тогда будет более понятный предмет обсуждения





Оставте свое мнение