当前位置:  开发笔记 > 编程语言 > 正文

为什么在使用Java时可以使用Jython?

如何解决《为什么在使用Java时可以使用Jython?》经验,为你挑选了5个好方法。

标准答案是,当您只需编写几行代码时它就很有用......

我在Eclipse中集成了两种语言.因为Eclipse处理编译,解释,运行等两者"运行"完全相同.

两者的Eclipse IDE类似 - 即时"编译",智能感知等.两者都允许使用Debug透视图.

如果我想测试几行Java,我不必创建一个全新的Java项目 - 我只使用Eclipse中的Scrapbook功能,它允许我"执行Java表达式而无需创建新的Java程序.这是一种快速测试现有类或评估代码片段的简洁方法.

Jython允许使用Java库 - 但是(根据定义)Java就是这样!

那么Jython还有哪些其他好处呢?



1> e-satis..:

一个简单的例子(来自http://coreygoldberg.blogspot.com/2008/09/python-vs-java-http-get-request.html):

您在Java中有后端,并且需要执行HTTP GET请求.

本地:

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清晰度.

还有什么 ?正如乔治会说......


是的,你只需要自己编码.像其他一切一样.
没有什么能阻止Java拥有一个实用程序类来执行UrlUtil.open("www.google.com").read().
Corey Goldberg将Java与Python进行比较的例子就像在互联网上可以找到的虚假比较一样,上面的例子并没有那么好.(另外,它暗示了一个有争议的稳健性/清晰度二分法.)上面的Java代码比Python代码(OO,缓冲读取,异常框架等)做得更多.使用Jython是有原因的,但是一个简洁的例子并不是很有说服力.
首先,java代码没有那么多.Python代码是完整的OO,open()包装一个执行流式传输的文件对象.另外,我在这里看不到任何关于框架的信息.是的,有异常处理,但你也可以在Python中完成.这里真正的麻烦是java只是不让你以任何更短的方式做到这一点,即使功能较少.这不是对Java的攻击.我的观点是:你会使用Jython,因为有时你会想要更好的东西.

2> Ben Hoffstei..:

Python语法(由Jython使用)对于许多程序员来说更加简洁和快速.

此外,您可以在Java应用程序中使用现有的Python库.



3> Aaron..:

打个比方:为什么喝咖啡的时候可以喝热自来水,咀嚼烤苦豆.:-)

对于某些任务,Python只是味道更好,效果更好,而且足够快(需要时间来酿造?).如果您的编程或部署环境专注于JVM,Jython允许您编写Python代码,但不会更改部署和运行时环境.



4> mike rodent..:

我刚刚发现了Jython,作为一名语言学家,我想我会说这有点像"为什么在使用法语时使用拉丁语"(忘记了拉丁语在法语之前出现的事实,当然) .

不同的人类语言实际上会让你以不同的方式思考.法语是一门很棒的语言,我在法国生活了很长时间并且完成了学位.但拉丁语的惊人力量和简洁性使你的思想进入了一个不同的区域,例如,可以交换单词顺序以产生各种微妙的效果.

我想,从我对Jython的粗略认识中,顺便提一下我的热情,它会让我以不同的方式思考.我曾经对Python/Jython持怀疑态度,并且一直是Java泛型的忠实粉丝(具有讽刺意味的是减少打字量,因此如果你愿意,可以"拉丁文化"法语).我不太了解像Jython这样的"动态类型"语言的全部含义,但我认为最好的方法是顺其自然,看看Jython在我的脑海中做了什么!

语言来来去去很有趣.另一个"拉丁语"可能被认为是具有无限递归语法的Algol68.但是,开发大规模递归代码的必要性,以及读取它并在其中思考的能力,还没有(感觉到)自己感觉到.Jython 似乎是一个非常强大和优雅的适合我们现在的地方,使用OO库,Java swing的强大功能,以及所有包装在一个非常优雅的捆绑.也许有一天Jython也会采用无限递归语法?



5> John Meagher..:

我使用Jython进行Java代码的交互式测试.这通常比编写Java测试应用程序甚至任何脚本语言快得多.我可以玩这些方法,看看它是如何反应的.从那里我可以学到足够的东西来编写一些真正的代码或测试用例.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有