【注意】本文随时写、随时改、随时发布,非一气呵成,如果您想看更多的内容,请随时关注本文的最新情况。
【注意】本文非教育于人,实则抒心中块垒,各位读者,如果您不苟同本文观点,请一笑飘过,请勿发评论,空谈误国,实干兴邦,您到不如多多学习技术。
本人初学编程以C开始,当时一头雾水,考试结果为不及格,补考通过。吸取教训,狠心学习C++,最后考了八十多分,所以,我常对人说,C和C++没有任何关系。后学校开始JAVA教程,五一回家独自调试出JAVA程序,深感欣慰,也为日后埋下伏笔!究其原因,C和C++从没有上机调试过程序。
读研期间,迷上编程,白天写,中午写,晚上写,好好学习了一番JAVA,持续了半年时光,后来为了考六级,荒废了编程事业。通过长达几年的JAVA学习,我发现了学习JAVA的几个弊端:
(1)相对于C/C++而言,学习JAVA需要学习大量的外围知识。敢问一下,学习JAVA的人,那个没有学习过开源框架Spring,Hibernate,Ibatis,Struct。再问一下,学习JAVA的人,那个没有看过HTML,CSS, JavaScript,ajax?这些外围的知识,将会花费大量的时间和精力,让学习Java的人增大了学习成本,让学习Java的人不能如C/C++人士那样专注。
(2)JAVA真的比C/C++简单吗?的确,JAVA取消的指针的释放和内存的管理,比起C/C++来很容易。但是这种容易是在初入门的时候,随着JAVA的深入学习,你会发现学好JAVA需要大量的外围知识,从上面的外围知识来看,你还认为JAVA真的比C/C++简单吗?
(3)JAVA的GUI好用吗?说句实话,我觉得JAVA的Swing开发比较困难。Delphi只需要拖动控件就可以完成界面,C#只需要拖动控件也能完成界面,VC也能,VB也能,为什么JAVA就没有组件机制呢?连布局都得靠手工敲写代码。(2013年2月20日补充)
(4)学习JAVA的人,你能专注下来吗?学习JAVA的人,你能确定自己的职业目标吗?是否在C/S结构,B/S结构,手机开发徘徊过?学习JAVA的人总是浮浮躁躁的,因为太多与JAVA相关的知识和技术不断的涌现出来:前几年是J2EE,这几年是Android,最近是HTML5技术。
(5)学习JAVA的人你知道它的前世吗?我觉得当你了解了JAVA的前世之后,那么你才能真正的喜欢JAVA,JAVA的起源在百度百科上是这样描述的:James Gosling和其他几位工程师研究开发新技术,瞄准下一代智能家居(如微波炉)的程序设计,SUN公司预料未来科技将在家用电器领域大显身手。从这个描述中,我们可以看到:学习JAVA的时候,一定要把精力放到与内存/机械相关的基本知识点上,如果你单纯的掌握些开源框架的使用,如果你不喜欢使用JAVA搞些底层的东西,这些都是违背JAVA的初衷的。另外,JAVA被推波助澜的时代背景是互联网飞速发展的时期,为了将JAVA数据传递到世界遍地的计算机上,JAVA与生俱来就有了序列化的特性,序列化的性质,我们见的多但是深入了解它的人少。正如linux产生于网络时代一样,其特性是为了适应网络的需要。正如windows产生于办公软件年代,其界面特性也是为了满足当时社会的需求。所以,学好JAVA需要了解JAVA的产生背景,这些背景决定了JAVA的基因所在,特性所依!(2013年2月21日补充)【本文未完,待续】