Почему использование Jython, когда Вы могли просто использовать Java? [закрытый]

Вы просто забыли удалить строку, которую читаете в цикле:

...
for dirpath, dirnames, filenames in os.walk(line.strip()):
...
25
задан nzpcmad 18 September 2008 в 21:01
поделиться

13 ответов

Портирование существующего кода к новой среде может быть одной причиной. Часть Вашей бизнес-логики и доменной функциональности может существовать в Python и группе, которая пишет, что код настаивает на том, чтобы использовать Python. Но группа, которая развертывает и поддерживает его, может хотеть managability кластера J2EE для масштаба. Можно обернуть логику в Jython в EAR/войне, и затем группа развертывания просто видит, что другой J2EE связывается, чтобы управляться как все другие пакеты J2EE.

т.е. это - средство иметь дело с несоответствием импеданса.

0
ответ дан 28 November 2019 в 17:49
поделиться

В Вашей ситуации это не имеет большого количества смысла. Но это не означает, что никогда не делает. Например, если Вы разрабатываете продукт, который позволяет конечным пользователям создавать расширения или плагины, могло бы быть хорошо для этого быть scriptable.

0
ответ дан 28 November 2019 в 17:49
поделиться

Сахар синтаксиса.

0
ответ дан 28 November 2019 в 17:49
поделиться

Jython может также использоваться в качестве встроенного языка сценариев в рамках программы Java. Можно найти полезным в какой-то момент записать что-то с созданным на дополнительном языке. При работе с Java Jython является опцией для этого (Groovy - другой).

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

1
ответ дан 28 November 2019 в 17:49
поделиться

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

... и можно встроить интерпретатор Jython в приложения. Хорошая функция, я не могу сказать, что использовал ее, но это прохладный, тем не менее.

1
ответ дан 28 November 2019 в 17:49
поделиться

Python имеет некоторые функции функционального программирования, такие как лямбды. Java не имеет такой функциональности, и некоторые программы было бы значительно легче записать, была ли такая поддержка доступна. Таким образом иногда легче записать код в Python и интегрировать его через Jython что попытаться записать код в Java.

2
ответ дан 28 November 2019 в 17:49
поделиться

Библиотеки Python;), Например BeautifulSoup - синтаксический анализатор HTML, который принимает неправильную разметку. AFAIK там не является никаким подобным чистым lib Java.

2
ответ дан 28 November 2019 в 17:49
поделиться

Используя Python больше, чем "синтаксический сахар", если Вы не наслаждаетесь запись (или наличие Вашего IDE генерируют), сотни строк шаблонного кода. Существует преимущество методов Быстрой разработки при использовании динамически типизированных языков, хотя недостаток - то, что оно усложняет API и интеграцию, потому что у Вас больше нет гомогенной кодовой базы. Это может также влиять на обслуживание, потому что не все в Вашей команде любят Python так же как Вы и не будут так же эффективны с ним. Это может быть проблемой.

4
ответ дан 28 November 2019 в 17:49
поделиться

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

5
ответ дан 28 November 2019 в 17:49
поделиться

Аналогия: Почему пьют кофе, когда можно вместо этого выпить воду крана горячей воды и пережевать жареные горькие бобы.:-)

Для некоторых задач, Python просто является на вкус лучше, работает лучше и достаточно быстр (занимает время для пивоварения?). Если Ваша среда программирования или развертывания фокусируется на JVM, Jython позволяет Вам кодировать Python, но не изменяя Ваше развертывание и среду во время выполнения.

6
ответ дан 28 November 2019 в 17:49
поделиться

Синтаксис Python (используемый Jython) значительно более краток и более быстр для разработки для многих программистов.

, Кроме того, можно пользоваться существующими библиотеками Python в JAVA-приложении.

19
ответ дан 28 November 2019 в 17:49
поделиться

Некоторые задачи легче на некоторых языках тогда другие. Если бы я должен был проанализировать некоторый файл, я выбрал бы Python over Java моментально.

4
ответ дан 28 November 2019 в 17:49
поделиться

Быстрый пример (от http://coreygoldberg.blogspot.com/2008/09/python-vs-java-http-get-request.html ):

у Вас есть бэкэнд в Java, и необходимо выполнить, HTTP ПОЛУЧАЮТ resquests.

Исходно:

import java.net.*;
import java.io.*;

public class JGet {
    public static void main (String[] args) throws IOException {
        try {
            URL url = new URL("http://www.google.com");

            BufferedReader in = 
                new BufferedReader(new InputStreamReader(url.openStream()));
            String str;

            while ((str = in.readLine()) != null) {
                System.out.println(str);
            }

            in.close();
        } 
        catch (MalformedURLException e) {} 
        catch (IOException e) {}
    }
}

В Python:

import urllib
print urllib.urlopen('http://www.google.com').read()

Jython позволяет Вам использовать устойчивость Java и, когда необходимый, ясность Python.

, Что еще? Поскольку Georges сказал бы...

37
ответ дан 28 November 2019 в 17:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: