站长中国
设为首页 | 帮助中心

站长论坛 站长下载
您所在的位置: 站长中国 > 新闻资讯 > 电子商务 > 商务评点 >  正文

新闻背后:看Java和动态语言的两极分化
CSDN  2007年10月22日15:24:20  评论(0条) 字体:[ ]
相关热点:语言 动态 背后 新闻 Java 开发 PHP 例如 应用 基于 网站
日前,CSDN翻译自国外博客的一文:为什么大部分大规模网站不是用Java写的?引来很多网友的关注和评论,而国外的原文:Why most large-scale Web sites are not written in Java亦在国外引发了激烈的争论。

为此记者采访了纯月(CSDN网名),其实在较早的时间纯月就关注了原文并在个人博客中做了简单点评。

记者:作为Java开发者,您是否认同原文“most large-scale Web sites are not written in Java”这个观点,能谈谈原因么?

纯月:首先我认为《Why most large-scale Web sites are not written in Java》这个标题是原文作者有意而言之,目的是为了吸引人的眼球,引发大家的讨论。其次作者在文中列出的实例站点基本都是一些内容管理系统,它们不需要JEE庞大的体系结构,因此使用LAMP架构是一个明智的选择。但这些网站并不能代表“大多数大规模网站”。

金融、电信等行业以及一些大型电子商务网站例如Ebay,Amazon等仍然是基于Java的,这些公司有大量的资金可以投入硬件和购买服务,因此能够方便的构建具有高伸缩性的负载平衡,应用集群,数据库阵列等方案。

记者:文中所列举的网站不同于传统门户网站,是互联网的后起之秀,多带有新一代互联网的气息。从中些许可以看出网站架构语言的趋势,这是否因为着未来使用Java的网站会越来越少?

纯月:现在很多新兴的网站通常最初由一个或几个人出于兴趣开发,由于受资金限制,更倾向于选择PHP,Ruby等快速开发语言和免费的LAMP架构,这些网站通常是读大于写,无需复杂事务,当网站访问量增大时,可以通过在应用层做缓存,实现负载平衡或数据库分区(例如Shards)等方法来实现伸缩性。

记者:文中的网站多基于PHP,Python,Perl,Ruby等脚本语言,您认为相对于Java主要有哪些优势?

纯月:PHP,Python,Perl,Ruby等脚本语言相对于Java主要有以下几个方面的优势:

l 非常易学,开发速度快。而基于Java或JEE的应用学习难度相对较高,开发,测试和部署Java应用速度相对较慢,通常对开发用机的性能要求比较高。

l 国内外有很多成熟的CMS(例如Mambo),Forum(例如Phpbb,Discuz)都是基于PHP开发的,并且都得到了广泛的应用。

l PHP虚拟主机非常多,而且价格便宜。相对而言Java的虚拟主机就要昂贵的多。

因此我认为,在内容管理领域的网站开发中,脚本语言仍然会大行其道。

记者:“脚本语言仍然会大行其道”,在这种情况下,您认为Java和脚本语言各在哪些领域发挥哪些作用呢?

纯月:随着Java应用的深入,人们渐渐开始不再把Java作为万金油。Java在Web开发上的确不具有明显的优势,Struts,JSF等框架相比基于脚本的语言增加了开发复杂性,很多开发者开始回到基于JSP的简单MVC2+持久层的方案。甚至在其他表现层上,例如桌面应用中Java都不具有优势。而Java和JEE更适合开发企业后端系统,例如消息中间件,ESB等。

此外,在金融和电信以及ERP和电子商务等领域,相比基于内容管理的网络公司他们对业务系统需要更高可靠性,容错性来保证交易事务成功。因此金融,电信等行业以及企业选择ERP时,更倾向于选择成熟的开发商,成熟方案和成熟产品,而非单单选择某种语言,技术,或一个应用服务器。例如IBM,SAP,Weblogic等大型软件开发商卖的都是整套的实施方案,从行业咨询到流程优化重组,从软件到硬件,从数据库到应用服务器,从开发部署到大规模部署的服务等等。而这些软件商的主流软件产品都是基于Java的。

记者:目前Java开发着仍是语言开发者种比例最大的人群,您认为在动态轻便的脚本语言越来越受欢迎的情况下,开发者是否应该学习一门动态语言呢?

纯月:我个人很鼓励Java程序员尝试拥抱PHP,Python,Ruby等脚本语言,让自己在开发时能多一种选择。

一方面,实践证明,基于LAMP架构作为中小规模应用的架构非常稳定。如果你要开发的网站或者基于Web管理系统是相对简单的基于数据库的应用,无需复杂的事务逻辑、持久层和消息总线,LAMP是一个不错的选择。

另一方面,一些Java应用服务器也开始支持PHP,例如Caucho,它使用Java重新实现了整个PHP编译和解释器。这样可以让程序员在享受PHP快速开发的同时,也享受Java应用服务器带来的稳定和伸缩性。

记者:谈到这里,对于Java开发者学习脚本语言并结合实践这方面,能否给些建议?

纯月:由于PHP和Java语言都属于C语系,所以对于Java程序员来说学习PHP没有任何难度。但是Java程序员应该站在更高的层次来学习PHP,即把Java优秀的设计模式引进到PHP中,我们不建议Java开发者使用一些现成的PHP框架,例如Cake Framework等等,而是尽量构建自己的简易的MVC2,模板引擎,标签库,工作流等等。此外PHP中还有很多优秀的开源框架,例如Pear,ADODB,JPGraph等可以利用。

最后,我们提倡程序员根据应用的具体情况选择合适的方案,例如在系统开发时,可以在一个应用的不同部分选择不同的技术,例如后端事务处理选用Java,前端Web展示层选用PHP/AJAX,桌面客户端选用VB,嵌入式客户端选用C,客户端和后台通过Webservice技术实现交互。

此外,程序员在关注编程语言的同时,更应该树立一种系统全局观,把安全和性能这两个因素通盘考虑。在安全上,关注程序是否能够防止SQL注入,是否能够防止暴力破解登陆口令和DDOS攻击,今后能否方便的集成到统一身份认证或单点登陆系统中。

在性能上,Web开发只否实现了SEO和缓存静态页面,业务层的常用数据是否做了内存缓存处理,数据库参数是否做好了充分的优化,今后如果要实现伸缩时采用集群冗余还是数据分区,要充分估计系统内可能遇到瓶颈的地方,一些同步处理是否可以改成异步的等等。【 呐不喊】

纯月简介:擅长JEE领域开发,对企业级系统架构,设计模式,敏捷开发等方面有深入研究。目前任教江苏大学,并兼职从事电子政务和数字化校园的应用开发,主要项目涉及门户,内容管理,工作流,应用数据集成等。2006-2007年度CSDN最受欢迎Blog第二名。

个人博客:http://hi.csdn.net/danny_xcz/profile


责任编辑:

收藏本文 打印 打印本文  推荐本文 告诉好友 投稿 投稿邮箱
    评论加载中…

站长排行

新闻

学院

专栏

盈利

国内各IT企业办公环境揭秘(多图)
阿里妈妈广告卖主全攻略
站长创业源动力 主流站长站赏析
今日上网当心 “自动运行木马变种”
ValueCommerce副总:要帮中国公司开发日
中国青少年电子竞技大赛开幕 奖金超过6
我的网络,我的团队:专访李文明
Discuz!6.0猛将出击 最强论坛程序酷炫
推荐阅读:80年小子的创业道理
搜搜问问抢不了百度知道的饭碗
[揭密网络黄链]中国留学生买凶专破日本
贴吧发帖机使用教程(绝对原创)
网站炒作的常用方法
SQL Server 个人版安装(图文教程)
五大手段确保网络的安全
网站调试之修改后台用户帐号及密码--ac
是站长就可以月赚数千元!
网管用BT的方法对抗BT下载绝招大曝光
代码高手之代码替换
大脚:全程揭秘暴利的Google AdSense账
悬挂阿里妈妈会否被百度惩罚
阿里妈妈是否是中小站长的救世主?
ECSHOP模板制作参考文档
ofzz全栏目风格提供下载
dede4.0 utf-8英文模版
黑色非主流风格
MSN风格 首页+内容页+列表+最终列表
IM中国 首页+栏目+新闻+专题
艰难的走在创业的路上 第一天
简单的浅色风格
经理人必看的十个管理网站
大脚:垃圾站超级赚钱法之二—突破“站
大脚:垃圾站超级赚钱法之——前言
不用SEO取得成功的10个步骤
关于做GOOGLE的五条经验
西联汇款兑付城市查询
迅雷联盟、快车联盟收入对比
Google AdSenser 请远离流量交换计划
Google Adsense每天统计结果稍有提前!
“google搜索”广告加盟265联盟
站长学院  网页设计 建站教程 图形图象 网络编程

Linux办公一条
Linux办公一条
看上去很美!新
看上去很美!新

Linux办公一条龙之组件间的调
浅析Linux系统帐户的管理和审
Linux新手系列之二
在Linux下调整网卡的工作模式
看上去很美!新款Linux系统JDS2
用Linux系统防火墙伪装抵住黑
Linux系统下架设CS服务器的完

新闻线索

如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 13256307008