在我刚开篇写这一系列随笔的时候,就有人问:在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则主要是用来开发,当然,也要作为客户端进行一部分的测试工作。
分享到:
相关推荐
### Linux环境下实现Java调用Windows环境下的Matlab函数 #### 一、所需条件及说明 为了实现在Linux环境中通过Java程序来调用Windows系统下的Matlab函数,首先需要确保满足以下条件: 1. **Windows环境下**: - ...
本文将详细讲解如何在Windows与Linux环境下进行JAVA开发环境的搭建,为读者提供一份详尽的操作指南。 #### 一、Windows环境下JAVA开发环境的搭建 ##### 1. 下载与安装JDK - **下载**:访问Oracle官方提供的下载...
windows开发环境和linux生产环境下配置opencv
在 Linux 环境下搭建 Java 开发环境主要包括 JDK (Java Development Kit) 和 IDE (Integrated Development Environment) 如 Eclipse 的安装。 ##### 安装 JDK 及 Eclipse - **准备工作:**在虚拟机或物理机上安装好...
然而,在不同的操作系统上开发和部署Java应用程序,仍需考虑特定环境下的配置与优化,Linux作为服务器端应用的首选平台之一,其下进行Java开发有着独特的优势和挑战。 #### 搭建Linux下的Java开发环境 1. **安装...
RXTX是Java平台上一个开源的串口通信库,它为开发者提供了在Linux和Windows操作系统下进行串行通信的能力。本文将详细探讨如何使用RXTX进行Java串口开发,以及在开发过程中可能遇到的问题及其解决方案。 首先,我们...
这意味着我们将会有一个JAVA程序,它可以在两种主流操作系统环境下运行,即LINUX和WINDOWS。这通常涉及到跨平台编程,JAVA因其“一次编写,到处运行”的特性,成为了理想的候选语言。开发者可以利用JAVA的Swing或...
JDK(Java Development Kit)是Java开发工具包,包含JRE(Java Runtime Environment)和编译器等开发工具。JRE是Java运行环境,包括Java虚拟机(JVM)和运行Java程序所需的类库。移植项目时,需要确保Linux服务器...
Java获取Linux服务器上的IP操作是Java开发中的一项重要任务。然而,在Linux服务器上获取IP地址却存在一些问题。在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux服务器上的网络接口、回环接口、...
在Linux环境下,使用Java Swing开发的应用程序通常被打包成可执行的jar文件,便于分发和执行。然而,为了更好地适应Linux系统,尤其是国产化操作系统,开发者可能希望将jar包进一步封装成DEB(Debian Package)...
Linux下使用Java调用Hikvision设备网络SDK使用指南涉及的知识点相当丰富,本指南主要围绕...通过本指南,开发者能够顺利在Linux系统下使用Java调用海康威视的设备网络SDK,实现相关设备的功能开发和抓图项目的需求。
在Windows操作系统上安装Linux虚拟机,以及在Linux环境中配置GIS(Geographic Information System)开发环境,是许多开发者和GIS专业人士的常见需求。以下是一个详细步骤的指南。 首先,我们需要了解安装Linux...
### 使用JDK、Eclipse、MinGw在Windows环境下搭建Linux环境进行C/C++开发的知识点 #### 一、概述 在Windows环境下搭建一个能够支持C/C++开发的环境,通常需要安装一系列的软件和配置相应的环境变量。本文将详细介绍...
对于程序员而言,Linux系统内置了多种编程语言和开发工具,如gcc、cc、C++、Tcl/Tk、Perl、Fortran77等,这些工具极大地便利了软件开发过程。 #### 多用户多任务特性 Linux系统继承了Unix的多用户多任务特性,允许...
在Windows、Linux和MacOS上安装和配置OpenCV与Java结合使用,可以通过一系列的步骤来完成。 首先,安装OpenCV for Java之前需要确认Java的运行环境已经安装在你的系统上。由于计算机视觉应用通常对性能要求较高,...
总之,Java FTP工具类为开发者提供了便捷的文件传输功能,通过封装FTP协议,简化了在Windows和Linux环境下的文件操作,使得跨平台开发更加高效。在使用时,根据具体的业务需求,可以选择合适的方法进行文件的上传、...
JAVA视频操作的最常用工具包的linux开发库,支持在linux下java调用ffmpeg进行视频操作、转码、截图等操作。如果你自己编译、寻找库费了很长时间而不成功,那么,希望这个资源能够帮到你。 里面的jar及linux动态库,...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。...无论是在Linux还是Windows环境下,选择免安装的压缩包形式都可以快速搭建起开发环境,从而更专注于应用程序的开发工作。
Java开发环境是软件开发者在Linux操作系统上进行Java编程的基础,JDK(Java Development Kit)是Oracle公司提供的Java语言开发工具包,它包含了编译、调试、运行Java程序所需的所有工具和库。本压缩包“Java开发环境...
JAVA 获取网卡物理地址(Windows 和 Linux) 在 Java 中获取网卡物理地址是一项常见的需求,特别是在开发网络相关的应用程序时。网卡物理地址,也称为 MAC 地址,是一个唯一的识别码,用来标识网络设备。今天,我们...