分页: 2 / 2
发表于 : 2008-09-02 7:37
由 devin
anticlockwise 写了:大家都是朋友,有什么好讨论的呢?我Java和Python都用,不是挺好的吗?
虽然我是Java程序员,不得不说目前的桌面程序很多不用Java还是有其原因的,它的运行速度的确不错,但是内存消耗很大。况且,开发效率比起Python等脚本语言来说几乎没有可比性。用Gtk、QT等可移植界面库或者他们脚本语言的绑定(如PyGtk、PyQT)写出来的程序,开发很快,而且运行效率并不低下,当然大家会用之作为首选。Java AWT和Swing写出来的界面在响应上的确还需要很大的改进。可能有很多测试都可以证明在响应和速度上Swing并不慢,但真正重要的是用户体验,很多人在用程序的时候所体会到的就是这样~~不过SWT倒是个好点的选择~~
java一样有它的动态语言,而且很多
http://www.jython.org/Project/
http://jruby.codehaus.org/
http://groovy.codehaus.org/
http://www.beanshell.org/
http://www.mozilla.org/rhino/
...
注意这些网址都出现的(100% Pure Java)
这个是总表
http://www.open-open.com/40.htm
另外用java比用c和c++的开发效率肯定要高得多,java最大的问题是用户体验(性能已经不是很大问题)。
而且用c和c++写的程序在移植时要考虑的问题比java多得多,即使在使用了gtk,qt这种可移植库的情况下。
java牺牲一点性能,却能带来的任何平台都可以在不重新编译的情况下就能无缝移植的好处,是其它语言不能比的。
swt破坏了java的可移植性(尽管eclipse很成功),不是100%java,在java中是不推荐用的。
发表于 : 2008-09-03 1:24
由 jarlyyn
devin 写了:
gnome部分东西是用python。
不信你远程运行gnome-session然后ctrl+c就会出现python的提示!
为什么部分用python,因为还是考虑到效率,我不了解python,但估计应该主要是用c,c++实现下层库,
用python实现上层的策略和逻辑。另外我这里是指用脚本语言来写桌面程序,比如用python实现类似永中office这样的
^^^^^^^^
软件是不可想像的,因为脚本执行速度实在是太慢了。
python通过调用下层库来实现功能,有点类似shell中的dialog命令(sudo apt-get install dialog),dialog是c实现,但它使用时,是用shell脚本去调用dialog这条命令,实现对话框显示。
楼上的知道文明4是用什么写的么?
就是用python+xml
不太可能吧,完全用python实现?包括图像处理,策略.....
python用来作永中效率肯定比java的高。
python最大的特长和优势就是作桌面软件
python,lua 这类脚本语言一般都与C紧密结合,直接调用C的库的。
以常用软件来说,我所知道的就有BT软件deluge,看漫画的comix,同步的condiut
以游戏来说,甚至很多linux下排的上号的游戏,比如韦诺,FOF都是用的python.
python还有 opengl的库,甚至sdl这样跨平台的类似directX的库。
而且python跨平台也是很容易的。自己正在写一个跨平台的mplayer后端
java的程序自然有自己优势,但我想并不是在实时编译和桌面软件上。
发表于 : 2008-09-03 15:40
由 runpin
同意楼主。
发表于 : 2008-09-03 18:34
由 zcg0696
感觉java的地位有点尴尬,论效率不如c/c++,论快速方便不如python,perl,ruby等
另:由于unix的特殊进程通信机制使得脚本和程序的执行效率是差不多的
发表于 : 2008-09-03 21:02
由 anticlockwise
你说的Java的动态语言实现我都看过,并且用过大多数,比如Jython、JRuby和Groovy,在这三个中,我最喜欢的是Groovy,的确是很不错的动态语言~~但这些和Java本身比起来虽然方便了很多,在效率上还无法比拟,目前效率最好的应该就是JRuby了,毕竟是由Sun所直接支持的,但其效率还是没有Java本身那么好。Jython虽然能够无缝调用Java的库,不过却对Python本身的库有缺少了许多支持。
Java跨平台,Python、Ruby、Perl这些语言不都可以跨平台吗?比开发效率,这些动态语言也更快啊,而且库支持也不缺乏~~
我不懂为什么SWT破坏了JAVA的可移植性,是因为它调用了底层的操作系统库吗?我觉得如果能够让用户体验更好,能够让性能更高,就很不错,毕竟用户最关心的就是这两个,我们写程序并不完全为了我们自己去满足自己的技术需求,最终是要由用户所接受吧~~
我并没有说Java不好,况且,我自己大部分程序都是Java写的,世界上还有很多很多的程序员都在用Java~~我主攻自然语言处理的,有很好的程序都是用Java做的,例如我常用的Stanford NER tagger~~Java是Linux的好朋友,我觉得大家都是,只是Java也并不是完美的,没有语言是完美的,所以我们才会有这么多的不同的程序员学习不同的语言~~能够尽量的多去接触不同的语言就会真正知道在什么时候该用什么,我主要使用Java和Python,如果程序比较复杂,我的最终程序会用Java写,因为设计起来方便,然后用Python作为辅助,处理一些数据,转换格式等等。但如果程序本身就比较小,我没有必要浪费那么多代码,用Python就完全能够胜任了~~有些时候我会用Python先写出程序原型,得出最初的结果,然后根据得出的结果分析该如何去设计最终的程序结构~~
所以我觉得没种语言都有它各自的优势,没有必要去比个高下什么的~~
发表于 : 2008-09-04 5:28
由 klose911
swt确实没有调用java的虚拟机操作, 而是直接调用操作系统本身的图形库, 从这一点上来说破坏了java的可移植性。 java在安全性上比c要提高不少, java是一个适合于企业, 网络应用的强大语言, 但现在作为桌面应用由于swing的低效还是勉为其难的。 应该物尽其用。
发表于 : 2008-09-04 6:31
由 zzzhiv
不是我有偏见,java 真的不怎么样。
软件最重要的是什么??
执行效率。
虽然在跨平台上有优势。如果有静态语言的替代程序,还有谁去用java程序?
发表于 : 2008-09-05 0:22
由 tyfj
perl, python, ruby 这些跨平台都可以,结合C 也很强, 只是不是 SUN 这样大公司的……
发表于 : 2008-09-05 1:07
由 klose911
zzzhiv 写了:不是我有偏见,java 真的不怎么样。
软件最重要的是什么??
执行效率。
虽然在跨平台上有优势。如果有静态语言的替代程序,还有谁去用java程序?
有些软件执行效率不是最关键的。 jsp至少就比php, asp安全性高不少, 对于注重安全性的e-commerce来说java更合适。
但是硬件方面java就不行了, 就像java也可以写操作系统但是用java并不适合写。
java至少从语言上来说比C成熟, 比C++简单, 只要发挥他的优势就行了, 怎么能说java不怎么样?
非要让它去干不合适的事情, 就像让姚明去练习体操一样!
发表于 : 2008-09-05 1:15
由 hubert_star
靠,谁说java好的?c是最成熟的语言吧?
发表于 : 2008-09-08 22:20
由 晶晶守护神
还好朋友。。!
linux 下的java 效率奇低无比。。
大学时候我在win上写的java 游戏 在win上固定30fps 。。。
后来在linux下测试 5-6 fps 而且jre的版本都一样。。工具也一样 eclipse。。

发表于 : 2008-09-09 9:14
由 spzgy
在win下面用Java的软件,确实让我想起linux。哈哈哈哈
发表于 : 2008-09-09 15:51
由 ghostry
我不喜欢最主要是不会用.如果可以双击运行,或者一条命令解决,他是c还是b语言写的我倒不在意。