13 Октябрь 2011

Jython / Заметки

Jython — это реализация языка Python на языке Java. Первоначальное имя
проекта — JPython, которое пришлось поменять из-за конфликта с
одноименным проектом (имя было занято на хостинге sourceforge.net),
одновременно и компилятор, и интерпретатор.
Программы, выполняющиеся в среде Jython могут одновременно использовать
классы языков Java и Python, используя, например, классы стандартной
библиотеки Swing.

***

На языке Java можно разрабатывать апплеты для веб-браузеров. Но в
настоящий момент апплеты в Jython не включены. Компилятор был удалён из
пакета Jython 2.5.0 с целью внедрения новой технологии, которая лучше
реализует создание апплетов. Технология будет включена в Jython 2.5.1
или в другую версию в ближайшем будущем.

***

По долгу службы пришлось поддерживаю очень древнее приложение с
громадной кодовой базой. Хуже всего то, что оно собирается оно от минуты
до семи и ещё минуты три стартует. Опять же каждому программисту не
сложно представить себе какой ад написать энное количество кода, а затем
ловить NullPointerException'ы от внешних сервисов с таким длинным циклом
Implement->Compile->Start Deploy->Wait->Smoke->Wait->Test.

Возможен также другой вариант. Есть энное количество кода в классе,
который нужно адаптировать под выполнение задачи, близкой уже им
выполняемой. А теперь представьте, что этот класс реализован в рамках
Java 1.4. Он не работает с Generic'ами, потому что они были добавлены
только в Java 1.5. Кроме того программисты, ранее занимавшиеся
поддержкой системы, этим активно пользуются и суют в коллекции
возвращаемые методами других классов, что не попадя вплоть до анонимных
реализаций java.lang.Object.

Поев кактус пару дней я почувствовал, что начинаю сходить с ума от того,
что пишу пять-двадцать строк работающего кода в день.

Способом ускорения разработки в таких варварских условиях я усмотрел
только вкрутить в приложение интерпретатор какого-либо динамического
языка для быстрого прототипирования уязвимого к таким условиям кода
сначала на нём, а потом реализации алгоритма на Java. Конечно же в
рамках решение нужна была ещё и интерактивная консоль этого языка. Какая
же без этого динамика? Консоль хотелось в не в апплете из-за того, что
апплеты очень плохо работают(скажем так, они просто не работают) во
FreeBSD, к которой я очень уж привык в последнее время.

***

http://habrahabr.ru/blogs/java/129064/

0 коммент.:

Отправить комментарий

Сектора Лирики