Сценарии в [закрытом] Java

public function listar(){
   $users = //Your user model class ::all();
   return $users;
}

Затем попробуйте просмотреть

@foreach ($users as $u)
<tr>
    <td>{{ $u->name }}</td>
    <td>{{ $u->email }}</td>
    <td>{{ $u->phone}}</td>
</tr>

@endforeach

8
задан jfs 17 October 2008 в 05:08
поделиться

11 ответов

Java поддерживает разнообразие (сценариев) языков, некоторые перечислены в Википедии здесь и здесь. Вероятно, необходимо выбрать язык с мощным DSL и возможностями метапрограммирования, такими как Clojure.

Но если Вам нужно что-то более простое, JavaScript мог бы быть жизнеспособной альтернативой.

5
ответ дан 3 November 2019 в 12:57
поделиться

Я ответственен за довольно большую гибридную систему Java/Jython. Мы используем Java для базовой разработки API, затем проводные объекты Java вместе использование Jython. Это находится в среде научных вычислений, где мы должны смочь соединить специальные сценарии анализа данных быстро.

Если бы я запускал эту систему с нуля сегодня, то я не выбрал бы Jython в качестве языка сценариев. Мне нравится прекрасный Python, но я часто встречаюсь с неловкими несоответствиями между системой типов Python и системой типов Java. Например, если Вы просто хотите хеш-таблицу, необходимо ли использовать словарь Python или Java HashMap? Решение могло бы отличаться в зависимости от того, используете ли Вы просто структуру данных локально в коде Python или передаете его через границу Java. Jython делает определенное количество приведения типа для Вас, но это не прекрасно. Это является раздражающим для даже размышления о проблемах как это, когда цель использовать язык сценариев во-первых состоит в том, чтобы улучшить производительность.

Я принимаю JavaScript, или JRuby имел бы подобные проблемы. Сегодня я выбрал бы язык сценариев, который конкретно предназначен к JVM и усиливает систему типов Java. Очевидными кандидатами является Groovy и Beanshell; Groovy, кажется, брал импульс в последнее время, таким образом, я наиболее тесно посмотрел бы на него.

9
ответ дан 3 November 2019 в 12:57
поделиться

Я соглашаюсь с предложением Viktor Jython. Кроме этого и JavaScript (который Вы упомянули и встроены в Java 6 + через javax.script пакет), на Groovy и JRuby также стоит посмотреть также.

Между прочим, необходимо посмотреть на Крылатого дракона, также MMORPG, записанный в Java и использовании Jython для сценариев. У Steve Yegge, его автора, есть много для высказывания об этом время от времени.:-)

7
ответ дан 3 November 2019 в 12:57
поделиться

Как насчет Jython?
http://www.jython.org/Project/

4
ответ дан 3 November 2019 в 12:57
поделиться

что относительно того, чтобы создать Ваш собственный специализированный язык сценариев? Если Ваше приложение записано с Java, можно использовать ANTLR (http://www.antlr.org/) для создания кода синтаксического анализа естественных языков.

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

Но если создание Вашего собственного языка слишком трудно затем любая из вышеупомянутых работ предложений - просто необходимо выяснить, как связать время выполнения игры в сценарий. Я также предлагаю Lua (http://www.lua.org/) в качестве другого выбора, который использует много игр.

4
ответ дан 3 November 2019 в 12:57
поделиться

У Вас есть довольно много опций:

Возможно даже BeanShell (http://www.beanshell.org/)

Я - поклонник Python сам, таким образом, я рекомендовал бы Jython, но они - вероятно, все разумные опции.

1
ответ дан 3 November 2019 в 12:57
поделиться

Я должен был бы рекомендовать JavaScript с этой целью. http://www.mozilla.org/rhino/ Носорога Mozilla является превосходной реализацией, которая соответствовала бы Вашим потребностям отлично.

Я рекомендую JavaScript по Jython или JRuby из-за знакомства. Тривиальный JavaScript следует за очень знакомым синтаксисом, который кто-либо может использовать. Однако, если кто-то хочет сделать что-то более интенсивное, JavaScript является очень мощным языком функционального программирования.

Я регулярно использую Groovy и Ruby профессионально и полагаю, что их цель является лучшей для записи частей приложений с особенно сложной логикой, где Java является громоздким для записи. JavaScript является намного лучшим выбором как встроенным, общим языком сценариев для использования в игре. Я не использовал Python, но это синтаксически подобно Ruby, и я полагал бы, что это - цель, также было бы подобно.

1
ответ дан 3 November 2019 в 12:57
поделиться

Я - большой поклонник Python/Jython из-за чистого синтаксиса - который может подойти Вам, если у Вас есть некоторый опыт Python.

Иначе Groovy, который основан на синтаксисе Java и может быть более легкой кривой обучения, если большинство Ваших разработчиков является парнями Java. Это также имеет преимущество более близких связей с языком Java и библиотеками.

Beanshell хорош при учитывании простых сценариев в виду - он не поддерживает классы. Однако я не думаю, что это имело любую поддержку за последние несколько лет (JSR, казалось, уничтожил его...) так, возможно, плохой выбор, если поддержка важна для Вас.

0
ответ дан 3 November 2019 в 12:57
поделиться

Короткая версия

Не используйте язык сценариев! Вместо этого сосредоточьтесь на возможности конфигурирования (что может сделать непрограммист хорошо).

Более длинная версия

Один из часто используемых аргументов в пользу , имеющего язык сценариев, заключается в том, что он допускает меньшее Программисты к более тривиальным задачам. Не верьте этому, он не спасет вас в любое время, поскольку настоящие программисты уже в три раза выполнили простые задачи . Стремиться к конфигурируемости вместо сценариев, и вы будете иметь гораздо меньший риск попадания сложных алгоритмов и концепций в недееспособные руки разработчиков игр. :)

Отсутствие hotswapping (edit-and-continue) было бы причиной для реализации языка сценариев в MMOG (вы не хотите перезагружать всю игру для незначительного изменения кода), но с использованием Java, со встроенной горячей заменой у вас действительно нет причин добавлять язык сценариев сверху.

Я потратил годы на размышления над этими вопросами; В тот же день я полностью реализовал язык сценариев, IDE, VM, отладчик и т. д. для MMOG. С тех пор я стал мудрее.

Если вы все же решите пойти по бесконечно дурацкому пути, откуда нет возврата, имейте в виду следующее.

  • Выберите зрелый язык, который существует уже некоторое время.
  • Авто тестирование, отладка и редактирование будут требовать много времени, пока вы не создадите свои собственные инструменты / плагины / не начнете взламывать виртуальную машину.

На сегодняшний день я никогда не видел DSL, который улучшил бы ситуацию (получая более поддерживаемый продукт). Я сам интегрировал Python в свой движок инди-игры, но в конце концов пришел в себя и разорвал его. «Stackless Python» - это просто способ сказать «не поддерживаемый, но быстрый». Пожалуйста, кто-нибудь поправит меня, если я ошибаюсь?

2
ответ дан 3 November 2019 в 12:57
поделиться

LuaJ, кажется, хороший способ встраивать Lua в Java:

http://sourceforge.net/projects/luaj/

1
ответ дан 3 November 2019 в 12:57
поделиться