java还是php?写给纠结的人们

转载自:http://www.72xit.com/486.jsp

其实怎么说,这个标题不是很合适,java和php似乎扯不上什么关系,就其的出身来说,似乎没有什么可比性,但是当网络出现,web2.0时代以来,当web app 热炒,当企业级开发应用大作以来,似乎将他们拉升起来一个高度,进入了一个所谓的水火不容的阶段。

何解?姑且不要对我的伪命题做任何的评论或者判断,这里我们只写给纠结于php还是java的朋友们。

我们来说说php吧,php的前身命名为 Personal Home Page,后来改名为 Hypertext Preprocessor ,从其字面理解,它的路线和风格就很明确了,他就是为网站而生,他简单,易学,易部署迅速被广大站长程序员接纳,这时候传统的CGI已经被抛在了脑后了,目前我使用的web app也就企业的邮箱还在使用CGI,其实我没有了解过CGI,它火的时候我才刚知道电脑张的样子,所以我对CGI的认识还在神秘的阶段。而后ASP的不足和缺点越来越不被接受,这时候PHP一路高歌猛进,就目前的趋势来看,已经稳居个人网站之首,请注意个人网站。
PHP的语法参考了Perl、C语言,而且可以集成在HTML之中,是一个解释型的脚本语言,高效,快速。
应用
PHP是一个应用范围很广的语言,特别是在网络程序开发方面。一般来说PHP大多在服务器端运行,通过运行PHP的代码来产生网页提供浏览器读取,此外也可以用来开发命令行脚本程序和用户端的GUI应用程序。PHP可以在许多的不同种的服务器、操作系统、平台上运行,也可以和许多数据库系统结合。使用PHP不需要任何费用,官方组织PHP Group提供了完整的程序源代码,允许用户修改、编译、扩充来使用。
安全——我想这个才是被关注的根本
据National Vulnerability Database数据显示,与PHP有关的数据库攻击比例为:20% 2004, 28% 2005, 43% 2006, 36% 2007, 35% 2008 and 32% 2009[32]。其中很多的漏洞都可以通过远程操作完成,如:黑客可以通过网络连接攻击服务器,达到盗取或毁坏数据,发送垃圾邮件或进行分布式拒绝服务攻击。但是随着更多的关注,PHP也变得越来越安全了。
这样看起来似乎PHP已经完美了,但是
PHP官网被黑事件
2010年12月17日,PHP代码“贡献者名单”中被加入“Wolegequ Gelivable”字样(中文含义“我勒个去 给力”),约半小时后被删除。2011年3月19日,PHP官方发布声明指出,黑客可能是通过wiki.php.net作为入口攻击了代码系统。并且,官方已经检查过自版本5.3.5以来的代码提交,并没有发现恶意内容。但官方同时表示,尚未完全掌握黑客发动本次攻击的具体细节。
如此看来,天朝的极客们(我们称之对技术狂热的追求者为“极客”)是十分的 Gelivable !
我个人认为PHP成为霸主的根本性武器是

  • 速度、速度、速度! 当然他是针对ASP来进行比较的。
  • 高级内存管理 ,不会存在ASP的问题
  • MySQL使PHP更精彩

这是我的个人愚见,最终要的是PHP可以部署在LAMP甚至现在的LNAMP环境上,他们都是免费的,是的,从前到后都是免费的,再也不要为微软的版权费伤神了。这是我认为PHP之所以现在统治网站的原因,同时越来越多的人正在加入进来,在以后的前途仍然不可估量。所以,我也很喜爱php,也同样送给希望进入PHP大家庭的朋友,来吧,想就去做!,看看越来越多的著名的大型网站(例如Facebook、Mediawiki等)都是基于PHP的,而成功的Java网站却寥寥无几!
Just do it!

下面来说说这个伪命题的另一个主角(java)
先来看看java的发展史

1995年5月23日,Java语言诞生
  1996年1月,第一个JDK-JDK1.0诞生
  1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
  1996年9月,约8.3万个网页应用了JAVA技术来制作
  1997年2月18日,JDK1.1发布
  1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
  1997年9月,JavaDeveloperConnection社区成员超过十万
  1998年2月,JDK1.1被下载超过2,000,000次
  1998年12月8日,JAVA2企业平台J2EE发布
  1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
  2000年5月8日,JDK1.3发布
  2000年5月29日,JDK1.4发布
  2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
  2001年9月24日,J2EE1.3发布
  2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
  2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
  2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
  2006年12月,SUN公司发布JRE6.0
  2010年9月,JDK7.0已经发布,增加了简单闭包功能。

java的其他特性不多说,单单说说
安全性
Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
以及java的 高性能的
与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
现在看看统计,java任然雄踞榜首,可见对于java的喜爱的人还是很多的,但是不得不说java是在太难学了,想要掌握他真的不是那么简单的。
java在这十几年的发展中俨然在众多开发者心中的地位就如“屠龙刀”、“倚天剑”。
那么你对java 很感兴趣的话,请想一下:
  

    • 你对学习Java是否有兴趣?

  

  • 你是否能静下心来坚持不懈地学习?

你觉的你可以的话,你是否有毅力学习J2EE,你需要知道java相关周边,诸如:Spring WebWork Struts Hibernate Quartz Velocity IBATIS HSQLDB Liferay 等等 等等 等等等。
这也许就是大家望而怯步的一个原因吧,一个人学习太难了,似乎java就是一个怪物,即便在服务器部署方面也是变态至极。
但是不得不说,还是会有越来越多的人热衷这个语言,他的魅力在没人人中都是不同的。同样,我也热爱java,并从事这方面的工作,你要是愿意进入java这个大家庭,也同样欢迎你。

其实说了这么多,并不是要让语言分出一个高低贵贱,或者说孰优孰劣,语言就是语言,所谓存在即合理的原则,他们两个的前途都是不可估量的。或许你说在网站架设上php无疑是个霸主,而java却连一个像样的网站都没有,但是对于企业级来说,J2EE却和.net针锋相对,似乎并没有php的方案放在里面。这就是各有专长吧,大家不必纠结于那个更NB一些,其实没有最NB,只有更NB,哈哈。
我的理解是,说php比不上java的都是java程序员,说java比不上php的都是php程序员,其实无论怎么样比较,都是不公平的,就像人一样,总不能拿着你的强项和别人的弱项比吧,还是务实一点,只要能解决问题,就是好方案,无论你精通哪一个,都是牛人,如果你是大师,就不会拘泥于哪个语言比哪个语言好,而是那个方案更好了!

时间: 2024-08-17 14:33:02

java还是php?写给纠结的人们的相关文章

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

java并发读&写文件

最近在看Brian Goetz 的<<Java并发实战>>,这本书有两个版本,电子工业出版社的译本很糟糕,建议使用机械工业出版社出版出版的书籍. 在看到第三四章的时候突然想到了多线程读写文件,同时遇到一些书中没有的问题 1, 如何保证组合对象的安全性? 2, 如何判断不变性的约束条件 3, 如何不通过synchronized关键字和锁进行同步处理? 下面是一段代码, 用来从source 读取数据,通过多线程写入target文件中 思路: 1, 如何read/write文件? 2,

JAVA读、写EXCEL文件

采用jxl.jar包,网上下载,百度一下到出都是.希望可以帮助到大家. 接下来直接贴代码: <span style="font-size:18px;">public List getValue(String fileName){ String str=ExcelOparations.readExcel(fileName).trim(); String[] str4n= str.split("\n"); List list1 = new ArrayList

c++ c# java 调用 c++ 写的dll

1. vs 中新建win32 dll 项目   testdll 添加实现文件       test.cpp #include "stdafx.h" #include <iostream>using namespace std;int Add(int plus1, int plus2){ int add_result = plus1 + plus2; return add_result;} 添加模板定义文件 LIBRARY "testdll"EXPORTS

java:IO-读写大文件

import java.io.*; class Test { public static void main(String args[]){ FileInputStream fin =null; FileOutputStream fout = null; try{ fin = new FileInputStream("e://d/from.txt"); fout = new FileOutputStream("e://d/to.txt"); byte [] arr

用java的swing写了个图片标注工具

功能说明: 1 鼠标单击:选取裁剪区域 2 鼠标双击:选取裁剪区域,并把裁剪区域保存为文件,同时把区域中心点的坐标保存 3 打开图片:从某个文件夹打开图片并显示,同时把该目录的所有图片的路径载进来.这个功能主要是针对这么种情况, 假如处理某个文件夹的图片集,在某一张终止了或者暂停了,下一次要从这种图片开始. 4 保存坐标:把裁剪区域保存为文件,同时把区域中心点的坐标保存 5 打开目录:把该目录的所有图片的路径载进来. 6 下一张:展示下一张图片. 常见用法: 1 "打开目录",这时会将

java访问PHP写的webService的方法—基于axis框架 .

java访问PHP写的webService的方法—基于axis框架 http://blog.csdn.net/longxia1987/article/details/6435764

java代写,java程序代写,代写java,java编程代写

java代写,java程序代写,代写java,java编程代写 我们5人Team都是来自于国内一线互联网公司的高级工程师,毕业于顶尖CS院校,已经接编程代写达2年时间,阵容详细介绍见此 学生来自于美.澳.加.英.中国含中国香港.中国澳门.中国台湾,接单数量近1000单 这里有我们的接单截图记录,可以看到我们的高效.诚信.靠谱:代写成交截图 联系方式 加之前务必了解价格详情:价格详情 有详细价格范围 防止浪费时间 精力有限,仅接学生作业,不接社会需求!不接社会需求! 不接[深度学习].不接[图像处

java图形界面写个小桌面,内置简单小软件

一.做个这样的效果,双击图标打开相应的应用 二.主界面类,使用JavaSwing的JDesktopPane类创建这个桌面 package com.swing; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.event.MouseAdapte