海边沫沫

相濡以沫,不如相忘于江湖
posts - 42, comments - 477, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
  在我刚开篇写这一系列随笔的时候,就有人问:在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则主要是用来开发,当然,也要作为客户端进行一部分的测试工作。

  欢迎大家提出不同意见。

评论

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-19 22:56 by 人在旅途
一般的项目不可能只有自己一个人来搞,而是一个小组共同开发。用不用linux还不是自己想用就能用的

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-19 23:02 by 千里冰封
要完全用LINUX来工作还是有点难度的

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-20 09:42 by 西滨
对说的劣势不同意啊,我用了差不多3个月ubuntu了,唯一make install的只有eva,那是等不及升级了,其他的用deb就很爽了;我不用可视化的网页编辑器没有什么好说的;如果只是测试用,Linux下Wine+IE已经可以脱离Windows了,实质上,Wine+IE连大多数的网上银行都可以搞定了,除了bt的招*银行,连虚拟机里的Windows都上不了。

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-20 14:01 by 海边沫沫
@西滨
看来兄台是个高人,你在Linux平台的应用领域比我广泛多了。
给我推荐几个Linux平台下的游戏吧。

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-20 19:18 by 千里冰封
在linux下面用wine确实是个好主意,呵呵

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-20 21:46 by 彭俊
一口气读完了8篇 呵呵 挺爽。
最后两篇——框架 和 window的比较有点不贴主题。
linux中与java开放方面的内容还很多呢?希望看到这个系列更多的文章。

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-09-23 14:03 by 轩朗=maninred
编码呢?Linux下默认就是utf-8的编码,windows下很多的乱码问题就是gbk导致的。如果怀念windows可以在Linux 用wine来运行windows的程序。中文支持最好的话,并不是红旗,是Ubuntu。

再说,现在的Linux的图形界面哪里会丑?如果加上了compiz或Beryl的效果,是比Vista还要绚丽很多的。

还有,你也挺会扯的,把框架也扯到Linux下的java开发。

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2007-10-15 12:46 by RaviLi
八篇我算都读了,不简单。
博主以后出本书得了,呵呵

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2008-01-17 11:09 by 小狗钓鱼
八篇一口气看完了,怎么没看见有能说centos呢?郁闷中..............

# re: Linux环境下的Java开发(八):Linux和Windows的比较  回复  更多评论   

2008-01-17 21:10 by 海边沫沫
@小狗钓鱼

我找到了一个网站www.centospub.com
里面有CentOS的详细介绍。我一看就喜欢上了。多谢你给我介绍了一个这么好的东西。

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-10-04 19:25 编辑过
 
 
相关链接:
网站导航: