Я бы хотел писать на языке, вроде того, которым аутглюк описывает правила. Правда это у него только представление правила для юзверя.пример:
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. Но подозреваю, что можно вообще без них.



ноября 10, 2006 в 10:20 am
это будет надстройка над Java?
ноября 10, 2006 в 1:53 pm
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, при более высокой гибкости, и меньшем времени разработки.
Ну ладно, помечтали и хватит.
ноября 10, 2006 в 5:08 pm
Руслан, написал бы нормальную статью, а?
Коменты это коменты
ноября 10, 2006 в 5:21 pm
Я не постил это, как статью, скорее было оффтопом в каком-то треде. Похоже, Глэд это и перенес.
ноября 10, 2006 в 8:39 pm
ага
но вот сейчас пост продолжил коментом
я предлагаю оформить все коменты в связаное чтото и тогда будет более понятный предмет обсуждения