В то время как мудрые анонимусы с лора уже убедительнейше доказали что jpython, jruby и прочая jфигня не нужна, всякие дилетанты от программирования, которым не выпало счастья посетить лор пытаются, представьте себе, на них что-то писать.
Например, какой-то Мартин Фаулер ,"прославившийся" тем ,что написал какую-то книжку по рефакторингу, с примерами на быдлоязычке, сотоварищи выпустил давеча релиз продукта на jruby. Безумцы!
Мы надеемся что им еще не поздно осознать всю глубину из заблуждений, приложиться к мудрости анонимусов и переписать их проект,(я не смотрел что там, но наверняка не сложнее форума), на том, на чем должно писать проекты - на ПХП ! (а еще лучше пусть не выделываются и как все люди допишут IPB )
Сплотимся товарищи и не пустим проклятую яву, j2ee и прочие поделки в нашу нишу вебмагазинов, каталогов и прочих CMS, куда она так стремится проникнуть
Мне стыдно за знаки препинания хаотично расставленные в предыдущем сообщении. Прошу простить - я был взволнован. Плюс программирование на питоне отучило меня ставить всякие устаревшие буржуазные точкисзапятуями.
Видите ли, какая проблема - я уже довольно долго работаю с контроллерами нижнего ценового диапазона, где основной рабочий язык - ассемблер (ну С иногда, на некритичных к скорости/размеру кода проектах). На РС писал довольно давно, и то это был Паскакаль. Короче, к высоким материям отношения не имею...
В общем, вопрос таков - может ли кто-нибудь внятно, толково и без издёвки объяснить, зачем вообще один интерпретатор реализовывать поверх другого. Что это вообще даёт принципиально нового, чего нельзя получить другими способами?
>В общем, вопрос таков - может ли кто-нибудь внятно, толково и без издёвки объяснить, зачем вообще один интерпретатор реализовывать поверх другого. Что это вообще даёт принципиально нового, чего нельзя получить другими способами?
Java это уже давно компилятор. А зачем, это другой вопрос. Мне, например, нужно вызывать питоновские или руби скрипты из Java программы. Так мне намного удобнее и значительно быстрее запустить интерпретатор в уже бегущей JVM, чем запускать ещё один отдельный процесс.
>А можно поинтересоваться зачем он нужен? Чем просто питон не устроил товарищей?
Затем, что есть такая штука, как Java. И в ней иногда полезно исполнять какой-либо код, транслируя его не во время компиляции продукта, а во время выполнения программы. Aka "скрипты". И вариантов для этого не так уж много. Jython - одно из решений.
>Что это вообще даёт принципиально нового, чего нельзя получить другими способами?
Java не интерпритатор, Java - виртуальная машина. А смысл такой, работает эта машина на любой платформе, в идеале, а все остальные программы уже выполняются на этой виртуальной машине. Идея проста как коммунистическая, всеобщее благо, только на практике получается монополия со всеми вытекающими из этого обстоятельствами.
Срочно увольняйся со своей работы. Или скажи, как оно называется, чтобы я туда по ошибке резюме не послал... Нет, я ещё понимаю тормозов, которые PHP или Perl называют интерпретаторами, но называть таковым Java - это просто элементарное незнание отличий интерпретаторов от компиляторов.
> jython в l2j юзали, а потом ты прикрутил jbforth(еще до fortress'a) :)
Да, кстати, JBForth в l2j использовался _до_ jython'а, только в первых версиях сильно урезан по возможностям был. А как до полнцоенного (а вскоре и автономного) компилятора его довёл - так уже и Jython к сборке пркрутили :)
В sf сборке разве кроме jython что-то тогда было? Память мне изменяет -_- Потому как я помню что все эти хитроумные квесты на питоне писал roberto; Тогда еще баг в jython был - он тяжко переваривал пути, наичнающиеся с цифр.
>В sf сборке разве кроме jython что-то тогда было?
Когда? :)
Вообще, сам уже забывать стал. Попробую вспомнить...
В общем, я только занявшись l2j (ещё ни в какой команде не состояв) сперва сделал квестовый транслятор из форт-подобного синтаксиса в чей-то сторонний квестовый движок, уже не помню чей. Выложил патчи/диффы. Народ заинтересовался, но, ЕМНИП, в SF их не взяли. Тогда открыл свою сборку, фактически SF + мои патчи + интересные сторонние патчи, на которые забивал SF.
Потом появился L2J.RU, к которому я пришёл со всеми своими наработками.
Со временем "засинкались вноль" с SF и L2J.RU слился с SF.
Потом (по так и оставшимся неизвестными причинам) мне перекрыли доступ на коммиты в SF и я организовал Fortress.
Вот где-то до этого момента в l2j и вполз jbforth. Сперва псевдотранслятор превратился в полноценный, хотя и крайне убогий Форт, потом выделился в автономный JBForth...
Когда это было по срокам - не помню. Помню только точно, что Jython в SF появился в середине "размазанного появления" JBForth. Т.е. во времена транслятора и первого примитивного Форта Джайтона ещё не было, а к моменту полноценного JBForth, Джайтон уже был :)
>Тогда еще баг в jython был - он тяжко переваривал пути, наичнающиеся с цифр.
До сих пор та же фигня. Нельзя рестартовать квесты, начинающиеся с цифр. А с цифр они начинаются все... :)
Почему не любим. Мы его любим, мы его уважаем,..ну иногда ворчим и сетуем на быстродействие, т.к. все время приходится раскошеливаться на все более мощную технику, а так все пучком..
Не. Просто каждый день пятиминутка ненависти в Java. Заходишь вечерком на ЛОР, а тут новость то про жруби, то про жытон.. На любой вкус можно поглумиться. =)
>Не. Просто каждый день пятиминутка ненависти в Java. Заходишь вечерком на ЛОР, а тут новость то про жруби, то про жытон.. На любой вкус можно поглумиться. =)
Я плакал! Просто так и стоят перед глазами жруби с житоном на жабе..
> Срочно увольняйся со своей работы. Или скажи, как оно называется, чтобы я туда по ошибке резюме не послал... Нет, я ещё понимаю тормозов, которые PHP или Perl называют интерпретаторами, но называть таковым Java - это просто элементарное незнание отличий интерпретаторов от компиляторов.
Обязательно. Прям завтра же пойду заявление писать.
По мне - всё, что не даёт на выходе хорошо оптимизированный по скорости и размеру машинный код - интерпретатор. А интерпретирует он текстовый файл, или там байт-код какой - честно говоря, до синей звезды. Специфика работы, знаете ли.
> Отвечаю на вопрос в другом треде: байткод оно конечно генерит, но не питоновский байткод, а прямо байткод джава-машины.
Спасибо. Что, собственно говоря и хотелось понять. Я просто не знал, что питон генерит байт-код перед исполнением.
> Нет, я ещё понимаю тормозов, которые PHP или Perl называют интерпретаторами, но называть таковым Java - это просто элементарное незнание отличий интерпретаторов
Виртуальная машина - это просто разновидность интерпретатора.
>В общем, вопрос таков - может ли кто-нибудь внятно, толково и без издёвки объяснить, зачем вообще один интерпретатор реализовывать поверх другого. Что это вообще даёт принципиально нового, чего нельзя получить другими способами?
С выходом MS JVM, если не ошибаюсь, в 1997 году Java перестал быть интерпретатором.
>Виртуальная машина - это просто разновидность интерпретатора.
А микропроцессор -- это виртуальная машина для ассемблерного кода, который переводится в микрооперации и выполняется электронными вычислительными блоками.