V*********r 发帖数: 666 | 1 Ruby 不清楚。Python 的确是 implementation-based 的,based on CPython, the
reference implementation. Python language reference 和 library reference 里
到处用红字写着 "CPython implementation details," 到处都是 C 语言的影子,更别
提 C-API 这个万能胶层了。
至于 Jython 和 PyPy 是怎么做出来的,当然是参考 CPython 源代码做的,他们的开
发者同时也是 core (C-)Python developers.
草根语言就是这样。 |
|
z****e 发帖数: 54598 | 2 因为jython没有人搭理
参与者太少
java不需要python的语法优化
很多东西就是看有没有人投入
没有人投入,那都是扯淡
随便一个语言都能把自己吹得天花乱坠的
问题在于别人听不听你的
这行就是需要众人拾柴火焰高
否则说什么都是空的 |
|
z*******3 发帖数: 13709 | 3 python啊
公孙大神指出的明路啊
然后上vert.x
就可以跟java接轨了
其实vert.x用的是jython引擎
简单说就是c++->python->java
python离java的backend很近了 |
|
a***n 发帖数: 538 | 4
jython, ironpython, groovy多线程都没有问题的吧。就是cpython,ruby之类的有GIL
,其实调用外部库或者io block的时候用个thread也没有问题。
node不支持显然是因为v8没有支持。 |
|
z****e 发帖数: 54598 | 5 你们都忽视了jruby
jruby看界面就知道了
凑热闹的不要太多
相比之下python那个jython要凄惨太多了
新一代语言在jvm上跑的太多了
clojure, groovy和scala
现在所有人都在打jvm的主意
就看m$在一旁凑不上热闹干瞪眼
着急阿 |
|
z****e 发帖数: 54598 | 6 jruby支持比jython强多了
jruby对ruby本身的支持都接近最新的
所以jvm上有不少人搞ruby
red hat和sap都倾向于ruby而不是python
看jruby的页面就知道
感觉这么多语言和实现里面
就jruby的界面最好看了 |
|
Y**G 发帖数: 1089 | 7 Python有Jython, Ruby有jRuby, javascript有Rhino。都在JVM中拉 |
|
p*****2 发帖数: 21240 | 8 先说说vert.x的三大特点
1. polyglot
2. node on JVM
3. event bus
再说说各种语言
1. Scala: Tim Fox 说vert.x对AKKA的优势就是可以支持多语言。可是Scala玩的就是
心跳。人家认定了Scala就是最好的语言,你支持多语言跟人家有啥关系呀?所以
coltzhao根本就不屑vert.x
2. JS: Tim Fox 说vert.x 比node强的是performance。可是Node的performance已经非
常强大了,除非真的性能出现问题解决不了,否则不会转换平台的。再说Node强大的
eco system也不是vert.x可以比拟的。最后,vert.x还不是copy node来的?
3. Python: 说到python就不得不提到公孙大神,公孙的态度非常明显,python系的根
本不刁JVM系的。而且就算zhaoce大牛也认定了jython没人用。
4. Ruby: Ruby程序员以不注重performance而闻名,不然eventmachine早就火起来了。
当然很多ruby程序员已经意识到这个问题了,所以纷... 阅读全帖 |
|
d*******r 发帖数: 3299 | 9 我用 vert.x 就用 groovy+java,
Jython 感觉还是有点非主流呀. |
|
d*******r 发帖数: 3299 | 10 我的菜菜想法是这样的,我现在还在用 Jython 学着用 vert.x,
回头有正经 project 的话,可能是用 java写,有时图写的quick-and-dirty时候,试
试 groovy.
还有,我现在不做web,就在backend搞些杂活.
facing
will
foundation. |
|
p*****2 发帖数: 21240 | 11
你不是还用jython吗?
不是clojurescript,就是clojure。跨生态有啥好怕的?要知道各个语言都有各自的优
势。 |
|
d*******r 发帖数: 3299 | 12 学着玩用jython,我现在学很多东西第一选择都是用 python 版本的 driver/lib/API
。因为python syntax简单,接近伪代码,没有各种DSL,作为学习工具负担最小。 |
|
z****e 发帖数: 54598 | 13 简单说
groovy == javascript == jython == jruby
区别只是语法上的区别,都是脚本
scala想做better java,但是其实没那么容易
太多paradigm凑在一起会思维错乱的
clojure是lisp,这个其实是学术派小众的东西
别太当真,你不是做叫兽的话,其实用不了太多 |
|
z****e 发帖数: 54598 | 14 搞it的,尤其是喜欢用command line搞vi,*nux那些人
对ruby/perl这些情有独钟
python适合转行的
我不反对把事情做简单,但是强行要求所有人都用一种方式写代码
那这个多少也有些矫枉过正,人的本性是多样化的
当然多样化本身对阅读代码的人提出了更高的要求
那这就是一个冲突,侧重任何一边都有问题
只能说在两者之间寻找一个平衡点
所以python有多流行,ruby也就有多顽强
这两种哲学是不可能替换对方的
所以python党认为ruby注定消亡,在我观察是错误的
实际上我这边压根没有人用python,都是ruby
可能跟南亚次大陆的移民比较少有关
公孙大神说python最象java,这点我倒是觉得没有错
所以ruby跟java更容易结合起来,因为互补的空间比较大
jruby搞得那叫漂亮,网页真的很好看啊,你去看看就知道了
网页漂亮说明社区活跃,相比之下,jython用的人就不是那么多
以后发展只能靠王垠这种“布道者”去做贡献了,笑
而且python本身社区也有些分裂,2和3居然不兼容,这是大忌
现在jvm上也有groovy了,groovy难度跟python接近
但是... 阅读全帖 |
|
z****e 发帖数: 54598 | 15 开源的东西牛不牛,我一般以apache的top level做参考
jboss干掉tomee小意思
企业市场没有tomee什么事
tomee里面openejb是top level吧?
apache top level的项目都可以说得上是顶级的
能干掉apache top level的,我都认为是超一流的水准
其实历史上数来数去没几个项目真能牛到这个地步的
mysql算一个,spring, jboss, hibernate
postgresql, red hat linux……
其实不多,hadoop就是apache的top level project
这些超一流产品多数集中在red hat手里
当然东西做大了,容易参合政治,那这个没办法
蛋糕做大了,总有人想来分一杯羹不是?那这个也是牛逼的东西才有人觊觎
要是一个没啥市场的东西,搞不好连参与的人都没有
你看hhvm还有jython的社区有多尴尬就知道了 |
|
f******2 发帖数: 2455 | 16 Jython seems to be more productive than clojure if it is a one person team/
task, isn't it?
的。 |
|
c******o 发帖数: 1277 | 17 no for me.
jython lack of certain features i live in FP |
|
H****S 发帖数: 1359 | 18 Jython 不 support numpy,没什么前途的。 |
|
g*****g 发帖数: 34805 | 19 python的 parser也不是他写的,他自己提到从 Jython那拿过来。他的主要贡献就是支
持定义查找吧。这个做得好可以发篇 paper,但离比肩纳什还有十万八千里的距离。
paste |
|
z****e 发帖数: 54598 | 20 java对付db有jdbc
db上的sql不同有hibernate
甚至hibernate等orm不同,都有jpa去对付
os不同有jvm
db用得不爽有nosql
甚至对语言不爽,还有各种engine
rhino,jruby,jython……
java不停地封装各种乱七八糟的系统
用得不爽就换
但是如果陷得深的话,象db这种,那都是上了贼船的
要下来,没那么简单,不放点血是不行的了 |
|
z****e 发帖数: 54598 | 21 hdfs是jvm上的东西,你用python?
那个是jython吧
你们是c++转过来的程序员
因为hadoop流行,所以不得不上java
所以瞎搞,python慢死,根本不能在生产中用
spark你要是用python,那个是cinterpreter
可以让你比用java写慢上几十倍一点问题没有 |
|
z****e 发帖数: 54598 | 22 hdfs是jvm上的东西,你用python?
那个是jython吧
你们是c++转过来的程序员
因为hadoop流行,所以不得不上java
所以瞎搞,python慢死,根本不能在生产中用
spark你要是用python,那个是cinterpreter
可以让你比用java写慢上几十倍一点问题没有 |
|
z****e 发帖数: 54598 | 23 目前vert.x已经支持了8种语言
java
javascript(rhino)
python(jython)
ruby(jruby)
groovy
scala
clojure
ceylon
一个建议
如果你会一种脚本
倒是可以跟tim fox提出去implement这个脚本在vert.x上
比如php,lua
php已经有人在做了
lua可以用luaj,然后集成的部分交给你了
这样就有机会进入vert.x的core team
写在简历上也好看
当然这是左逼的贡献精神,完全志愿的原则
一个建议而已 |
|
z****e 发帖数: 54598 | 24 用法感觉没问题,用的话不可能有太大差异
如果你用这种工具还需要留意怎么用才更有效的话
那你还不如自己去实现呢
其实说白了,你就是觉得python效率太低
想要优化,有几个选择
你可以试试pypy,你也可以试试jython
最后你可以用java或者scala重新实现一遍逻辑 |
|
z****e 发帖数: 54598 | 25 第一次听说?
来给你看点东西,这只是大概4年前也就是10年的图
自己看看cloud在啥位置,cloud在08年时候就很火了,满大街都在说
现在已经快烂大街了,用开源不是快,是cheap,startup一开始没啥钱
给m$插管吸血了之后,还没等爬起来就被插死了
见过好几个这样的公司了,所以让开源开发变得简单
不符合m$的利益,倒是java社区很活跃,想方设法在帮忙
天下开源是一家,什么jython, jruby这些都是java社区搞出来的
现在python, ruby这些用的ide也都是java系的,都是以eclipse和idea为原型做出来的
资本家是另外一个阵营的,别搞反了 |
|
z****e 发帖数: 54598 | 26 对比jvm和cpython的效率就明白了
python要优化,要各种折腾
麻烦要命,而且dynamic type本身就是对性能上有影响
无论什么dynamic type语言,都比static type要慢那么一点
同样环境,你对jvm上java和ruby,scala和python就可以明显看出差异
哪怕是编译执行,java在vert.x上的运行效率超过其他几个脚本20%还是可以的
这已经是有了jit的脚本,包括python(jython)
scala相比之下,性能就没有落后很多,就是编译比较慢
解释执行如果算上编译效率,那scala还是比java慢,如果直接弄成class
scala效率不比java低多少,相比之下,dynamic type的groovy就明显比java慢一点
你是ee转行的,对于软件知道的还太少
98 |
|
c******o 发帖数: 1277 | 27 Scala不是脚本,Scala的最大的优势或者特点是它在JVM上,而且很多特性在JVM语言里
独一份。
Scala试图融合OO和FP,Scala不是什么相对low level language(C/C++/golang),它
一开始就是以JVM为基础的。
在发展的路途上,现在也明显在向java 的简易(低智?)化靠拢。
和golang不是最直接的竞争, 什么时候google把golang放在java前面啦再说scala吧。
Scala的特点优势是:
在JVM上,很容易用JVM的libs(倒过来不容易)。
静态,而且有丰富的FP工具。
这两条是Scala流行的90%的原因。golang都搭不上边。没啥比较的。
这也是为什么 akka/play/spark用Scala的原因。
Matei Zaharia, Spark的作者解释为什么用了Scala:
Quite a few people ask this question and the answer is pretty simple. When
we started Spark, we had two goals — we wanted ... 阅读全帖 |
|
n******7 发帖数: 12463 | 28 FastR就是类似jython的东西?
能用多少R package?
类似一个Renjin的project好多package跑不起来 |
|
m****a 发帖数: 2593 | 29 他做了个Jython用的static analyzer and indexer,你写的出来?
他的那个40行cps你看的懂么? |
|
d****i 发帖数: 4809 | 30 这种东西根本就是不入流的东西,你让他写个C编译器出来? 再说Jython在Python社区
眼里根本是鸟都不鸟的烂东西,真正的Python开发者是不会去依附任何JVM的。 |
|
c********1 发帖数: 5269 | 31 不会造成混乱.
I just installed Anaconda in my sytem.
Anaconda comes with python 2.7.10.
My ubuntu system has
Jython 2.7.0
python 2.7.10(Anaconda)
python 2.7.6
python 3.4.0 |
|
z****e 发帖数: 54598 | 32 那个就是cpython吧,那个慢正常,我们读书时候做作业
40m都经常搞死电脑,要算几十分钟的很多
我记得hadoop都已经放弃cpython,改成jython了
pypy也许好点
spark |
|
z****e 发帖数: 54598 | 33 当然可以,但是要注意,vert.x用的是jython,而不是cpython
所以版本会略微老一点,不过这个应该无所谓,反正写python的人也不是那么懂
多数都是看了几个hello world就开始写的,用message的话
要用python的人做一个server起来,要理解网络协议和web service这些
嘿嘿,我看难度不小,写脚本的人一般不太懂这些东西
vert.x可以帮你搞掂这些外行,让他们很快滴fit in |
|
x*****z 发帖数: 787 | 34 为什么我认为 Python 3 没有前途?
py2 发展了很多年,现在是一个非常成熟的状态。基本上所有的特性都已经被开拓得差
不多了。所以现在 PyPI 上提供的各种库和及命令行工具,IPython、Requests、
gevent、django 等等……基本可以认为是现有 python 语法和虚拟机下能做到的巅峰
水准。
换句话说,在不引入新的语法工具的情况下,python universe 的战斗力不会再有实质
性的提升了。(语法工具的例子比如jit、goroutine、static analysis 等等)
py3 并没有引入新的生产工具,反而人为地破坏了现有生态圈的兼容性,导致了长达数
年的时间 python universe 没有任何的进步。而在 python 停滞的这段时间,很多其
他编程语言也在进化,都没有闲着。
作为胶水语言,python 或许曾经拥有了地球上最强的生产力,但这个地位能维持多久
呢?Ruby 或者 Scala 甚至 CoffeeScript 都具备和 Python 实现一样编程接口的能力
,同时又有自己独到的工具可以实现 Python 做... 阅读全帖 |
|
d****n 发帖数: 1637 | 35 https://en.wikipedia.org/wiki/Category:JVM_programming_languages
真是不做2遍,都快100个变种了。还嘴硬
List of JVM languages
A
AgentSheets
Ateji PX
B
BeanShell
C
Ceylon (programming language)
CLforJava
Clojure
Adobe ColdFusion
D
Deeplearning4j
E
E (programming language)
F
Fantom (programming language)
Fortress (programming language)
Frege (programming language)
G
Golo (programming language)
Gosu (programming language)
Groovy (programming language)
I
NetRexx
Ioke (programming language)
J
Jaskell
Jasmin (software)... 阅读全帖 |
|
z****e 发帖数: 54598 | 36 反射本身是java的东西
只要有java的地方,就有反射
反射用来动态生成类对象,以及动态控制类成员
比如函数,内部对象等等,有了反射,才能实现很多框架
包括各种jvm上的脚本引擎
java不是static types嘛,有了反射,就变成dynamic了
反射很强大,你想怎么写就怎么写,随便改
但是一般不用,主要是写轮子的用反射
基本上java只要是个轮子,就用了反射
包括jruby, jython这些,也都用了反射
反射是java菜和高级程序员的分水岭
你理解了反射之后就明白,那些语法糖算毛,你自己都可以实现
spring主要是利用反射等机制实现了di
要实现inject,你首先得需要有个宿主object,否则怎么inject?
单纯一个func,inject了之后成什么?
有了di之后,基本上都淘汰掉static method了
至少用得很少,而且static主要存在方法区,which从来都比较小
所以能用heap就用heap
xml其实跟spring无关,启动时候找个config而已
你用properties什么其实也能实现相同的功能
只不过spring诞生的时候,xml如火如荼... 阅读全帖 |
|
s*****r 发帖数: 550 | 37 说他是框架,和桌面的MFC啊,web framework里的django啊有什么区别?
说他是polyglot到底是神马东西,例如我用python是不是就必须用jython那? 不是说都
跑在JVM上么?
看了wiki看得云里雾里。 |
|
s*****r 发帖数: 550 | 38 还是没有解决我的疑问
vertx是如何实现polyglot的?
是他有不同语言的基于JVM的解释器么?
例如它自带Jython解释器解释python?
还是他提供了python的接口???
不好意思,比较弱,希望大侠们能帮我解惑 |
|
l**********n 发帖数: 8443 | 39 【 以下文字转载自 Military 讨论区 】
发信人: zhaoce (米高蜥蜴), 信区: Military
标 题: 感觉python的前途堪忧
发信站: BBS 未名空间站 (Thu Feb 4 03:40:38 2016, 美东)
现在工业界越来越不屌python了
一个重要原因就是python的modules虽然多
但是包的质量很差,很难投放生产
大部分只是学术界自娱自乐的toy而已
而且工业界现在有groovy了
语法上比python只更简单,轮子依托mvn,比py的modules多了十倍还不止
而且groovy及时挂靠在了apache foundation名下
抱住了大腿,加上jvm在工业界是主流
groovy的前景比python会更加光明
vert.x在选择支持脚本的时候,选择了js, ruby和groovy
不是没有理由的,python的支持到现在还迟迟不出来
而且对比jruby的如火如荼,jython有越做越差的架势 |
|
l**********n 发帖数: 8443 | 40 【 以下文字转载自 Military 讨论区 】
发信人: zhaoce (米高蜥蜴), 信区: Military
标 题: 感觉python的前途堪忧
发信站: BBS 未名空间站 (Thu Feb 4 03:40:38 2016, 美东)
现在工业界越来越不屌python了
一个重要原因就是python的modules虽然多
但是包的质量很差,很难投放生产
大部分只是学术界自娱自乐的toy而已
而且工业界现在有groovy了
语法上比python只更简单,轮子依托mvn,比py的modules多了十倍还不止
而且groovy及时挂靠在了apache foundation名下
抱住了大腿,加上jvm在工业界是主流
groovy的前景比python会更加光明
vert.x在选择支持脚本的时候,选择了js, ruby和groovy
不是没有理由的,python的支持到现在还迟迟不出来
而且对比jruby的如火如荼,jython有越做越差的架势 |
|
z****e 发帖数: 54598 | 41
java 9出来了
clojure升级了么?
没发现用不了么?
clojure还在用sun的那些不安全的包
jigsaw影响比较大的jvm语言就是clojure,其他都还好
kotlin已经升级到9了,最快的一个,不算java和js(nashorn)的话
这两个是oracle官方支持的,这不能算
其他的估计clojure会成为最慢的一个,就看jython是不是会更慢
用一个东西呢,是有前提的
以前用高阶函数,是没有办法
现在有了coroutine,选择多了一个
就不需要高阶函数来帮忙解决callback问题了
那自然就挑容易的搞了
应该这么说,coroutine提供了高阶函数以外的一种选择
让我们可以不需要用高阶函数了
偶尔用一用,比如
button.action = lambda{|now|
canvas.clear()
canvas.image(image, 0, 0)
}
这种可以接受,但是大量出现高阶函数
那个写起来,呵呵 |
|
n*******9 发帖数: 234 | 42 Bioinformatician position
Hours: 35 Hrs/week
Status: One Year Contract Leading to Permanent Full Time
Qualifications:
-MSc, PhD or BSc (with significant experience) in bioinformatics, computer
science/engineering, theoretical/computational biology, or molecular biology
(with programming skills)
-In-depth knowledge of publically available genomic and biological resources
-Programming experience and web development skills in a variety of languages
/platforms (JAVA, Java Beans, netBeans, Javascript... 阅读全帖 |
|
m*********r 发帖数: 2456 | 43 5万?那是刚毕业postdoc的价格!
[在 niuniu999 (liontigerfish) 的大作中提到:]
:Bioinformatician position
:Hours: 35 Hrs/week
:Status: One Year Contract Leading to Permanent Full Time
:Qualifications:
:-MSc, PhD or BSc (with significant experience) in bioinformatics, computer
:science/engineering, theoretical/computational biology, or molecular
biology (with programming skills)
:-In-depth knowledge of publically available genomic and biological
resources
:-Programming experience and web development skills in a vari... 阅读全帖 |
|
D**u 发帖数: 288 | 44 nice, share workflow最受用了。
顺便分享一下,我现在学习用Notepad++写Python的Pig UDF,然后用Jython 在 Linux
Putty里compile。
还有一种很流行的方式是用Maven+Eclipse 写java的 Pig UDF,稍微学习了一下,还没
有领悟精要。
and |
|
z****e 发帖数: 54598 | 45 spark5月底刚刚release1.0版
现在去搞不迟,说能比hadoop快10x
目前语言支持java, python&scala
python还是jython,所以3.x还不行,应该是2.5 |
|
r*******y 发帖数: 626 | 46 First, I think it depends the nature of your processing work. Not every
computationally heavy job can be accelerated by parallelization (e.g. using
map-reduce framework). So please tell us more about your data processing.
Second, to my knowledge, there are a couple of options to use Python on
hadoop. As others have suggested, you can use Python in Pig, for example,
Jython User Defined Functions (UDFs), Pig streaming or more recent option
CPython UDF.
Another option is to develop your code under ... 阅读全帖 |
|
r*****d 发帖数: 346 | 47 我又要请教大家一个问题了,,
我在试验怎么用Pig UDF in Python,
当运行:
grunt>register '/absolute_path_to/my_first_udf.py' using jython as myfuncs;
得到:
ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2999: Unexpected internal
error. null
Details at pig_1400616625260.log
我查了下log file, 里面写着:
Pig Stack Trace
---------------
ERROR 2999: Unexpected internal error. null
SyntaxError: ("mismatched input '' expecting DEDENT", ('', 5,
20, ' return decoratorn'))
我比较确定.py file没问题。
谁知道这是怎么回事?谢谢了! |
|
r*****d 发帖数: 346 | 48 could there be a compatibility issue between jython and pig? |
|
r*****d 发帖数: 346 | 49 又有一个问题,需要import a python module怎么办?
比如import json
执行pig script的时候得到:
ImportError: no module named json
json这个module在那里,
假设这个python script的名字是test.py
执行python test.py没问题
但是执行jython test.py就也得到ImportError: no module named json
非常感谢! |
|
l*******m 发帖数: 1096 | 50 need to test in jython.
BTW, using java is much much better with hadoop. Json parsing in java is 10-
time faster compared to python. |
|