r********e 发帖数: 251 | 1 后端会同时用到phthon和Java的开源代码,多谢! |
z****e 发帖数: 54598 | 2 什么叫同时支持python和java?
vert.x就同时支持java, groovy, ruby & python
clojure和scala的支持正在路上
不过很少有公司会同时用两种语言在同一个web framework下做开发
这个纯粹是增加程序员的负担,除非是legacy code改造
但是legacy code改造也是从一个语言转到另外一个语言
最后彻底抛弃原先那个语言,比如水母上那个python大坑就是如此
除此之外,没有太多实际意义
要同时用到python和java的开源代码,我觉得你说的是第三方类库吧
这个也很少这样搞,因为python有的java一般都有对应的项目
其他语言也都有,随着时间的推移,每一个语言的类库都会逐步增多
常用的那些功能,大部分主流语言都有各自的类库项目覆盖
所以也没有必要去做一个跨语言的调用 |
c******o 发帖数: 1277 | 3 你就是说 java/python互调么。
1、wrap 一方到api里用restful等调用
2、看看jpython支不支持你的python code
3、python不就是c wrapper么,能compile到native code,再用java掉native code |
r********e 发帖数: 251 | 4 我的CASE是一个NLP的系统。NLP有很多功能模块,这些不同的模块往往有不同的开源实
现,有用PYTHON,也有用JAVA.我不可能只为用一种语言,而把PYTHON的模块移植到JAVA
,或者从JAVA模块移植成PYTHON.
所以我在想是否可以用一种WEB FRAMEWORK把不同语言的模块粘合起来。我想还是有一
些现实意义的。
我会去看一下VERT.X,多谢提供信息!
【在 z****e 的大作中提到】 : 什么叫同时支持python和java? : vert.x就同时支持java, groovy, ruby & python : clojure和scala的支持正在路上 : 不过很少有公司会同时用两种语言在同一个web framework下做开发 : 这个纯粹是增加程序员的负担,除非是legacy code改造 : 但是legacy code改造也是从一个语言转到另外一个语言 : 最后彻底抛弃原先那个语言,比如水母上那个python大坑就是如此 : 除此之外,没有太多实际意义 : 要同时用到python和java的开源代码,我觉得你说的是第三方类库吧 : 这个也很少这样搞,因为python有的java一般都有对应的项目
|
r********e 发帖数: 251 | 5 不是纯粹的互调,比如在一个NLP应用里,我要先对一段话进行断句,然后进行语法分
析。断句的模块用PHTHON写的,语法分析的模块用JAVA写的,我要先调用断句模块,再
调用语法分析模块,才能实现完整的功能。
你说的用RESTFUL调用可以考虑,是否要有两个WEB SERVER(一个给PHTYON,一个给JAVA)
才能实现?有可能只用一个WEB SERVER吗?
【在 c******o 的大作中提到】 : 你就是说 java/python互调么。 : 1、wrap 一方到api里用restful等调用 : 2、看看jpython支不支持你的python code : 3、python不就是c wrapper么,能compile到native code,再用java掉native code
|
z****e 发帖数: 54598 | 6 那就vert.x了
其实有很多种方法
比如楼上说的用web service以及各种wrapper
或者用esb这些,不过感觉重了点
vert.x自带一个小型的event bus
对语言实现本身绝缘,所以用这个可以快速开发出一个东东出来
然后主体实现语言你可以自选
还有一种比较糟糕的实现就是自己用python去call jvm
或者是用java的jni去call python,这两个都不推荐
最后一个选择就是等jvm上的script engine
不过这个要等很久,算了,干活要紧
JAVA
【在 r********e 的大作中提到】 : 我的CASE是一个NLP的系统。NLP有很多功能模块,这些不同的模块往往有不同的开源实 : 现,有用PYTHON,也有用JAVA.我不可能只为用一种语言,而把PYTHON的模块移植到JAVA : ,或者从JAVA模块移植成PYTHON. : 所以我在想是否可以用一种WEB FRAMEWORK把不同语言的模块粘合起来。我想还是有一 : 些现实意义的。 : 我会去看一下VERT.X,多谢提供信息!
|
z****e 发帖数: 54598 | 7 没错,要两个web server,一个给java,一个给python
然后各自包装成一个web service,然后再用第三个来call
很折腾,vert.x直接把两个给弄成verticles也就是modules
然后你自己再写一个主体的verticle用event bus去communicate
这样一个web server就可以
JAVA)
【在 r********e 的大作中提到】 : 不是纯粹的互调,比如在一个NLP应用里,我要先对一段话进行断句,然后进行语法分 : 析。断句的模块用PHTHON写的,语法分析的模块用JAVA写的,我要先调用断句模块,再 : 调用语法分析模块,才能实现完整的功能。 : 你说的用RESTFUL调用可以考虑,是否要有两个WEB SERVER(一个给PHTYON,一个给JAVA) : 才能实现?有可能只用一个WEB SERVER吗?
|