网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  linux环境下java开发 linux和windows比较     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:48次  录入:管理员--2008-06-25  
 

在我刚开篇写这一系列随笔的时候,就有人问:在linux下进行java开发究竟有什么优势,如果都是一样安装jdk、安装eclipse,那和windows下开发有什么区别?这个问题问得很尖锐,的确,我们似乎根本没有必要把我们的工作从windows中转移到linux中来。

在linux系统中进行开发,和在windows中进行开发相比较起来,即有优点,也有缺点。下面是我的一些意见,欢迎大家讨论。

先来说说优势:

1、由linux系统的本质决定的:

linux的本质有三点,一是开源,二是免费,三是和unix是一个体系。大家都知道,重要的应用几乎都是运行在unix服务器上面的,这是因为unix天生就是为服务器设计的操作系统,他的安全、高效是不用质疑的,后来为了向桌面发展,出现了x windows,当然,我们可以选择在启动系统的时候不启动x windows,抛去图形界面的包袱,系统当然可以跑得更快。而windows操作系统天生是为桌面设计的,后来为了向服务器发展,出现了nt系列。当然,现在nt系列的服务器已经很成熟了,足以和unix服务器竞争了。但是,它不是免费的,不仅不免费,而且卖得很贵。所以,选择unix/linux作为服务器操作系统,是可以为企业节约很多成本的。

本来,java一设计出来就是可以跨系统运行的,我们完全可以在windows系统下面进行开发,然后让程序运行在linux系统下。但是,毕竟他们还是有少量的差别,比如文件路径。所以,我们在linux系统下构建我们的系统,可以保证最大的兼容性。

2、有程序员的性格决定的:

程序员有一个性格,那就是喜欢不断接触新的东西,我们称之为黑客文化,或者说是玩家文化。在linux系统中,你可以毫不费力的得到很多好东西,包括好的软件、好的代码、好的思想、好的经验。如果你喜欢系统编程,linux自带gcc;如果你喜欢动态语言,linux自带python、perl、ruby;如果你要创建网络应用,linux自带httpd、sendmail等一系列网络软件;如果你要管理项目,linux自带cvs、subversion、automake。总而言之,只要你感兴趣,linux让你这一辈子都不会感到枯燥。

我在使用过linux的命令行界面后,就再也不想去点击鼠标了,我觉得双手不离开键盘,做起事情来会更快。

linux系统本身就有很多的选择,可以选择老牌的red hat,也可以选择新秀的ubuntu,或者suse也行,社区版的fedora也可以,当然,也可以选择像我这样的国产货,支持sun的朋友们当然也可以去使用sun公司的solaris,反正现在也开源了,不要钱了。我要说的就是,red hat的确是把它的丑坚持到底了,说它界面丑的不止我一个。对于国产货,我觉得大家不应该有太多的指责,别人已经解决了最重要的中文字体和qt库的问题,已经给我们提供了一个很好的基础,开发应用软件应该是我们每个程序员的事,开发不出好的应用软件,我们应该扪心自问,而不是骂别个操作系统厂商。

3、由市场决定的:

很简单,懂linux的程序员比不懂linux更贵。不用多说了。

再来说说劣势:

1、windows门槛低,早就有人说过,unix/linux系统产生的是对程序员有利的价值,而windows产生的是对非程序员有利的价值。我们程序员有时候也是非程序员,我们也需要听歌、看碟、炒股票、打网络游戏,这个时候,windows就比linux俏多了。界面的美观是一个方面,应用软件丰富又是一个方面,虽然suse的界面已经做得超过xp了,但是你安一个游戏都要./configure、make、make install半天,还不一定成功,自然是不如windows爽了。

2、美工和网页设计师离不开windows,就拿我自己来说,最喜欢的网页设计工具依然是dreamweaver,虽然在eclipse环境下,依靠htmleditor插件的文本着色和自动提示,我依然可以很快速的编写html和css,但是找不到一款正宗的可视化网页设计工具依然不爽。对于喜欢photoshop的朋友,当然是非windows不可了。

3、软件的测试不仅要考虑到firefox浏览器,也要考虑到ie浏览器,因此,无论如何,也少不了一台windows。

总体来说,我们并不需要将所有的工作都搬到linux平台中,在一个局域网中,只需要一台linux就足够了,其余的都可以是windows,linux服务器主要用来运行subversion,用来进行每日构建和自动化测试,而windows则主要是用来开发,当然,也要作为客户端进行一部分的测试工作。

欢迎大家提出不同意见。

 
 
上一篇: 在jsp环境中如何来配置和使用fckeditor    下一篇: 新手学堂:php服务器变量设置的方法介绍
  相关文档
用jicon装饰你的界面 11-16
使用ejb 3.0简化企业级java开发二 11-17
java实现http服务器之一 11-17
《java编程思想》(第二版)第09章:持有你的对象 11-17
在.net上安装xbike以及操作方法 11-17
java单体测试工具cactus使用指南 11-17
java基础:jsp处理表单的一些经验分享 11-16
如何设计架构 11-17
scjp考试的准备 11-17
java编程应用:使用动态代理实现aop功能 04-09
取余运算符 (%) 11-16
j2ee体系结构设计(2) 11-17
给所有刚学java以及常来此版的兄弟 11-17
c与java在流程控制上的异同 11-17
[portal参考手册]目录 11-17
关于java的分页查询操作技术 11-17
java入门:java中几个关于类的名词解析 01-31
java多线程设计模式详解之四 11-17
勿以恶小而为之:java编程的恶魔 11-16
加密网页破解大法 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息