Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java как Скриптовый язык, просто вопрос, но и немного философии... 
V
    Опции темы
ShurikA
Дата 23.4.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Для начала задам простой вопрос:
На сколько сложно создать скриптовый язык на Java? И чего в результате возможно достичь?

Понятно что создавая свой скриптовый язык (конечно тщательно его описать) возможно давать другим возможность писать код для своей же программы.
Мне не понятна ещё одна вещь: каким образом тот самый "другой" программист прогоняет цвой код не компилируя?
или я просто ничего в этом не понимаю...  smile 

короче, давайте поговорим о создании скриптовых языков на Джаве...


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
nornad
Дата 23.4.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Ответ на простой вопрос - зависит от того, как ты его себе представляешь. ;)
Я как-то делал скриптовый язык на основе XPath. Занятная штука. smile
Есть свои ограничения, но и плюсов масса.

Если же писать свой движок с нуля, то сложнее, конечно. Но вполне реально.

Цитата(ShurikA @  23.4.2007,  17:56 Найти цитируемый пост)
Мне не понятна ещё одна вещь: каким образом тот самый "другой" программист прогоняет цвой код не компилируя?

Легко. smile
Думаешь проще написать компилятор? ;)
Не-а. Интерпретатор куда проще. Определяешь основные конструкции скрипта. Идёшь по шагам и выполняешь то, что требует скрипт. Вот и вся недолга.
Чтобы было проще понять, попробуй представить себе, как бы ты реализовал обработку такого скрипта:
Код

print console "Hello world!"
a = b + 2
print console "a = " a



--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
nerezus
Дата 23.4.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

На сколько сложно создать скриптовый язык на Java?
 Уровня бейсика - совсем не сложно.

Цитата

каким образом тот самый "другой" программист прогоняет цвой код не компилируя?
 Кроме компиляторов бывают еще и интерпретаторы...


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
ShurikA
Дата 24.4.2007, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(nornad @  23.4.2007,  18:36 Найти цитируемый пост)
Интерпретатор куда проще.

Цитата(nerezus @  23.4.2007,  20:03 Найти цитируемый пост)
Кроме компиляторов бывают еще и интерпретаторы... 

если я правильно понимаю, интерпретатор парсит текст и его вуполняет, тоже не так уж просто...

Цитата(nornad @  23.4.2007,  18:36 Найти цитируемый пост)
Если же писать свой движок с нуля, то сложнее, конечно.

Какие ещё варианты есть, если не базироваться на XML?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
nornad
Дата 24.4.2007, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(ShurikA @  24.4.2007,  19:09 Найти цитируемый пост)
если я правильно понимаю, интерпретатор парсит текст и его вуполняет

Интерпретатор только интерпретирует. В принципе, выполнять он не обязан. smile
Для того, чтобы скомпилировать исходный код сначала требуется его интерпретировать. То бишь, компиляторы тоже имеют интерпретатор.
На основе информации, полученной при интерпретировании, можно делать различные вещи - выполнять, компилировать, производить перевод на другой язык... (кстати, не только программирования  smile )

Цитата(ShurikA @  24.4.2007,  19:09 Найти цитируемый пост)
Какие ещё варианты есть, если не базироваться на XML? 

Никто и не говорил, что обязательно надо на чём-то базироваться, тем более на хмле. Это я вспоминал довольно интересный период в своей практике.
Делать можно вообще с нуля. Для этого надо для начала описать свой скриптовый язык и его основные конструкции. Затем написать свой парсер, который будет разбирать код на атомы. А там уже и интерпретатор не за горами - из атомов выбирать необходимые довольно просто.

В плане общего знакомства рекомендую почитать Шилдта. Не скажу, что мне у него всё нравится, но в общем познакомиться с областью для начала хватит.
Я читал "С++. Архив программ", но, насколько знаю, он этот свой минибейсик часто в книгах приводит.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ShurikA
Дата 24.4.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(nornad @  24.4.2007,  19:14 Найти цитируемый пост)
Делать можно вообще с нуля

На самом делел это не есть моя цель, а цель как раз: просто и быстро добиться имплементирования скриптового языка. По этому и думал воспользоваться уже готовой базой, только вот не знаю какой.
Отыскал я следующие вещи:
http://java-source.net/open-source/scripting-languages.
Какой из этих максимально гибок, так что бы можно было его под себя подкрутить?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
nornad
Дата 24.4.2007, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Не работал ни с одним из них, так что ничего не скажу. Кроме того, что всякие Ruby, Tcl и иже с ними дадут синтаксис, а выполнять. вроде бы, будет уже жаба.
В любом случае, использовать один из готовых будет быстрее и менее накладно, чем делать своё.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
RebornCrusader
Дата 27.4.2007, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 18.1.2007
Где: Владивосток

Репутация: 2
Всего: 6



Как на счёт BeanShell или Janino? Последний работает почти с настоящей Javой
--------------------
"Fais se que dois, - adviegne que peut. C'est commande au chevalier"
PM   Вверх
nerezus
Дата 27.4.2007, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Jython


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.