对技术的一点点看法
那个C++写的网络数据包捕获分析的程序终于告一段落了。因为学校明年的教学安排有Java程序设计,再加上去年C++的教学方式让我到现在还心有余悸,所以我觉得还是提前翻翻Java的基础知识比较好,免得到时候再一次被动。
C++虽然只是学了一点点皮毛,但是OOP的基础概念之类的东西还是知道一些的。我在看Java基础的同时依旧在复习C++。这两种语言实现OOP的方式不尽相同,这样一边比较着一边辩证学习倒也颇有乐趣。
相较于Java,窃以为C++确实在对OOP的支持上确实略有逊色。我还是坚持自己以前的看法,即C++是大杂烩式的语言,以至于很难把C++归到哪一类。至于C++和OOP的关系,窃以为只能说是C++提供了一些特性,这些特性在一定程度上支持面向对象编程罢了,而不能说C++是一门OOP语言。C++的确是一门没有完全成熟的语言,很多所谓熟悉C++的人不过是在用C++的语法在写C语言程序罢了。就像Linus说的那样,“C++是一门糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极容易产生彻头彻尾的垃圾(total and utter crap)”。
我这么说并不是我不喜欢C++而找茬,相反,我个人很喜欢C++,但是我不掩盖C++的确存在的不足。我向来不认同说某种语言比某种语言好的论述,因为这要分情况来研究。假如语言是工具,我们总不能说榔头总是胜过锯子吧?这得分情况讨论,不是吗?
好了,不谈这些会挨喷的话题了,毕竟对技术的看法都是个在人学习和理解的基础上产生的,不同的环境和不同的学习历程就会有不一样的看法。我们不可能强求别人认可自己的观点,也没有必要非得去争个脸红脖子粗,没意义的,看法也不过就是看法么。
上面的话各位看官批判着去看就好了,貌似我从很早就学会了审视的去看别人的文章,有时也刻意的去“找找茬”。不过我们真应该学会批判着去看待技术类文章,和作者意见相同或者相左没有什么大不了的,学会自己思考才是最关键的。我喜欢那种独立思考之后再和别人的思维碰撞的感觉,方法上孰优孰劣倒是退居其次,重要的是通过这种方式,自己能学到新的思路和方法。
毕竟年关将近,只有零散的时间去研究技术。我们就不谈具体的技术细节了,来说说我最近做项目的一些感慨吧。再次声明,我毕竟在这一行阅历有限,谈到的不过是自己这两年学习的感触和一些方法的总结。这些方法不见得适用于任何人,也不见得每个人都能认同我的看法。不过即使意见相左,您也没必要非得和我争个青红皂白不可,您批判着看就可以,哪怕是全盘否定都行,我向来也不愿意在这些问题上浪费时间。



