对Java的一点看法

这段时间没事的时候写写Java,当然,工作还是用C#,虽然在很多资深Java人士看来,还远远不够.但说实话,我对此不以为然.能解决问题的东西,其实与语言本身是没有多大关系的.我也一直想写一些编程要点学习系列的东西,但因为比较懒,一直都是只有想法,没有行动(后面应该会写微笑).下面是对Java的一点看法,也希望大家指正(这篇文章主要是写给那些想多了解几门语言,同时没有语言控的同仁):

1)Java 真正的优势不在于其技术和成本优势,而在于其开源和跨平台理念.
  从语言技术本身而言,Java跟C#比没有任何优势,毕竟C#(包括Dotnet体系)别人是后来者,而且深度借鉴了很多语言的长处。而对于一些框架性的东西,一些设计模式来说都是与语言无关的,你能做,别人也能做。C#虽然在语言上占有一定优势,但这并不等于在技术上就比Java好,因为事物往往是两面性的,长短也是相对的。因此在技术上,Java和C#的差异其实可以忽略不计。
  成本的比较其实是非常难的,但从天下没有免费的午餐来讲,Java并没有本质上的成本优势,因为让你盗版(微软的策略)和开源策略(低级的可以免费用,高级的或者商业的多要收费)其本质上有异曲同工之妙(大家可以思考一下),而Java的开发速度要慢些,人力成本相对较高,都会推高整个项目的成本。
  而Java的优势其实在于开源(不等于免费)和跨平台的理念,实际上真正能不能跨平台,需不需要垮平台,是不是真的都是免费的,其实都不是关键。关键是这种理念给人的一种预期,不要小看这种理念所带来的预期,作用大着呢。为什么呢?其实这就是人性,人其实是感性和理性的混合体,而且理性并不是第一感的,也就是说大部分人的感性多于理性。在这种情况下,理念的作用就非常大,因为理念给人的作用多是感性的。就拿跨平台来说,如果理性的分析一下,你会发现,除了少数应用,大多数(至少80%以上,Web应用就更不用说了)并不需要跨平台(何况就是跨平台,你其实还得安装一个虚拟机,虚拟机本身没法跨平台的);开源也是一样的道理,收费的就不讲了,因为收费的开源就是公开让你盗版。免费的开源看起来很美丽,也确实有利可图,但免费又好用的东西其实很少(这其实也是利益决定的),很多免费的东西都同时有收费的版本,免费的能用,但没有保障,而且功能一般都有限,你真正做商业应用,选择收费的版本的概率要大很多(至于为什么,大家可以思考)。这种策略其实就是一种利用人爱贪小便宜又怕事的心理。这不Oracle公司对JVM也开始采用这种策略。本质上来讲,免费是违背人性而又符合人性的(人性的贪婪),其实就是都希望别人免费,而希望自己的收费。但最终都是要付出的,有付出才有收获嘛。
  开源和免费同时带来了另外一个问题,就是Java体系的派系林立,导致各种框架,平台林立,各种名次概念泛滥,这无形中增加了学习成本和移植成本。说实话,Java之所以比C#难学,根本点就是在这里,基础的学习都不难,但你要搞定这些框架和平台,就比较麻烦,因为这些框架和平台本身并不是通用的(本质上,这些公司跟微软一样,都有自己的利益考虑),而且Java的框架和平台非常喜欢配置化,很多东西喜欢拐弯抹角,而且这种配置化往往跟框架和平台是密切相关的,这就对学习和使用增加了很多难度。在这里,也不是说配置化不好(配置化的好处也还是很多的),但凡事都要讲个度,因为一旦走向极端(完全配置化和零配置),我们就往往会陷入反28定律。

  当然,在这里我并不是说开源和免费不好,也不是批评Java体系,仅仅是就事论事,因为作为程序员,需要理性的看待这些东西。

2)编程语言就是一个工具
 编程语言就是一种工具,当然,多了解一些工具总不是坏事。用熟一门工具,再学另外一门工具也不是很难的事情。当然,学习语言不要纠结于语法本身,能写出系统,解决问题就行。

3)学习Java要避免纠缠于配置化细节,了解其本质后,不需要搞得太细,因为每个框架和平台都不相同,真正用的时候找个手册即可。当然,自己也可以学习别人用配置化来解决一些问题的思路。

 

PS:其实人性是复杂的,并不完全是贪婪和懒惰这么简单。  

PS:理念会变成你的感觉,多了就会变成潜意识,好听点是一种营销手段,说白点就是洗脑.乔布斯深谙此道,中国的360周也深谙此道....深谙此道的且有行动力的基本都会成功.政治上就更不用说了.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值