五千年(敝帚自珍)

主题:【原创】编程心得 -- 荆棘探兴

共:💬198 🌺258
全看分页树展 · 主题 跟帖
家园 热机,自动化这些有所不同

指教不敢当,互相讨论讨论而已,毕竟是论坛,我也常常信口开河。

工科编程的要求我不是太清楚,无法作出评价。关于“用了Java感觉没那么爽”,这个牵涉到个人感觉,如果不知道为了什么具体理由或客观原因而不爽,也很难评价。不过可以猜一下。

第一个原因可能是写个小程序罗里八嗦的import也一大堆,不过这个其实C的头文件也差不多,习惯了就看对方不习惯。不少事情还是一个“不习惯”可以概括的。从C刚转过来的程序员一定对garbage collection这种事情有担心,总觉得会有内存泄漏或者误删的事情出现,没有具体指令总是不放心。可一旦Java的GC习惯了,再去编C程序,那就觉得管理内存都要事事躬亲简直受不了。

还有一个原因大概是,Java现在如果不是最依赖于某个IDE的语言,也一定是其中之一。写C的话,你可以用vi,可以用notepad或emacs等,但是作为一个程序员,你不过是依靠这些文本程序写出程序代码而已,最多让它们自动format,把函数名keyword之类的用不同颜色标出等等的辅助一下,对于程序的正确性,你不会依赖于vi或emacs。Java就不一样了,很少听到有人拿vi或notepad写的,如果只是几个class,那还有可能,如果是几十几百个class,那就极其困难甚至不可能了。于是有一种被IDE牵着鼻子走的不爽感。

还有一种不爽感是Java的typing实在太强,你把long变成int它都不乐意要嚷嚷,从C刚转到Java简直要烦死,更不要说编惯了ruby这样dynamic typing的语言的人了。

最后,Java现在已经不仅是一种语言而是一种平台了。作为一种语言,学会C++的人几乎不用费太大功夫就能学会Java,C++才是真正比较复杂的面向对象的语言。但是你会发现学会作为语言的Java后,你要学的东西还很多,各个标准的package比如java.util或者java.io里的东西都有很多微妙的东西要学,不要说其他第三方的各种包了。UI那部分比如AWT和Swing就更让人头痛(我就基本不懂)。可以这么说,如果只学会了作为语言的Java,那么几乎还什么都没学会……

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河