JAVA足够简单,但作为一个初学者来说,那齁老长的主方法和50个左右的关键字一下子就让人晕头转向了。我当初看到JAVA主方法的第一反应是,还是去学C语言吧,主方法干净,整洁,再加上我经常听到说学编程入门先学C语言,这给了我一个错觉,就是C语言是最简单的变成语言,后来才发现,其实并不是这样的。
以前总是认为只要学会了一门编程语言就能想干什么就干什么,就好像可以在计算机的世界里做任何事情,后来发现,软件毕竟是软件,终究需要硬件的支持,如果硬件没有给你提供这个功能,你就算有再大的本事,你也写不出来。在最初那个没有操作系统的年代,都是基于CPU进行程序开发,一开机就运行相应的程序,后来由于开发的难度大,所以出现了操作系统,来简化编程。现在的编程,都是基于操作系统进行编程,操作系统为你提供了相应的操作接口,你只需要调用即可。而开发人员在开发之中经常会写大量的重复代码,所以为了简化开发,函数库就出来了。
从最初的01编程,到汇编,到C再到JAVA,其实就是一个不停地封装的过程,我们不再去关注底层具体是如何实现的了,所以开发难度就越来越简单了,因此,JAVA比C语言要简单。JAVA开发,是基于JVM进行开发。因为JAVA是运行在JVM上的,JAVA提供了大量的类库供我们使用,所以开发变得非常的简单,最关键的是JAVA提供了自动的垃圾回收机制,开发人员不用再去关注内存分配问题,但即便是这样,依然又出现了大量的开源框架,SSH、MyBatis等,我们又可以简化开发了,到了企业,说不定企业会对框架进行二次封装,我们的开发又简单了...
但是,这样的编程有意义吗?离底层越来越远,每天写着一模一样的重复的代码,IDE自动帮助我们检查错误,Ctrl + Shift + F 自动进行代码排版,自动生成让我们不再去背常用的代码,每天像个机器一样的编程...
我当初为什么学编程,就是为了了解原理,然后学了JAVA之后,感觉没学到什么原理,JAVA写不了操作系统,JAVA写不了病毒,学JAVA不会让你了解操作系统的原理,不会让你明白为什么电脑能够引导你的操作系统,驱动程序到底是什么东西,因为面向对象的封装性,你不用再去关注细节,几乎每个JAVA老师都会说,这是系统提供的类库,你不用去管具体怎么实现的,拿来用就可以了,我们更加不用去关注最为关键的算法问题,这也让我们觉得数学好像和编程没什么关系。
学JAVA到底是为了什么,国内有大量的JAVA工程师的需求,有大量的培训机构,但是,几乎见不到有人能够开发一套自己的东西,开源框架是国外的,编程语言是国外的,操作系统是国外的,数据库是国外的,中间件是国外的,开发工具是国外的,CPU是国外的,显卡是国外的,硬盘是国外的...基本上都是国外的,我们根本不是开发者,我们不过是个使用者,就好像从外国买了一辆进口的出租车到中国来拉客赚钱一样。其实仔细观察了一下,我的电脑上,基本上没有国内的产品,就连一个4MB大小的IDE记事本,也是国外的产品,对360的失望和对腾讯的无耻,不得不让我选择了影子系统,开机还原。
比尔盖茨和乔布斯为了技术在斗争,而国内为了钱想出一套是一套。人工智能渐渐的到来,也许以后不会在需要我们去编写无聊的代码了,而唯一能够存活下来的,就是那些了解原理的开发者。
对于JAVA这种语言来说,我始终认为,不想了解原理的程序员不是好程序员,不想写框架的JAVA程序员不是好JAVA程序员,只会用,为了钱,我觉得你可以去开公交车,现在的年轻人不都喜欢秀车么。
JAVA只是一个开始,并不是结束,还好JAVA并没有完全的封装,native方法给了我们无限的可能,我们还是有机会去编写自己的底层操作代码,而要做到这些,C/C++,汇编,那是不可缺少的,越来越多简单的新的编程语言出现了,然而我没有兴趣,只有汇编,C/C++我认为才是永远不朽编程语言。